diff --git a/_states/example.sls b/_states/example.sls
index 55afcba..66da3a0 100644
--- a/_states/example.sls
+++ b/_states/example.sls
@@ -11,3 +11,17 @@
     manilang.share_type_absent:
       - microversion: '2.4'
       - cloud_name: admin
+
+manilang_service_disabled:
+  manilang.service_disabled:
+  - binary: manila-share
+  - cloud_name: admin_identity
+  - microversion: '2.40'
+  - name: cmp2
+
+manilang_service_enabled:
+  manilang.service_enabled:
+  - binary: manila-share
+  - cloud_name: admin_identity
+  - microversion: '2.40'
+  - name: cmp2
diff --git a/_states/manilang.py b/_states/manilang.py
index 964518a..97609c1 100644
--- a/_states/manilang.py
+++ b/_states/manilang.py
@@ -30,6 +30,8 @@
     'set_type_specs': 'manilang.set_share_type_extra_specs',
     'unset_type_specs': 'manilang.unset_share_type_extra_specs',
     'delete_type': 'manilang.delete_share_type',
+    'service_list': 'manilang.service_list',
+    'service_update': 'manilang.service_update',
 }
 
 
@@ -151,6 +153,64 @@
         return _find_failed(name, 'share_type')
 
 
+def service_enabled(name, binary, cloud_name, microversion=None):
+    """
+    Method allows enable service by binary and name.
+
+    :param name:    name of a host where service is running
+    :param binary:  name of the service have to be run
+    """
+
+    ret = {}
+
+    services = __salt__[manilang_func['service_list']](binary=binary, cloud_name=cloud_name)['services']
+
+    # You are able to either enable certain manila-share instance by name@driver
+    # or all existed instances on a node by name
+    if '@' in name:
+        disabled_services = [s for s in services if name == s['host'] and s['status'] == 'disabled']
+    else:
+        disabled_services = [s for s in services if name == s['host'].split('@')[0] and s['status'] == 'disabled']
+
+    if len(disabled_services):
+        for service in disabled_services:
+
+            changes = __salt__[manilang_func['service_update']](service['host'], binary, 'enable', cloud_name=cloud_name, microversion=microversion)
+            ret[service['host']] = {'disabled': changes['disabled']}
+
+        return _updated(name, binary, ret)
+    return _no_changes(name, binary)
+
+
+def service_disabled(name, binary, cloud_name, microversion=None):
+    """
+    Method allows disable service by binary and name.
+
+    :param name:    name of a host where service is running
+    :param binary:  name of the service have to be disabled
+    """
+
+    ret = {}
+
+    services = __salt__[manilang_func['service_list']](binary=binary, cloud_name=cloud_name)['services']
+
+    # You are able to either disable certain manila-share instance by name@driver
+    # or all existed instances on a node by name
+    if '@' in name:
+        enabled_services = [s for s in services if name == s['host'] and s['status'] == 'enabled']
+    else:
+        enabled_services = [s for s in services if name == s['host'].split('@')[0] and s['status'] == 'enabled']
+
+    if len(enabled_services):
+        for service in enabled_services:
+
+            changes = __salt__[manilang_func['service_update']](service['host'], binary, 'disable', cloud_name=cloud_name, microversion=microversion)
+            ret[service['host']] = {'disabled': changes['disabled']}
+
+        return _updated(name, binary, ret)
+    return _no_changes(name, binary)
+
+
 def _created(name, resource, resource_definition):
     changes_dict = {
         'name': name,
