UNPKG

asl-validator

Version:
174 lines (173 loc) 5.98 kB
{ "$id": "http://asl-validator.cloud/task.json#", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "HeartbeatSeconds": { "type": "integer", "minimum": 1 }, "Resource": { "oneOf": [ { "type": "string", "$comment": "defers validation to the registered formatter", "format": "asl_arn" }, { "type": "string", "$comment": "extension that allows for variable substitution before deployment", "pattern": "^\\$\\{[^\\}]+\\}$" }, { "type": "object", "$comment": "extensions that allows for variable substitution via cloud function", "properties": { "Ref": { "type": "string" } }, "patternProperties": { "^Fn::[A-Za-z\\d]+$": { "type": ["object", "string", "array"] } } } ] }, "TimeoutSeconds": { "type": "integer", "minimum": 1 }, "Type": { "type": "string", "enum": ["Task"] } }, "oneOf": [ { "type": "object", "properties": { "Type": { "$ref": "#/definitions/Type" }, "Next": { "$ref": "common.json#/definitions/Next" }, "End": { "$ref": "common.json#/definitions/End" }, "Comment": { "$ref": "common.json#/definitions/Comment" }, "OutputPath": { "$ref": "paths.json#/definitions/asl_path" }, "InputPath": { "$ref": "paths.json#/definitions/asl_path" }, "Resource": { "$ref": "#/definitions/Resource" }, "ResultPath": { "$ref": "paths.json#/definitions/asl_result_path" }, "Retry": { "$ref": "common.json#/definitions/Retry" }, "Catch": { "$ref": "common.json#/definitions/Catch" }, "TimeoutSeconds": { "$ref": "#/definitions/TimeoutSeconds" }, "TimeoutSecondsPath": { "$ref": "paths.json#/definitions/asl_ref_path" }, "HeartbeatSeconds": { "$ref": "#/definitions/HeartbeatSeconds" }, "HeartbeatSecondsPath": { "$ref": "paths.json#/definitions/asl_ref_path" }, "ResultSelector": { "$ref": "paths.json#/definitions/asl_payload_template" }, "Parameters": { "$ref": "paths.json#/definitions/asl_payload_template" }, "Credentials": { "$ref": "paths.json#/definitions/asl_payload_template" }, "Assign": { "$ref": "paths.json#/definitions/assign" }, "QueryLanguage": { "$ref": "paths.json#/definitions/queryLanguage" } }, "required": ["QueryLanguage", "Resource", "Type"], "additionalProperties": false }, { "type": "object", "properties": { "Type": { "$ref": "#/definitions/Type" }, "Next": { "$ref": "common.json#/definitions/Next" }, "End": { "$ref": "common.json#/definitions/End" }, "Comment": { "$ref": "common.json#/definitions/Comment" }, "Resource": { "$ref": "#/definitions/Resource" }, "Retry": { "$ref": "common.json#/definitions/Retry" }, "Catch": { "$ref": "common.json#/definitions/Catch" }, "TimeoutSeconds": { "oneOf": [ { "$ref": "#/definitions/TimeoutSeconds" }, { "$ref": "jsonata.json#/definitions/jsonata" } ] }, "HeartbeatSeconds": { "oneOf": [ { "$ref": "#/definitions/HeartbeatSeconds" }, { "$ref": "jsonata.json#/definitions/jsonata" } ] }, "Credentials": {}, "Output": { "$ref": "jsonata.json#/definitions/output" }, "Assign": { "$ref": "jsonata.json#/definitions/assign" }, "Arguments": { "$ref": "jsonata.json#/definitions/arguments" }, "QueryLanguage": { "$ref": "jsonata.json#/definitions/queryLanguage" } }, "required": ["QueryLanguage", "Resource", "Type"], "additionalProperties": false } ] }