diff --git a/.travis.yml b/.travis.yml
index f58cc31..0846964 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,6 @@
+language: python
+python:
+- "2.7.13"
 sudo: required
 services:
   - docker
diff --git a/neutron/client/init.sls b/neutron/client/init.sls
new file mode 100644
index 0000000..81a2000
--- /dev/null
+++ b/neutron/client/init.sls
@@ -0,0 +1,2 @@
+include:
+- neutron.client.resources
diff --git a/neutron/client.sls b/neutron/client/resources/init.sls
similarity index 97%
rename from neutron/client.sls
rename to neutron/client/resources/init.sls
index b4bb7ac..5ec7f0d 100644
--- a/neutron/client.sls
+++ b/neutron/client/resources/init.sls
@@ -1,12 +1,15 @@
 {%- from "neutron/map.jinja" import client with context %}
 {%- if client.enabled %}
 
+include:
+- neutron.client.resources.v2
+
 neutron_client_packages:
   pkg.installed:
   - names: {{ client.pkgs }}
 
 
-{%- for identity_name, identity in client.server.iteritems() %}
+{%- for identity_name, identity in client.get('server', {}).iteritems() %}
 
 {%- if identity.security_group is defined %}
 
diff --git a/neutron/client/resources/v2.sls b/neutron/client/resources/v2.sls
new file mode 100644
index 0000000..3de104d
--- /dev/null
+++ b/neutron/client/resources/v2.sls
@@ -0,0 +1,110 @@
+{%- from "neutron/map.jinja" import client with context %}
+{%- if client.enabled %}
+
+{%- for identity_name, identity in client.get('resources', {}).get('v2', {}).iteritems() %}
+
+  {%- if identity.network is defined %}
+  {%- for network_name, network in identity.network.iteritems() %}
+
+neutron_openstack_network_{{ network_name }}:
+  neutronv2.network_present:
+    - cloud_name: {{ identity_name }}
+    - name: {{ network_name }}
+    {%- if network.provider_network_type is defined %}
+    - provider:network_type: {{ network.provider_network_type }}
+    {%- endif %}
+    {%- if network.provider_physical_network is defined %}
+    - provider:physical_network: {{ network.provider_physical_network }}
+    {%- endif %}
+    {%- if network.provider_segmentation_id is defined %}
+    - provider:segmentation_id: {{ network.provider_segmentation_id }}
+    {%- endif %}
+    {%- if network.router_external is defined %}
+    - router:external: {{ network.router_external }}
+    {%- endif %}
+    {%- if network.admin_state_up is defined %}
+    - admin_state_up: {{ network.admin_state_up }}
+    {%- endif %}
+    {%- if network.shared is defined %}
+    - shared: {{ network.shared }}
+    {%- endif %}
+    {%- if network.dns_domain is defined %}
+    - dns_domain: {{ network.dns_domain }}
+    {%- endif %}
+    {%- if network.is_default is defined %}
+    - is_default: {{ network.is_default }}
+    {%- endif %}
+
+    {%- if network.subnet is defined %}
+    {%- for subnet_name, subnet in network.subnet.iteritems() %}
+
+neutron_openstack_subnet_{{ subnet_name }}:
+  neutronv2.subnet_present:
+    - cloud_name: {{ identity_name }}
+    - name: {{ subnet_name }}
+    - network_id: {{ network_name }}
+
+    {%- if subnet.cidr is defined %}
+    - cidr: {{ subnet.cidr  }}
+    {%- endif %}
+    {%- if subnet.ip_version is defined %}
+    - ip_version: {{ subnet.ip_version }}
+    {%- endif %}
+    {%- if subnet.enable_dhcp is defined %}
+    - enable_dhcp: {{ subnet.enable_dhcp }}
+    {%- endif %}
+    {%- if subnet.allocation_pools is defined %}
+    - allocation_pools: {{ subnet.allocation_pools }}
+    {%- endif %}
+    {%- if subnet.gateway_ip is defined %}
+    - gateway_ip: {{ subnet.gateway_ip }}
+    {%- endif %}
+    {%- if subnet.dns_nameservers is defined %}
+    - dns_nameservers: {{ subnet.dns_nameservers }}
+    {%- endif %}
+    {%- if subnet.host_routes is defined %}
+    - host_routes: {{ subnet.host_routes }}
+    {%- endif %}
+    - require:
+      - neutronv2: neutron_openstack_network_{{ network_name }}
+
+    {%- endfor %}
+    {%- endif %}
+
+  {%- endfor %}
+  {%- endif %}
+
+  {%- if identity.subnetpool is defined %}
+  {%- for pool_name, pool in identity.subnetpool.iteritems() %}
+
+neutron_openstack_subnetpool_{{ pool_name }}:
+  neutronv2.subnetpool_present:
+    - cloud_name: {{ identity_name }}
+    - name: {{ pool_name }}
+    {%- if pool.default_quota is defined %}
+    - default_quota: {{ pool.default_quota }}
+    {%- endif %}
+    {%- if pool.min_prefixlen is defined %}
+    - min_prefixlen: {{ pool.min_prefixlen }}
+    {%- endif %}
+    {%- if pool.address_scope_id is defined %}
+    - address_scope_id: {{ pool.address_scope_id }}
+    {%- endif %}
+    {%- if pool.default_prefixlen is defined %}
+    - default_prefixlen: {{ pool.default_prefixlen }}
+    {%- endif %}
+    {%- if pool.is_default is defined %}
+    - is_default: {{ pool.is_default }}
+    {%- endif %}
+    {%- if pool.prefixes is defined %}
+    - prefixes:
+      {%- for prefix in pool.prefixes %}
+      - {{ prefix }}
+      {%- endfor %}
+    {%- endif %}
+
+  {%- endfor %}
+  {%- endif %}
+
+{%- endfor %}
+{%- endif %}
\ No newline at end of file
