Describes a source description (such as an OpenAPI description) that will be referenced by one or more workflows described within an Arazzo Description.
-An object storing a map between named description keys and location URLs to the source descriptions (such as an OpenAPI description) this Arazzo Description SHALL apply to. Each source location string
MUST be in the form of a URI-reference as defined by RFC3986 section 4.1.
An object storing a map between named description keys and location URLs to the source descriptions (such as an OpenAPI description) this Arazzo Description SHALL apply to. Each source location string
MUST be in the form of a URI-reference as defined by [[!RFC3986]].
url | string |
-REQUIRED. A URL to a source description to be used by a workflow. If a relative reference is used, it MUST be in the form of a URI-reference as defined by RFC3986 section 4.2. | +REQUIRED. A URL to a source description to be used by a workflow. If a relative reference is used, it MUST be in the form of a URI-reference as defined by [[!RFC3986]]. | ||||||||||||||||||
type | @@ -363,7 +363,7 @@ tokenExpires: $steps.loginStep.outputs.tokenExpires
retryAfter | number |
-A non-negative decimal indicating the seconds to delay after the step failure before another attempt SHALL be made. Note: if an HTTP Retry-After response header was returned to a step from a targeted operation, then it SHOULD overrule this particular field value. This field only applies when the type field value is "retry" or "function" . |
+A non-negative decimal indicating the seconds to delay after the step failure before another attempt SHALL be made. Note: if an HTTP Retry-After response header was returned to a step from a targeted operation, then it SHOULD overrule this particular field value. This field only applies when the type field value is "retry" or "function" . |
|||||||
retryLimit | @@ -788,6 +788,11 @@||||||||||
reference | +{expression} |
+REQUIRED. A runtime expression used to reference the desired object. | +||||||||
value | string |
Sets a value of the referenced parameter. This is only applicable for parameter object references. | @@ -820,7 +825,7 @@||||||||
condition | string |
-REQUIRED. The condition to apply. Conditions can be simple (e.g. $statusCode == 200 which applies a operator on a value obtained from a runtime expression), or a regex, or a JSONPath expression. For regex and JSONPath, the type and context MUST be specified. |
+REQUIRED. The condition to apply. Conditions can be simple (e.g. $statusCode == 200 which applies an operator on a value obtained from a runtime expression), or a regex, or a JSONPath expression. For regex or JSONPath, the type and context MUST be specified. |
|||||||
type | string | Criterion Expression Type Object |
-The type of condition to be applied. If specified, the options allowed are simple , regex , jsonpath or xpath . If omitted, then the condition is assumed to be simple , which at most combines literals, operators and Runtime Expressions. If jsonpath , then the expression MUST conform to JSON Path. If xpath the expression MUST conform to XML Path Language 3.1. Should other variants of JSON Path or XPath be required, then a Criterion Expression Type Object MUST be specified. |
+The type of condition to be applied. If specified, the options allowed are simple , regex , jsonpath or xpath . If omitted, then the condition is assumed to be simple , which at most combines literals, operators and Runtime Expressions. If jsonpath , then the expression MUST conform to JSONPath. If xpath the expression MUST conform to XML Path Language 3.1. Should other variants of JSONPath or XPath be required, then a Criterion Expression Type Object MUST be specified. |
An object used to describe the type and version of an expression used within a Criterion Object. If this object is not defined, then the following defaults apply:
Defining this object gives the ability to utilize tooling compatible with older versions of either JSON Path or XPath.
+Defining this object gives the ability to utilize tooling compatible with older versions of either JSONPath or XPath.
This object MAY be extended with Specification Extensions.
JSON Path Example
+JSONPath Example
type: jsonpath
version: draft-goessner-dispatch-jsonpath-00
@@ -1019,9 +1024,13 @@ Fixed Fields
Any
A value representing the request body payload. The value can be a literal value or can contain Runtime Expressions which MUST be evaluated prior to calling the referenced operation. To represent examples of media types that cannot be naturally represented in JSON or YAML, use a string value to contain the example, escaping where necessary.
replacements | [Payload Replacement Object] | A list of locations and values to set within a payload.
This object MAY be extended with Specification Extensions.
JSON Templated Example
@@ -1225,7 +1234,7 @@The extensions may or may not be supported by the available tooling, but those may be extended as well to add requested support (if tools are internal or open-sourced).
The Arazzo Specification does not enforce a security mechanism. Security is left to the implementer, though TLS, specifically HTTPS may be recommended for exchanging sensitive workflows.
-Arazzo Descriptions can be JSON or YAML values. As such, all security considerations defined in RFC 8259 and within YAML version 1.2 apply.
+Arazzo Descriptions can be JSON or YAML values. As such, all security considerations defined in RFC8259 and within YAML version 1.2 apply.
Arazzo Descriptions are frequently written by untrusted third parties, to be deployed on public Internet servers. Processing an Arazzo Description can cause both safe and unsafe operations to be performed on arbitrary network resources. It is the responsibility of the description consumer to ensure that the operations performed are not harmful.
The proposed MIME media types for the Arazzo Specification are described below.
diff --git a/arazzo/v1.0.0.html b/arazzo/v1.0.0.html index 71ef025701..1c1607c9d5 100644 --- a/arazzo/v1.0.0.html +++ b/arazzo/v1.0.0.html @@ -228,7 +228,7 @@Describes a source description (such as an OpenAPI description) that will be referenced by one or more workflows described within an Arazzo Description.
-An object storing a map between named description keys and location URLs to the source descriptions (such as an OpenAPI description) this Arazzo Description SHALL apply to. Each source location string
MUST be in the form of a URI-reference as defined by RFC3986 section 4.1.
An object storing a map between named description keys and location URLs to the source descriptions (such as an OpenAPI description) this Arazzo Description SHALL apply to. Each source location string
MUST be in the form of a URI-reference as defined by [[!RFC3986]].
url | string |
-REQUIRED. A URL to a source description to be used by a workflow. If a relative reference is used, it MUST be in the form of a URI-reference as defined by RFC3986 section 4.2. | +REQUIRED. A URL to a source description to be used by a workflow. If a relative reference is used, it MUST be in the form of a URI-reference as defined by [[!RFC3986]]. | ||||||||||||||||||
type | @@ -363,7 +363,7 @@ tokenExpires: $steps.loginStep.outputs.tokenExpires
retryAfter | number |
-A non-negative decimal indicating the seconds to delay after the step failure before another attempt SHALL be made. Note: if an HTTP Retry-After response header was returned to a step from a targeted operation, then it SHOULD overrule this particular field value. This field only applies when the type field value is "retry" or "function" . |
+A non-negative decimal indicating the seconds to delay after the step failure before another attempt SHALL be made. Note: if an HTTP Retry-After response header was returned to a step from a targeted operation, then it SHOULD overrule this particular field value. This field only applies when the type field value is "retry" or "function" . |
|||||||
retryLimit | @@ -788,6 +788,11 @@||||||||||
reference | +{expression} |
+REQUIRED. A runtime expression used to reference the desired object. | +||||||||
value | string |
Sets a value of the referenced parameter. This is only applicable for parameter object references. | @@ -820,7 +825,7 @@||||||||
condition | string |
-REQUIRED. The condition to apply. Conditions can be simple (e.g. $statusCode == 200 which applies a operator on a value obtained from a runtime expression), or a regex, or a JSONPath expression. For regex and JSONPath, the type and context MUST be specified. |
+REQUIRED. The condition to apply. Conditions can be simple (e.g. $statusCode == 200 which applies an operator on a value obtained from a runtime expression), or a regex, or a JSONPath expression. For regex or JSONPath, the type and context MUST be specified. |
|||||||
type | string | Criterion Expression Type Object |
-The type of condition to be applied. If specified, the options allowed are simple , regex , jsonpath or xpath . If omitted, then the condition is assumed to be simple , which at most combines literals, operators and Runtime Expressions. If jsonpath , then the expression MUST conform to JSON Path. If xpath the expression MUST conform to XML Path Language 3.1. Should other variants of JSON Path or XPath be required, then a Criterion Expression Type Object MUST be specified. |
+The type of condition to be applied. If specified, the options allowed are simple , regex , jsonpath or xpath . If omitted, then the condition is assumed to be simple , which at most combines literals, operators and Runtime Expressions. If jsonpath , then the expression MUST conform to JSONPath. If xpath the expression MUST conform to XML Path Language 3.1. Should other variants of JSONPath or XPath be required, then a Criterion Expression Type Object MUST be specified. |
An object used to describe the type and version of an expression used within a Criterion Object. If this object is not defined, then the following defaults apply:
Defining this object gives the ability to utilize tooling compatible with older versions of either JSON Path or XPath.
+Defining this object gives the ability to utilize tooling compatible with older versions of either JSONPath or XPath.
This object MAY be extended with Specification Extensions.
JSON Path Example
+JSONPath Example
type: jsonpath
version: draft-goessner-dispatch-jsonpath-00
@@ -1019,9 +1024,13 @@ Fixed Fields
Any
A value representing the request body payload. The value can be a literal value or can contain Runtime Expressions which MUST be evaluated prior to calling the referenced operation. To represent examples of media types that cannot be naturally represented in JSON or YAML, use a string value to contain the example, escaping where necessary.
replacements | [Payload Replacement Object] | A list of locations and values to set within a payload.
This object MAY be extended with Specification Extensions.
JSON Templated Example
@@ -1225,7 +1234,7 @@The extensions may or may not be supported by the available tooling, but those may be extended as well to add requested support (if tools are internal or open-sourced).
The Arazzo Specification does not enforce a security mechanism. Security is left to the implementer, though TLS, specifically HTTPS may be recommended for exchanging sensitive workflows.
-Arazzo Descriptions can be JSON or YAML values. As such, all security considerations defined in RFC 8259 and within YAML version 1.2 apply.
+Arazzo Descriptions can be JSON or YAML values. As such, all security considerations defined in RFC8259 and within YAML version 1.2 apply.
Arazzo Descriptions are frequently written by untrusted third parties, to be deployed on public Internet servers. Processing an Arazzo Description can cause both safe and unsafe operations to be performed on arbitrary network resources. It is the responsibility of the description consumer to ensure that the operations performed are not harmful.
The proposed MIME media types for the Arazzo Specification are described below.