#!/usr/bin/python # Copyright: ... # ... DOCUMENTATION = r''' --- module: decort_account_info version_added: "2.16" description: See L(Module Documentation,https://repository.basistech.ru/BASIS/decort-ansible/wiki/Home). ''' # EXAMPLES = r''' # ''' # RETURN = r''' # ''' from ansible.module_utils.basic import AnsibleModule, env_fallback from ansible.module_utils.decort_utils import DecortController class DecortAccountInfo(DecortController): MODULE_ARGS = dict( argument_spec=dict( app_id=dict( type='str', required=False, fallback=(env_fallback, ['DECORT_APP_ID']) ), app_secret=dict( type='str', required=False, fallback=(env_fallback, ['DECORT_APP_SECRET']), no_log=True ), authenticator=dict( type='str', required=True, choices=['oauth2', 'jwt'] ), controller_url=dict( type='str', required=True ), id=dict( type='int', required=False ), jwt=dict( type='str', required=False, fallback=(env_fallback, ['DECORT_JWT']), no_log=True ), name=dict( type='str', required=False ), oauth2_url=dict( type='str', required=False, fallback=(env_fallback, ['DECORT_OAUTH2_URL']) ), verify_ssl=dict( type='bool', required=False, default=True ), ), mutually_exclusive=[ ('id', 'name') ], required_one_of=[ ('id', 'name') ], required_if=[ ('authenticator', 'oauth2', ('oauth2_url', 'app_id', 'app_secret')), ('authenticator', 'jwt', ('jwt',)) ] ) def __init__(self): amodule = AnsibleModule(**self.MODULE_ARGS, supports_check_mode=True) super().__init__(amodule) self.id, self.facts = self.account_find( account_name=amodule.params['name'], account_id=amodule.params['id'], fail_if_not_found=True ) def exit(self): self.result['facts'] = self.facts self.amodule.exit_json(**self.result) def main(): decort_account_info = DecortAccountInfo() decort_account_info.exit() if __name__ == '__main__': main()