Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hashivault_kv auth_path moved from metadata to inputs #7991

Merged
merged 6 commits into from
Sep 14, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
rename 'approle_auth_path' to 'default_auth_path' & fix kwargs.get
  • Loading branch information
Benoit Bayszczak committed Sep 8, 2020
commit 08c9219f48d850a10e25d541cd32dee1d4f3e416
11 changes: 5 additions & 6 deletions awx/main/credential_plugins/hashivault.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@
'secret': True,
'help_text': _('The Secret ID for AppRole Authentication')
}, {
'id': 'approle_auth_path',
'id': 'default_auth_path',
'label': _('Path to Approle Auth'),
'type': 'string',
'multiline': False,
bbayszczak marked this conversation as resolved.
Show resolved Hide resolved
'help_text': _('The path where the AppRole Authentication method is mounted e.g, approle')
'default': 'approle',
'help_text': _('The AppRole Authentication path to use if one isn\'t provided in the metadata when linking to an input field. Defaults to \'approle\'')
}
],
'metadata': [{
Expand Down Expand Up @@ -126,10 +127,8 @@ def approle_auth(**kwargs):
role_id = kwargs['role_id']
secret_id = kwargs['secret_id']
# we first try to use the 'auth_path' from the metadata
# if not found we try to fetch the 'approle_auth_path' from inputs
# if not found we use the default value 'approle'
auth_path = \
kwargs.get('auth_path', kwargs.get('approle_auth_path', "approle"))
# if not found we try to fetch the 'default_auth_path' from inputs
auth_path = kwargs.get('auth_path') or kwargs['default_auth_path']

url = urljoin(kwargs['url'], 'v1')
cacert = kwargs.get('cacert', None)
Expand Down
4 changes: 1 addition & 3 deletions awx_collection/test/awx/test_credential_input_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def source_cred_hashi_secret(organization):
"token": "myApiKey",
"role_id": "role",
"secret_id": "secret",
"approle_auth_path": "path-to-approle"
"default_auth_path": "path-to-approle"
}
)

Expand Down Expand Up @@ -158,8 +158,6 @@ def test_hashi_secret_credential_source(run_module, admin_user, organization, so
assert cis.metadata['secret_backend'] == "backend"
assert cis.metadata['secret_key'] == "a_key"
assert cis.source_credential.name == source_cred_hashi_secret.name
assert cis.source_credential.approle_auth_path == \
source_cred_hashi_secret.inputs["approle_auth_path"]
assert cis.target_credential.name == tgt_cred.name
assert cis.input_field_name == 'password'
assert result['id'] == cis.pk
Expand Down