UNPKG

asl-validator

Version:
143 lines (142 loc) 4.41 kB
{ "$id": "http://asl-validator.cloud/task.json#", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "Type": { "type": "string", "enum": ["Task"] }, "Next": { "type": "string" }, "End": { "enum": [true] }, "Comment": { "type": "string" }, "OutputPath": { "$ref": "paths.json#/definitions/asl_path" }, "InputPath": { "$ref": "paths.json#/definitions/asl_path" }, "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"] } } } ] }, "ResultPath": { "$ref": "paths.json#/definitions/asl_result_path" }, "Retry": { "type": "array", "items": { "type": "object", "properties": { "ErrorEquals": { "type": "array", "items": { "$ref": "errors.json#" } }, "IntervalSeconds": { "type": "number", "minimum": 0 }, "MaxAttempts": { "type": "number", "minimum": 0 }, "BackoffRate": { "type": "number", "minimum": 0 } }, "required": ["ErrorEquals"] } }, "Catch": { "type": "array", "items": { "type": "object", "properties": { "ErrorEquals": { "type": "array", "items": { "$ref": "errors.json#" } }, "Next": { "type": "string" }, "ResultPath": { "$ref": "paths.json#/definitions/asl_result_path" } }, "required": ["ErrorEquals", "Next"] } }, "TimeoutSeconds": { "type": "number", "minimum": 1 }, "TimeoutSecondsPath": { "$ref": "paths.json#/definitions/asl_ref_path" }, "HeartbeatSeconds": { "type": "number", "minimum": 1 }, "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" }, "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": ["Type", "Resource"], "additionalProperties": false }