ovirt_auth: Fix checking of auth paramters (#35512)

This commit is contained in:
Ondra Machacek 2018-01-31 13:47:25 +01:00 committed by ansibot
commit f4c68868ee

View file

@ -173,7 +173,7 @@ ovirt_auth:
ca_file: ca_file:
description: CA file, which is used to verify SSL/TLS connection. description: CA file, which is used to verify SSL/TLS connection.
returned: success returned: success
type: string type: path
sample: "ca.pem" sample: "ca.pem"
insecure: insecure:
description: Flag indicating if insecure connection is used. description: Flag indicating if insecure connection is used.
@ -220,7 +220,7 @@ def main():
username=dict(default=None), username=dict(default=None),
password=dict(default=None, no_log=True), password=dict(default=None, no_log=True),
ca_file=dict(default=None, type='path'), ca_file=dict(default=None, type='path'),
insecure=dict(required=False, type='bool', default=False), insecure=dict(required=False, type='bool', default=None),
timeout=dict(required=False, type='int', default=0), timeout=dict(required=False, type='int', default=0),
compress=dict(required=False, type='bool', default=True), compress=dict(required=False, type='bool', default=True),
kerberos=dict(required=False, type='bool', default=False), kerberos=dict(required=False, type='bool', default=False),
@ -242,12 +242,20 @@ def main():
elif state == 'absent': elif state == 'absent':
params = module.params['ovirt_auth'] params = module.params['ovirt_auth']
url = params.get('url') or os.environ.get('OVIRT_URL') def get_required_parameter(param, env_var, required=False):
username = params.get('username') or os.environ.get('OVIRT_USERNAME') var = params.get(param) or os.environ.get(env_var)
password = params.get('password') or os.environ.get('OVIRT_PASSWORD') if not var and required and state == 'present':
ca_file = params.get('ca_file') or os.environ.get('OVIRT_CAFILE') module.fail_json(msg="'%s' is a required parameter." % param)
insecure = params.get('insecure') or ca_file is None
token = params.get('token') or os.environ.get('OVIRT_TOKEN') return var
url = get_required_parameter('url', 'OVIRT_URL', required=True)
username = get_required_parameter('username', 'OVIRT_USERNAME', required=True)
password = get_required_parameter('password', 'OVIRT_PASSWORD', required=True)
token = get_required_parameter('token', 'OVIRT_TOKEN')
ca_file = get_required_parameter('ca_file', 'OVIRT_CAFILE')
insecure = params.get('insecure') if params.get('insecure') is not None else not bool(ca_file)
connection = sdk.Connection( connection = sdk.Connection(
url=url, url=url,
username=username, username=username,