diff --git a/library/decort_account_info.py b/library/decort_account_info.py new file mode 100644 index 0000000..e98924a --- /dev/null +++ b/library/decort_account_info.py @@ -0,0 +1,108 @@ +#!/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()