disallow ask_at_runtime fields for custom credential types

This commit is contained in:
Ryan Petrello
2017-05-02 10:35:32 -04:00
parent bc20fa24f3
commit 61b3f7afb7
2 changed files with 36 additions and 6 deletions

View File

@@ -1823,6 +1823,13 @@ class CredentialTypeSerializer(BaseSerializer):
fields = ('*', 'kind', 'name', 'managed_by_tower', 'inputs',
'injectors')
def validate(self, attrs):
fields = attrs.get('inputs', {}).get('fields', [])
for field in fields:
if field.get('ask_at_runtime', False):
raise serializers.ValidationError({"detail": _("'ask_at_runtime' is not supported for custom credentials.")})
return super(CredentialTypeSerializer, self).validate(attrs)
# TODO: remove when API v1 is removed
@six.add_metaclass(BaseSerializerMetaclass)