Fix tower_* modules **params kwargs (#40137)
* Add cleaning function to handle **params
The cleaning function is only added to tower modules which pass a `**params`
argument as an unpacked dictionnary to the tower-cli method calls.
Fix #39745
* Remove previous code added only for tower_role
In 872a7b4
, the `update_resources` function was modified so that it would clear unwanted
parameters. However, this behaviour is desired for other modules too, modified in
another commit. (see tower_clean_params).
This commit is contained in:
parent
c4536bc827
commit
81de7582d9
4 changed files with 8 additions and 12 deletions
|
@ -45,7 +45,7 @@ def tower_auth_config(module):
|
|||
it will attempt to fetch values from the module pararms and
|
||||
only pass those values that have been set.
|
||||
'''
|
||||
config_file = module.params.get('tower_config_file')
|
||||
config_file = module.params.pop('tower_config_file', None)
|
||||
if config_file:
|
||||
config_file = os.path.expanduser(config_file)
|
||||
if not os.path.exists(config_file):
|
||||
|
@ -57,16 +57,16 @@ def tower_auth_config(module):
|
|||
return parser.string_to_dict(f.read())
|
||||
else:
|
||||
auth_config = {}
|
||||
host = module.params.get('tower_host')
|
||||
host = module.params.pop('tower_host', None)
|
||||
if host:
|
||||
auth_config['host'] = host
|
||||
username = module.params.get('tower_username')
|
||||
username = module.params.pop('tower_username', None)
|
||||
if username:
|
||||
auth_config['username'] = username
|
||||
password = module.params.get('tower_password')
|
||||
password = module.params.pop('tower_password', None)
|
||||
if password:
|
||||
auth_config['password'] = password
|
||||
verify_ssl = module.params.get('tower_verify_ssl')
|
||||
verify_ssl = module.params.pop('tower_verify_ssl', None)
|
||||
if verify_ssl is not None:
|
||||
auth_config['verify_ssl'] = verify_ssl
|
||||
return auth_config
|
||||
|
|
|
@ -134,7 +134,7 @@ def main():
|
|||
name = module.params.get('name')
|
||||
inventory = module.params.get('inventory')
|
||||
credential = module.params.get('credential')
|
||||
state = module.params.get('state')
|
||||
state = module.params.pop('state')
|
||||
|
||||
variables = module.params.get('variables')
|
||||
if variables:
|
||||
|
|
|
@ -222,7 +222,7 @@ def main():
|
|||
module.fail_json(msg='ansible-tower-cli required for this module')
|
||||
|
||||
name = module.params.get('name')
|
||||
state = module.params.get('state')
|
||||
state = module.params.pop('state')
|
||||
json_output = {'job_template': name, 'state': state}
|
||||
|
||||
tower_auth = tower_auth_config(module)
|
||||
|
|
|
@ -87,10 +87,6 @@ def update_resources(module, p):
|
|||
by name using their unique field (identity)
|
||||
'''
|
||||
params = p.copy()
|
||||
for key in p:
|
||||
if key.startswith('tower_'):
|
||||
params.pop(key)
|
||||
params.pop('state', None)
|
||||
identity_map = {
|
||||
'user': 'username',
|
||||
'team': 'name',
|
||||
|
@ -134,7 +130,7 @@ def main():
|
|||
module.fail_json(msg='ansible-tower-cli required for this module')
|
||||
|
||||
role_type = module.params.pop('role')
|
||||
state = module.params.get('state')
|
||||
state = module.params.pop('state')
|
||||
|
||||
json_output = {'role': role_type, 'state': state}
|
||||
|
||||
|
|
Loading…
Reference in a new issue