#!/usr/bin/python DOCUMENTATION = r''' --- module: decort_user description: See L(Module Documentation,https://repository.basistech.ru/BASIS/decort-ansible/wiki/Home). # noqa: E501 ''' from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.decort_utils import DecortController class DecortUser(DecortController): def __init__(self): super().__init__(AnsibleModule(**self.amodule_init_args)) @property def amodule_init_args(self) -> dict: return self.pack_amodule_init_args( argument_spec=dict( api_methods=dict( type='bool', default=False, ), objects_search=dict( type='str', ), resource_consumption=dict( type='bool', default=False, ), ), supports_check_mode=True, ) @DecortController.handle_sdk_exceptions def run(self): self.get_info() self.exit() def get_info(self): self.facts = self.usermanager_whoami_result self.id = self.facts['name'] user_get = self.user_get(id=self.id) for key in ['emailaddresses', 'data']: self.facts[key] = user_get[key] if self.aparams['resource_consumption']: self.facts.update(self.user_resource_consumption()) if self.aparams['api_methods']: self.facts['api_methods'] = self.user_api_methods(id=self.id) search_string = self.aparams['objects_search'] if search_string: self.facts['objects_search'] = self.user_objects_search( search_string=search_string, ) def main(): DecortUser().run() if __name__ == '__main__': main()