add the vault_id to the response payload on the JT launch endpoint

see: https://github.com/ansible/awx/issues/914
This commit is contained in:
Ryan Petrello
2018-01-04 15:13:48 -05:00
parent 6d413bd412
commit 60743d6ba6
2 changed files with 21 additions and 4 deletions

View File

@@ -3646,15 +3646,16 @@ class JobLaunchSerializer(BaseSerializer):
id=getattrd(obj, '%s.pk' % field_name, None))
elif field_name == 'credentials':
if self.version > 1:
defaults_dict[field_name] = [
dict(
for cred in obj.credentials.all():
cred_dict = dict(
id=cred.id,
name=cred.name,
credential_type=cred.credential_type.pk,
passwords_needed=cred.passwords_needed
)
for cred in obj.credentials.all()
]
if cred.credential_type.managed_by_tower and 'vault_id' in cred.credential_type.defined_fields:
cred_dict['vault_id'] = cred.inputs.get('vault_id') or None
defaults_dict.setdefault(field_name, []).append(cred_dict)
else:
defaults_dict[field_name] = getattr(obj, field_name)
return defaults_dict