Add module and states for gnocchi
Initial version of the module allows to create/delete/update/list
archive policies and rules.
Also added client states supporting rules and policies creation
Change-Id: I7341dfb26a39275e1a9b55f7a49fd2ace9584612
Related-Prod: https://mirantis.jira.com/browse/PROD-20719
diff --git a/_modules/gnocchiv1/__init__.py b/_modules/gnocchiv1/__init__.py
new file mode 100644
index 0000000..16edda5
--- /dev/null
+++ b/_modules/gnocchiv1/__init__.py
@@ -0,0 +1,33 @@
+try:
+ import os_client_config
+ from keystoneauth1 import exceptions as ka_exceptions
+ REQUIREMENTS_MET = True
+except ImportError:
+ REQUIREMENTS_MET = False
+
+from gnocchiv1 import archive_policy
+
+archive_policy_create = archive_policy.archive_policy_create
+archive_policy_delete = archive_policy.archive_policy_delete
+archive_policy_list = archive_policy.archive_policy_list
+archive_policy_update = archive_policy.archive_policy_update
+archive_policy_read = archive_policy.archive_policy_read
+
+archive_policy_rule_create = archive_policy.archive_policy_rule_create
+archive_policy_rule_delete = archive_policy.archive_policy_rule_delete
+archive_policy_rule_list = archive_policy.archive_policy_rule_list
+archive_policy_rule_read = archive_policy.archive_policy_rule_read
+
+__all__ = (
+ 'archive_policy_update', 'archive_policy_create', 'archive_policy_list', 'archive_policy_delete',
+ 'archive_policy_read', 'archive_policy_rule_create', 'archive_policy_rule_delete', 'archive_policy_rule_list',
+ 'archive_policy_rule_read'
+)
+
+def __virtual__():
+ """Only load gnocchiv1 if requirements are available."""
+ if REQUIREMENTS_MET:
+ return 'gnocchiv1'
+ else:
+ return False, ("The gnocchiv1 execution module cannot be loaded: "
+ "os_client_config or keystoneauth are unavailable.")