Skip to content

Commit ffbb355

Browse files
committed
add API authentication support to multipass_config_get module and handle auth errors
1 parent 3981986 commit ffbb355

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

plugins/modules/multipass_config_get.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,31 @@
88
__metaclass__ = type
99

1010
from ansible.module_utils.common.text.converters import to_native
11-
from ansible.module_utils.basic import AnsibleModule , env_fallback
11+
from ansible.module_utils.basic import AnsibleModule
1212
from ansible_collections.theko2fi.multipass.plugins.module_utils.multipass import Multipass
13-
13+
from ansible_collections.theko2fi.multipass.plugins.module_utils.multipass_api import basic_auth_argument_spec
14+
from ansible_collections.theko2fi.multipass.plugins.module_utils.errors import MultipassAPIAuthenticationError
1415

1516
def main():
16-
module = AnsibleModule(
17-
argument_spec=dict(
18-
key = dict(required=True, type='str'),
19-
multipass_host = dict(type='str',fallback=(env_fallback, ['MULTIPASS_HOST']), aliases=['multipass_url'])
20-
)
17+
18+
argument_spec = basic_auth_argument_spec()
19+
20+
argument_spec.update(
21+
key=dict(required=True, type='str'),
2122
)
23+
24+
module = AnsibleModule(argument_spec=argument_spec)
2225

2326
key = module.params.get('key')
24-
multipassclient = Multipass(multipass_host=module.params.get('multipass_host')).create_client()
27+
28+
try:
29+
multipassclient = Multipass(
30+
multipass_host=module.params.get('multipass_host'),
31+
multipass_user=module.params.get('multipass_username'),
32+
multipass_pass=module.params.get('multipass_password')
33+
).create_client()
34+
except MultipassAPIAuthenticationError as e:
35+
module.fail_json(msg=str(e))
2536

2637
try:
2738
output = multipassclient.get(key=key)

0 commit comments

Comments
 (0)