Switch identity_group_info module to OpenStackModule

Change-Id: I6e425cad55e7c1c9df44c4f2688c023e5011d2e9
This commit is contained in:
Artem Goncharov
2021-05-20 16:18:55 +02:00
committed by Artem Goncharov
parent 6b3bf3bba0
commit 2c287d754c

View File

@@ -110,48 +110,45 @@ openstack_groups:
type: bool type: bool
''' '''
from ansible.module_utils.basic import AnsibleModule from ansible_collections.openstack.cloud.plugins.module_utils.openstack import OpenStackModule
from ansible_collections.openstack.cloud.plugins.module_utils.openstack import openstack_full_argument_spec, openstack_cloud_from_module
def main(): class IdentityGroupInfoModule(OpenStackModule):
argument_spec = dict(
argument_spec = openstack_full_argument_spec(
name=dict(required=False, default=None), name=dict(required=False, default=None),
domain=dict(required=False, default=None), domain=dict(required=False, default=None),
filters=dict(required=False, type='dict', default=None), filters=dict(required=False, type='dict', default=None),
) )
module = AnsibleModule(argument_spec) def run(self):
name = self.params['name']
sdk, opcloud = openstack_cloud_from_module(module) domain = self.params['domain']
try: filters = self.params['filters']
name = module.params['name']
domain = module.params['domain']
filters = module.params['filters']
if domain: if domain:
try: try:
# We assume admin is passing domain id # We assume admin is passing domain id
dom = opcloud.get_domain(domain)['id'] dom = self.conn.get_domain(domain)['id']
domain = dom domain = dom
except Exception: except Exception:
# If we fail, maybe admin is passing a domain name. # If we fail, maybe admin is passing a domain name.
# Note that domains have unique names, just like id. # Note that domains have unique names, just like id.
dom = opcloud.search_domains(filters={'name': domain}) dom = self.conn.search_domains(filters={'name': domain})
if dom: if dom:
domain = dom[0]['id'] domain = dom[0]['id']
else: else:
module.fail_json(msg='Domain name or ID does not exist') self.fail_json(msg='Domain name or ID does not exist')
if not filters: if not filters:
filters = {} filters = {}
groups = opcloud.search_groups(name, filters, domain_id=domain) groups = self.conn.search_groups(name, filters, domain_id=domain)
module.exit_json(changed=False, groups=groups) self.exit_json(changed=False, groups=groups)
except sdk.exceptions.OpenStackCloudException as e:
module.fail_json(msg=str(e)) def main():
module = IdentityGroupInfoModule()
module()
if __name__ == '__main__': if __name__ == '__main__':