tower cred: support credential kind/type for /api/v1/ and /api/v2/ (#36662)

older versions of Tower (3.1) don't have a concept of CredentialTypes
(this was introduced in Tower 3.2).  This change detects older versions
of pre-3.2 tower-cli that *only* support the deprecated `kind`
attribute.

(cherry picked from commit 641f8b4ef6)
This commit is contained in:
Ryan Petrello 2018-02-26 13:12:54 -05:00 committed by Sam Doran
parent 644b116848
commit f0e65cb05a

View file

@ -258,8 +258,16 @@ def main():
org = org_res.get(name=organization)
params['organization'] = org['id']
credential_type = credential_type_for_v1_kind(module.params, module)
params['credential_type'] = credential_type['id']
try:
tower_cli.get_resource('credential_type')
except (AttributeError):
# /api/v1/ backwards compat
# older versions of tower-cli don't *have* a credential_type
# resource
params['kind'] = module.params['kind']
else:
credential_type = credential_type_for_v1_kind(module.params, module)
params['credential_type'] = credential_type['id']
if module.params.get('description'):
params['description'] = module.params.get('description')