mirror of
https://github.com/ZwareBear/awx.git
synced 2026-04-18 05:51:47 -05:00
Perform json and yaml validation on Job Templates
This commit is contained in:
@@ -1773,6 +1773,21 @@ class JobTemplateSerializer(UnifiedJobTemplateSerializer, JobOptionsSerializer):
|
||||
|
||||
return super(JobTemplateSerializer, self).validate(attrs)
|
||||
|
||||
def validate_extra_vars(self, value):
|
||||
# extra_vars must be blank, a valid JSON or YAML dict, or ...
|
||||
# FIXME: support key=value pairs.
|
||||
try:
|
||||
json.loads((value or '').strip() or '{}')
|
||||
return value
|
||||
except ValueError:
|
||||
pass
|
||||
try:
|
||||
yaml.safe_load(value)
|
||||
return value
|
||||
except yaml.YAMLError:
|
||||
pass
|
||||
raise serializers.ValidationError('Must be valid JSON or YAML')
|
||||
|
||||
|
||||
class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user