From ae1bd9d1e9b40a5e883bb71064e0441302864433 Mon Sep 17 00:00:00 2001 From: Mathieu Mallet Date: Mon, 26 Aug 2019 17:12:41 +0200 Subject: [PATCH] tower_credential: Missing 'kind' attribute (#61324) In the 'tower_credential' module, when the credential 'kind' is set to 'vault', the code expects the other parameter 'vault_id' to be set. Unfortunately, in the module 'credential_type_for_v1_kind' method, the 'kind' parameter is popped, i.e. remove from the module dict of parameters leading to the following error: > Parameter 'vault_id' is only valid if parameter 'kind' is specified as 'vault' Fixes: #45644, #61324 Testing Done: Manually create a playbook with a task as follow - name: Create vault with ID 'bar' exists tower_credential: name: Foobar vault organization: Foobar kind: vault vault_id: bar vault_password: foobar --- awx_collection/plugins/modules/tower_credential.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx_collection/plugins/modules/tower_credential.py b/awx_collection/plugins/modules/tower_credential.py index f43d7f5ab3..a87d76fecb 100644 --- a/awx_collection/plugins/modules/tower_credential.py +++ b/awx_collection/plugins/modules/tower_credential.py @@ -255,7 +255,7 @@ OLD_INPUT_NAMES = ( def credential_type_for_kind(params): credential_type_res = tower_cli.get_resource('credential_type') - kind = params.pop('kind') + kind = params.get('kind') arguments = {'managed_by_tower': True} if kind == 'ssh': if params.get('vault_password'):