Add docker.client.network

This allow to create docker network.

Reclass:
  docker:
    client:
      network:
        monitoring:
          driver: overlay
          opt:
            encrypted: true

Change-Id: Iad3e8fd6f2767caa22852066aa0060ba5044d16b
diff --git a/docker/client.sls b/docker/client.sls
index 6de632b..b7a87eb 100644
--- a/docker/client.sls
+++ b/docker/client.sls
@@ -2,6 +2,9 @@
 {%- if client.enabled %}
 
 include:
+  {%- if client.network is defined %}
+  - docker.client.network
+  {%- endif %}
   - docker.client.container
   {%- if client.compose is defined %}
   - docker.client.compose
diff --git a/docker/client/network.sls b/docker/client/network.sls
new file mode 100644
index 0000000..6fb8d08
--- /dev/null
+++ b/docker/client/network.sls
@@ -0,0 +1,33 @@
+{% from "docker/map.jinja" import client with context %}
+
+include:
+  - docker.client
+
+{%- for name, network in client.get('network', {}).iteritems() %}
+{%- if network.get('enabled', True) %}
+
+docker_network_{{ name }}_create:
+  cmd.run:
+    - name: >
+        docker network create
+        {%- if network.get('attachable', False) %} --attachable {%- endif %}
+        {%- if network.get('internal', False) %} --internal {%- endif %}
+        {%- if network.get('ipv6', False) %} --ipv6 {%- endif %}
+        {%- if network.driver is defined %} --driver {{ network.driver }} {%- endif %}
+        {%- if network.gateway is defined %} --gateway {{ network.gateway }} {%- endif %}
+        {%- if network.iprange is defined %} --ip-range {{ network.iprange }} {%- endif %}
+        {%- if network.ipamdriver is defined %} --ipam-driver {{ network.ipamdriver }} {%- endif %}
+        {%- if network.subnet is defined %} --subnet {{ network.subnet }} {%- endif %}
+        {%- for param,value in network.get('opt', {}).iteritems() %} --opt {{ param }}={{ value }} {%- endfor %}
+        {{ name }}
+    - unless: "docker network ls | grep {{ name }}"
+
+{%- else %}
+
+docker_service_{{ name }}_rm:
+  cmd.run:
+    - name: docker network rm {{ name }}
+    - onlyif: "docker network ls | grep {{ name }}"
+
+{%- endif %}
+{%- endfor %}