diff --git a/awx/main/fields.py b/awx/main/fields.py index 56c390aa8d..9e89d65dba 100644 --- a/awx/main/fields.py +++ b/awx/main/fields.py @@ -499,6 +499,12 @@ class CredentialInputField(JSONSchemaField): v != '$encrypted$', model_instance.pk ]): + if not isinstance(getattr(model_instance, k), six.string_types): + raise django_exceptions.ValidationError( + _('secret values must be of type string, not {}').format(type(v).__name__), + code='invalid', + params={'value': v}, + ) decrypted_values[k] = utils.decrypt_field(model_instance, k) else: decrypted_values[k] = v