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
The `id` property defines the unique, domain-specific workflow identifier, for example "orders", "payment", etc.
2010
-
2011
-
The `key` property defines the unique, domain-specific workflow identifier.
2012
-
It can be used when the `id` property is auto-generated by a content-management system for example.
2013
-
In these cases, you can specify the `key` property to be the domain-specific identifier of the workflow definition.
2014
-
The `id` and `key` properties are mutually exclusive, meaning you cannot define both.
2007
+
The required `name` property defines the unique workflow definition identifier, for example "orders", "payment", etc.
2015
2008
2016
-
The `name` property is the workflow logical name.
2009
+
The optional `key` property is an expression that evaluates to a domain related, unique running workflow instance identifier, for example "orders-1", "orders-2"...
2017
2010
2018
-
The `description` property can be used to give further information about the workflow.
2011
+
The `description` property might be used to give further information about the workflow.
2019
2012
2020
-
The `version` property can be used to provide a specific workflow version. It must use the [semantic versioning](https://semver.org/) format.
2013
+
The `version` property can be used to provide a specific workflow version. It must use the [semantic versioning](https://semver.org/) format.If not specified, "latest" is assumed.
2021
2014
2022
2015
The `annotations` property defines a list of helpful terms describing the workflows intended purpose, subject areas, or other important qualities,
2023
2016
for example "machine learning", "monitoring", "networking", etc
@@ -2168,10 +2161,9 @@ Here is an example of using external resource for function definitions:
| invoke | Specifies if the subflow should be invoked `sync` or `async`. Default is `sync` | enum | no |
4218
4207
| onParentComplete | If `invoke` is `async`, specifies if subflow execution should `terminate` or `continue` when parent workflow completes. Default is `terminate` | enum | no |
@@ -4249,8 +4238,8 @@ version: '2.0.0'
4249
4238
4250
4239
</details>
4251
4240
4252
-
The `workflowId` property define the unique ID of the sub-workflow to be invoked.
4253
-
Usually, the workflow id should not be the same id of the workflow where the action is defined. Otherwise, it may occur undesired recurring calls to the same workflow.
4241
+
The `workflowId` property define the unique name of the sub-workflow to be invoked.
4242
+
The workflow id should not be the same name of the workflow where the action is defined. Otherwise, it may occur undesired recurring calls to the same workflow.
4254
4243
4255
4244
The `version` property defined the unique version of the sub-workflow to be invoked.
4256
4245
If this property is defined, runtimes should match both the `id` and the `version` properties
@@ -4707,7 +4696,7 @@ actions:
4707
4696
4708
4697
Each branch receives the same copy of the Parallel state's data input.
4709
4698
4710
-
A branch can define actions that need to be executed. For the [`SubFlowRef`](#SubFlowRef-Definition) action, the workflow id should not be the same id of the workflow where the branch is defined. Otherwise, it may occur undesired recurring calls to the same workflow.
4699
+
A branch can define actions that need to be executed. For the [`SubFlowRef`](#SubFlowRef-Definition) action, the workflow name should not be the same name of the workflow where the branch is defined. Otherwise, it may occur undesired recurring calls to the same workflow.
4711
4700
4712
4701
4713
4702
The `timeouts` property can be used to set branch specific timeout settings. Parallel state branches can set the
@@ -4993,7 +4982,7 @@ If the end definition is of type `object`, it has the following structure:
4993
4982
| terminate | If `true`. terminates workflow instance execution | boolean | no |
4994
4983
| produceEvents | Array of [producedEvent](#ProducedEvent-Definition) definitions. Defines events that should be produced. | array | no |
4995
4984
| [compensate](#Workflow-Compensation) | If set to `true`, triggers workflow compensation before workflow execution completes. Default is `false` | boolean | no |
4996
-
| [continueAs](#continuing-as-a-new-execution) | Defines that current workflow execution should stop, and execution should continue as a new workflow instance of the provided id | string or object | no |
4985
+
| [continueAs](#continuing-as-a-new-execution) | Defines that current workflow execution should stop, and execution should continue as a new workflow instance of the provided name | string or object | no |
4997
4986
4998
4987
<details><summary><strong>Click to view example definition</strong></summary>
4999
4988
<p>
@@ -5058,7 +5047,7 @@ The [continueAs](#Continuing-as-a-new-Execution) property defines that the curre
5058
5047
and worklow execution should continue as a new instance of a new workflow.
5059
5048
When defined, it should be assumed that `terminate` is `true`. If `continueAs` is defined, and `terminate` is explicitly
5060
5049
set to `false`, runtimes should report this to users. Producing events, and compensation should still be performed (if defined)
5061
-
before the workflow execution is stopped, and continued as a new workflow instance with the defined workflow id.
5050
+
before the workflow execution is stopped, and continued as a new workflow instance with the defined workflow name.
5062
5051
5063
5052
##### ProducedEvent Definition
5064
5053
@@ -5152,10 +5141,10 @@ Let's take a look at an example of additional properties:
5152
5141
5153
5142
```json
5154
5143
{
5155
-
"id": "myworkflow",
5144
+
"name": "myworkflow",
5156
5145
"version": "1.0.0",
5157
5146
"specVersion": "0.8",
5158
-
"name": "My Test Workflow",
5147
+
"description": "My Test Workflow",
5159
5148
"start": "My First State",
5160
5149
"loglevel": "Info",
5161
5150
"environment": "Production",
@@ -5170,10 +5159,10 @@ Note the same can be also specified using workflow metadata, which is the prefer
5170
5159
5171
5160
```json
5172
5161
{
5173
-
"id": "myworkflow",
5162
+
"name": "myworkflow",
5174
5163
"version": "1.0.0",
5175
5164
"specVersion": "0.8",
5176
-
"name": "Py Test Workflow",
5165
+
"description": "Py Test Workflow",
5177
5166
"start": "My First State",
5178
5167
"metadata": {
5179
5168
"loglevel": "Info",
@@ -5599,7 +5588,7 @@ To give an example, let's say that in our workflow definition we define the time
5599
5588
5600
5589
```json
5601
5590
{
5602
-
"id": "testWorkflow",
5591
+
"name": "testWorkflow",
5603
5592
...
5604
5593
"timeouts": {
5605
5594
...
@@ -6109,23 +6098,23 @@ likely to be forced to stop before reaching its completion. This can result in u
6109
6098
mission-critical workflows.
6110
6099
6111
6100
For those cases, the Serverless Workflow DSL provides a way to explicitly define stopping the current workflow
6112
-
instance execution, and starting a new one (for the same workflow id or a different one).
6101
+
instance execution, and starting a new one (for the same workflow name or a different one).
6113
6102
This can be done via the [end definitions](#end-definition) `continueAs` property.
6114
6103
6115
6104
The end definitions `continueAs` can be either of type `string` or `object`.
6116
-
If string type, it contains the unique workflow id of the workflow that the execution should continue as, for example:
6105
+
If string type, it contains the unique workflow name of the workflow that the execution should continue as, for example:
6117
6106
6118
6107
6119
6108
```json
6120
6109
{
6121
6110
"end": {
6122
-
"continueAs": "myworkflowid"
6111
+
"continueAs": "myworkflowname"
6123
6112
}
6124
6113
}
6125
6114
```
6126
6115
6127
6116
Defining this should stop the current workflow execution, and continue execution as a new workflow instance of the
6128
-
workflow which defines the workflow id of "myworkflowid". The state data where this is define should
6117
+
workflow which defines the workflow name of "myworkflowbane". The state data where this is define should
6129
6118
become the workflow data input of the workflow that is continuing the current workflow execution.
6130
6119
6131
6120
Note that any defined `produceEvents` and `compensate` definitions should be honored before `continueAs` is applied.
@@ -6134,7 +6123,7 @@ If `object` type, the `continueAs` property has the following properties:
6134
6123
6135
6124
| Parameter | Description | Type | Required |
6136
6125
| --- | --- | --- | --- |
6137
-
| workflowId | Unique id of the workflow to continue execution as. | string | yes |
6126
+
| workflowId | Unique name of the workflow to continue execution as. | string | yes |
6138
6127
| version | Version of the workflow to continue execution as. | string | no |
6139
6128
| data | If string type, a workflow expression which selects parts of the states data output to become the workflow data input of continued execution. If object type, a custom object to become the workflow data input of the continued execution. | string or object | no |
6140
6129
| [`workflowExecTimeout`](#Workflow-Timeouts) | Workflow execution timeout to be used by the workflow continuing execution. Overwrites any specific settings set by that workflow. | string or object | no |
@@ -6149,7 +6138,7 @@ in workflow states [Action](#Action-Definition) definitions.
6149
6138
6150
6139
Just like "parent" workflows, sub-workflow can also be long-running, and can run into the same type of runtime/serverless platform
6151
6140
limitations as previously discussed. As such they can also use `continueAs` to stop their current execution and continue it as
6152
-
a new one of the same or different workflow id.
6141
+
a new one of the same or different workflow name.
6153
6142
6154
6143
Note that when a sub-workflow is invoked it can produce a result that is then merged into the parent workflow state data.
6155
6144
This may bring up a question as to what happens when a sub-workflow calls `continueAs` in terms of what is returned as
@@ -6315,8 +6304,8 @@ Here is an example of metadata attached to the core workflow definition:
6315
6304
6316
6305
```json
6317
6306
{
6318
-
"id": "processSalesOrders",
6319
-
"name": "Process Sales Orders",
6307
+
"name": "processSalesOrders",
6308
+
"description": "Process Sales Orders",
6320
6309
"version": "1.0.0",
6321
6310
"specVersion": "0.8",
6322
6311
"start": "MyStartingState",
@@ -6351,8 +6340,8 @@ Implementations may use this keyword to give access to any relevant information
0 commit comments