You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>Describes a source description (such as an OpenAPI description) that will be referenced by one or more workflows described within an Arazzo Description.</p>
231
-
<p>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 <code>string</code> MUST be in the form of a URI-reference as defined by <ahref="https://datatracker.ietf.org/doc/html/rfc3986#section-4.1">RFC3986 section 4.1</a>.</p>
231
+
<p>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 <code>string</code> MUST be in the form of a URI-reference as defined by [[!RFC3986]].</p>
<td><strong>REQUIRED</strong>. 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 <ahref="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">RFC3986 section 4.2</a>.</td>
250
+
<td><strong>REQUIRED</strong>. 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]].</td>
<p>Describes a single workflow step which MAY be a call to an API operation (<ahref="https://spec.openapis.org/oas/latest.html#operation-object">OpenAPI Operation Object</a> or another <ahref="#workflow-object">Workflow Object</a>.</p>
366
+
<p>Describes a single workflow step which MAY be a call to an API operation (<ahref="https://spec.openapis.org/oas/latest.html#operation-object">OpenAPI Operation Object</a> or another <ahref="#workflow-object">Workflow Object</a>).</p>
367
367
<section><h4>Fixed Fields</h4>
368
368
<table>
369
369
<thead>
@@ -594,7 +594,7 @@
594
594
<spanclass="hljs-comment"># assertions to determine if this success action should be executed</span>
<p>A single failure action which describes an action to take upon failure of a workflow step. There are three possible values for the <code>type</code> field.</p>
<td>A non-negative decimal indicating the seconds to delay after the step failure before another attempt SHALL be made. <strong>Note:</strong> if an HTTP <ahref="https://www.rfc-editor.org/rfc/rfc9110.html#name-retry-after">Retry-After</a> 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 <code>type</code> field value is <code>"retry"</code> or <code>"function"</code>.</td>
639
+
<td>A non-negative decimal indicating the seconds to delay after the step failure before another attempt SHALL be made. <strong>Note:</strong> if an HTTP <ahref="https://tools.ietf.org/html/rfc9110.html#name-retry-after">Retry-After</a> 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 <code>type</code> field value is <code>"retry"</code> or <code>"function"</code>.</td>
<td>Sets a value of the referenced parameter. This is only applicable for parameter object references.</td>
@@ -820,7 +825,7 @@
820
825
<ul>
821
826
<li>simple - where basic literals, operators, and loose comparisons are used in combination with <ahref="#runtime-expressions">Runtime Expressions</a>.</li>
822
827
<li>regex - where a regex pattern is applied on the supplied context. The context is defined by a <ahref="#runtime-expressions">Runtime Expression</a>.</li>
823
-
<li>jsonpath - where a JSON Path expression is applied. The root node context is defined by a <ahref="#runtime-expressions">Runtime Expression</a>.</li>
828
+
<li>jsonpath - where a JSONPath expression is applied. The root node context is defined by a <ahref="#runtime-expressions">Runtime Expression</a>.</li>
824
829
<li>xpath - where an XPath expression is applied. The root node context is defined by a <ahref="#runtime-expressions">Runtime Expression</a>.</li>
<td><strong>REQUIRED</strong>. The condition to apply. Conditions can be simple (e.g. <code>$statusCode == 200</code> which applies a operator on a value obtained from a runtime expression), or a regex, or a JSONPath expression. For regex and <ahref="https://datatracker.ietf.org/doc/draft-ietf-jsonpath-base/21/">JSONPath</a>, the <code>type</code> and <code>context</code> MUST be specified.</td>
937
+
<td><strong>REQUIRED</strong>. The condition to apply. Conditions can be simple (e.g. <code>$statusCode == 200</code> which applies an operator on a value obtained from a runtime expression), or a regex, or a JSONPath expression. For regex or JSONPath, the <code>type</code> and <code>context</code> MUST be specified.</td>
933
938
</tr>
934
939
<tr>
935
940
<td><aid="criterionType"></a>type</td>
936
941
<tdstyle="text-align:center"><code>string</code> | <ahref="#criterion-expression-type-object">Criterion Expression Type Object</a></td>
937
-
<td>The type of condition to be applied. If specified, the options allowed are <code>simple</code>, <code>regex</code>, <code>jsonpath</code> or <code>xpath</code>. If omitted, then the condition is assumed to be <code>simple</code>, which at most combines literals, operators and <ahref="#runtime-expressions">Runtime Expressions</a>. If <code>jsonpath</code>, then the expression MUST conform to <ahref="https://www.rfc-editor.org/rfc/rfc9535.html">JSON Path</a>. If <code>xpath</code> the expression MUST conform to <ahref="https://www.w3.org/TR/xpath-31/#d2e24229">XML Path Language 3.1</a>. Should other variants of JSON Path or XPath be required, then a <ahref="#criterion-expression-type-object">Criterion Expression Type Object</a> MUST be specified.</td>
942
+
<td>The type of condition to be applied. If specified, the options allowed are <code>simple</code>, <code>regex</code>, <code>jsonpath</code> or <code>xpath</code>. If omitted, then the condition is assumed to be <code>simple</code>, which at most combines literals, operators and <ahref="#runtime-expressions">Runtime Expressions</a>. If <code>jsonpath</code>, then the expression MUST conform to <ahref="https://tools.ietf.org/html/rfc9535">JSONPath</a>. If <code>xpath</code> the expression MUST conform to <ahref="https://www.w3.org/TR/xpath-31/#d2e24229">XML Path Language 3.1</a>. Should other variants of JSONPath or XPath be required, then a <ahref="#criterion-expression-type-object">Criterion Expression Type Object</a> MUST be specified.</td>
938
943
</tr>
939
944
</tbody>
940
945
</table>
@@ -959,10 +964,10 @@
959
964
</section></section><section><h3>Criterion Expression Type Object</h3>
960
965
<p>An object used to describe the type and version of an expression used within a <ahref="#criterion-object">Criterion Object</a>. If this object is not defined, then the following defaults apply:</p>
961
966
<ul>
962
-
<li>JSON Path as described by <ahref="https://www.rfc-editor.org/rfc/rfc9535.html">[!RFC9535]</a></li>
967
+
<li>JSONPath as described by [[!RFC9535]]</li>
963
968
<li>XPath as described by <ahref="https://www.w3.org/TR/xpath-31">XML Path Language 3.1</a></li>
964
969
</ul>
965
-
<p>Defining this object gives the ability to utilize tooling compatible with older versions of either JSON Path or XPath.</p>
970
+
<p>Defining this object gives the ability to utilize tooling compatible with older versions of either JSONPath or XPath.</p>
<td><strong>REQUIRED</strong>. A short hand string representing the version of the expression type being used. The allowed values for JSON Path are <code>draft-goessner-dispatch-jsonpath-00</code>. The allowed values for XPath are <code>xpath-30</code>, <code>xpath-20</code>, or <code>xpath-10</code>.</td>
989
+
<td><strong>REQUIRED</strong>. A short hand string representing the version of the expression type being used. The allowed values for JSONPath are <code>draft-goessner-dispatch-jsonpath-00</code>. The allowed values for XPath are <code>xpath-30</code>, <code>xpath-20</code>, or <code>xpath-10</code>.</td>
985
990
</tr>
986
991
</tbody>
987
992
</table>
988
993
<p>This object MAY be extended with <ahref="#specification-extensions">Specification Extensions</a>.</p>
989
994
<section><h4>Criterion Expression Type Example</h4>
<td>A value representing the request body payload. The value can be a literal value or can contain <ahref="#runtime-expressions">Runtime Expressions</a> 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.</td>
<td>A list of locations and values to set within a payload.</td>
1031
+
</tr>
1022
1032
</tbody>
1023
1033
</table>
1024
-
<p><aid="requestBodyReplacements"></a>replacements | [<ahref="#payload-replacement-object">Payload Replacement Object</a>] | A list of locations and values to set within a payload.</p>
1025
1034
<p>This object MAY be extended with <ahref="#specification-extensions">Specification Extensions</a>.</p>
<p>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).</p>
1226
1235
<h2>Security Considerations</h2>
1227
1236
<p>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.</p>
1228
-
<p>Arazzo Descriptions can be JSON or YAML values. As such, all security considerations defined in <ahref="https://www.rfc-editor.org/info/rfc8259">RFC 8259</a> and within YAML version <ahref="https://yaml.org/spec/1.2/spec.html">1.2</a> apply.</p>
1237
+
<p>Arazzo Descriptions can be JSON or YAML values. As such, all security considerations defined in <ahref="https://tools.ietf.org/html/rfc8259">RFC8259</a> and within YAML version <ahref="https://yaml.org/spec/1.2/spec.html">1.2</a> apply.</p>
1229
1238
<p>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.</p>
1230
1239
<h2>IANA Considerations</h2>
1231
1240
<p>The proposed MIME media types for the Arazzo Specification are described below.</p>
0 commit comments