Add ability to manage share_types

This patch extends manila.client state to create manila share_types

Change-Id: I1109295152c974378ed775949eb793e320dc8143
Related-Prod: PROD-18221
diff --git a/README.rst b/README.rst
index 5fcede9..e3e4bad 100644
--- a/README.rst
+++ b/README.rst
@@ -92,6 +92,25 @@
               - server2
             glusterfs_volume_pattern: manila-share-volume-d+$
 
+Client usage:
+=============
+
+The `manila.client` state provides ability to manage manila resources.
+
+Manage `share_type`
+
+.. code-block:: yaml
+
+
+    manila:
+      client:
+        enabled: true
+        server:
+          admin_identity:
+            share_type:
+              default:
+                extra_specs:
+                  driver_handles_share_servers: false
 
 More information
 ================
diff --git a/manila/client.sls b/manila/client.sls
index 378f831..b3c33d0 100644
--- a/manila/client.sls
+++ b/manila/client.sls
@@ -6,4 +6,18 @@
     - names: {{ client.pkgs }}
     - install_recommends: False
 
+{%- for identity_name, identity in client.server.iteritems() %}
+{%- if identity.share_type is defined %}
+{%- for share_type_name, share_type in identity.share_type.iteritems() %}
+
+manila_share_type_{{ share_type_name }}:
+  manilang.share_type_present:
+    - cloud_name: {{ identity_name }}
+    - name: {{ share_type_name }}
+    - extra_specs: {{ share_type.extra_specs }}
+
+{%- endfor %}
+{%- endif %}
+{%- endfor %}
+
 {%- endif %}
diff --git a/metadata/service/client/init.yml b/metadata/service/client/init.yml
new file mode 100644
index 0000000..d91f9b9
--- /dev/null
+++ b/metadata/service/client/init.yml
@@ -0,0 +1,6 @@
+applications:
+  - manila
+parameters:
+  manila:
+    client:
+      enabled: true