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
Copy file name to clipboardExpand all lines: specification.md
+33-14Lines changed: 33 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2175,9 +2175,9 @@ Serverless Workflow defines the following Workflow States:
2175
2175
| [onEvents](#OnEvents-Definition) | Define the events to be consumed and optional actions to be performed | array | yes |
2176
2176
| [timeouts](#Workflow-Timeouts) | State specific timeout settings | object | no |
2177
2177
| [stateDataFilter](#State-data-filters) | State data filter definition| object | no |
2178
-
| [transition](#Transitions) | Next transition of the workflow after all the actions have been performed | object | yes |
2178
+
| [transition](#Transitions) | Next transition of the workflow after all the actions have been performed | object | yes if "end" is not defined |
2179
2179
| [onErrors](#Error-Definition) | States error handling definitions | array | no |
2180
-
| [end](#End-Definition) | Is this state an end state | object | no |
2180
+
| [end](#End-Definition) | Is this state an end state | object | yes, if "transition" is not defined |
2181
2181
| [compensatedBy](#Workflow-Compensation) | Unique name of a workflow state which is responsible for compensation of this state | String | no |
2182
2182
| [metadata](#Workflow-Metadata) | Metadata information| object | no |
2183
2183
@@ -2311,6 +2311,8 @@ The `timeouts` property can be used to define state specific timeout settings. E
2311
2311
For more information about Event state specific event timeout settings reference [this section](#Event-Timeout-Definition).
2312
2312
For more information about workflow timeouts reference the [Workflow Timeouts](#Workflow-Timeouts) section.
2313
2313
2314
+
Note that `transition` and `end` properties are mutually exclusive, meaning that you cannot define both of them at the same time.
2315
+
2314
2316
##### Operation State
2315
2317
2316
2318
| Parameter | Description | Type | Required |
@@ -2534,6 +2536,7 @@ Sleep state
2534
2536
suspends workflow execution for a given time duration. The delay is defined in its `duration` property using the ISO 8601
2535
2537
duration format.
2536
2538
2539
+
Note that `transition` and `end` properties are mutually exclusive, meaning that you cannot define both of them at the same time.
2537
2540
##### Parallel State
2538
2541
2539
2542
| Parameter | Description | Type | Required |
@@ -2547,11 +2550,11 @@ duration format.
2547
2550
| [timeouts](#Workflow-Timeouts) | State specific timeout settings | object | no |
2548
2551
| [stateDataFilter](#State-data-filters) | State data filter | object | no |
2549
2552
| [onErrors](#Error-Definition) | States error handling and retries definitions | array | no |
2550
-
| [transition](#Transitions) | Next transition of the workflow after all branches have completed execution | object | yes (if end is not defined) |
2553
+
| [transition](#Transitions) | Next transition of the workflow after all branches have completed execution | object | yes if "end" is not defined |
2551
2554
| [compensatedBy](#Workflow-Compensation) | Unique name of a workflow state which is responsible for compensation of this state | String | no |
2552
2555
| [usedForCompensation](#Workflow-Compensation) | If true, this state is used to compensate another state. Default is "false" | boolean | no |
2553
2556
| [metadata](#Workflow-Metadata) | Metadata information| object | no |
2554
-
| [end](#End-Definition) | If this state and end state | object | no |
2557
+
| [end](#End-Definition) | If this state and end state | object | yes if "transition" is not defined |
2555
2558
2556
2559
<details><summary><strong>Click to view example definition</strong></summary>
2557
2560
<p>
@@ -2647,6 +2650,8 @@ The `timeouts` property can be used to set state specific timeout settings. Para
2647
2650
`stateExecTimeout`and `branchExecTimeout` timeout settings. For more information on workflow timeouts
2648
2651
reference the [Workflow Timeouts](#Workflow-Timeouts) section.
2649
2652
2653
+
Note that `transition` and `end` properties are mutually exclusive, meaning that you cannot define both of them at the same time.
2654
+
2650
2655
##### Inject State
2651
2656
2652
2657
| Parameter | Description | Type | Required |
@@ -2656,11 +2661,11 @@ reference the [Workflow Timeouts](#Workflow-Timeouts) section.
2656
2661
| type | State type | string | yes |
2657
2662
| data | JSON object which can be set as state's data input and can be manipulated via filter | object | yes |
2658
2663
| [stateDataFilter](#state-data-filters) | State data filter | object | no |
2659
-
| [transition](#Transitions) | Next transition of the workflow after injection has completed | object | yes (if end is set to false) |
2664
+
| [transition](#Transitions) | Next transition of the workflow after injection has completed | object | yes if "end" is set to false |
2660
2665
| [compensatedBy](#Workflow-Compensation) | Unique name of a workflow state which is responsible for compensation of this state | String | no |
2661
2666
| [usedForCompensation](#Workflow-Compensation) | If true, this state is used to compensate another state. Default is "false" | boolean | no |
2662
2667
| [metadata](#Workflow-Metadata) | Metadata information| object | no |
2663
-
| [end](#End-Definition) | If this state and end state | object | no |
2668
+
| [end](#End-Definition) | If this state and end state | object | yes if "transition" is not defined |
2664
2669
2665
2670
<details><summary><strong>Click to view example definition</strong></summary>
2666
2671
<p>
@@ -2876,6 +2881,8 @@ The `timeouts` property can be used to define state specific timeout settings. I
2876
2881
`stateExecTimeout`property. For more information on workflow timeouts reference the
2877
2882
[Workflow Timeouts](#Workflow-Timeouts) section.
2878
2883
2884
+
Note that `transition` and `end` properties are mutually exclusive, meaning that you cannot define both of them at the same time.
2885
+
2879
2886
##### ForEach State
2880
2887
2881
2888
| Parameter | Description | Type | Required |
@@ -2892,11 +2899,11 @@ The `timeouts` property can be used to define state specific timeout settings. I
2892
2899
| [timeouts](#Workflow-Timeouts) | State specific timeout settings | object | no |
2893
2900
| [stateDataFilter](#State-data-filters) | State data filter definition | object | no |
2894
2901
| [onErrors](#Error-Definition) | States error handling and retries definitions | array | no |
2895
-
| [transition](#Transitions) | Next transition of the workflow after state has completed | object | yes (if end is not defined) |
2902
+
| [transition](#Transitions) | Next transition of the workflow after state has completed | object | yes if "end" is not defined |
2896
2903
| [compensatedBy](#Workflow-Compensation) | Unique name of a workflow state which is responsible for compensation of this state | String | no |
2897
2904
| [usedForCompensation](#Workflow-Compensation) | If true, this state is used to compensate another state. Default is "false" | boolean | no |
2898
2905
| [metadata](#Workflow-Metadata) | Metadata information| object | no |
2899
-
| [end](#End-Definition) | Is this state an end state | object | no |
2906
+
| [end](#End-Definition) | Is this state an end state | object | yes if "transition" is not defined |
2900
2907
2901
2908
<details><summary><strong>Click to view example definition</strong></summary>
2902
2909
<p>
@@ -3118,6 +3125,8 @@ The `timeouts` property can be used to set state specific timeout settings. ForE
3118
3125
`stateExecTimeout`and `actionExecTimeout` settings. For more information on workflow timeouts reference the [Workflow Timeouts](#Workflow-Timeouts)
3119
3126
section.
3120
3127
3128
+
Note that `transition` and `end` properties are mutually exclusive, meaning that you cannot define both of them at the same time.
3129
+
3121
3130
##### Callback State
3122
3131
3123
3132
| Parameter | Description | Type | Required |
@@ -3131,8 +3140,8 @@ section.
3131
3140
| [eventDataFilter](#Event-data-filters) | Callback event data filter definition | object | no |
3132
3141
| [stateDataFilter](#State-data-filters) | State data filter definition | object | no |
3133
3142
| [onErrors](#Error-Definition) | States error handling and retries definitions | array | no |
3134
-
| [transition](#Transitions) | Next transition of the workflow after callback event has been received | object | yes |
3135
-
| [end](#End-Definition) | Is this state an end state | object | no |
3143
+
| [transition](#Transitions) | Next transition of the workflow after callback event has been received | object | yes if "end" is not defined |
3144
+
| [end](#End-Definition) | Is this state an end state | object | yes if "transition" is not defined |
3136
3145
| [compensatedBy](#Workflow-Compensation) | Uniaue name of a workflow state which is responsible for compensation of this state | String | no |
3137
3146
| [usedForCompensation](#Workflow-Compensation) | If true, this state is used to compensate another state. Default is "false" | boolean | no |
3138
3147
| [metadata](#Workflow-Metadata) | Metadata information| object | no |
@@ -3216,6 +3225,8 @@ The `timeouts` property defines state specific timeout settings. Callback states
3216
3225
For more information on workflow timeouts reference the [Workflow Timeouts](#Workflow-Timeouts)
3217
3226
section.
3218
3227
3228
+
Note that `transition` and `end` properties are mutually exclusive, meaning that you cannot define both of them at the same time.
3229
+
3219
3230
#### Related State Definitions
3220
3231
3221
3232
##### Function Definition
@@ -3792,7 +3803,7 @@ Service invocation can be done in two different ways:
3792
3803
* Reference a `produced` and `consumed` [event definitions](#Event-Definition) via the `eventRef` property.
3793
3804
* Reference a sub-workflow invocation via the `subFlowRef` property.
3794
3805
3795
-
Note that `functionRef`, `eventRef`, and `subFlowRef` are mutually exclusive, meaning that only of of them can be
3806
+
Note that `functionRef`, `eventRef`, and `subFlowRef` are mutually exclusive, meaning that only one of them can be
3796
3807
specified in a single action definition.
3797
3808
3798
3809
The `name` property specifies the action name.
@@ -4079,8 +4090,7 @@ If it is set to `continue`, if the parent workflow completes, the subflow execut
4079
4090
4080
4091
| Parameter | Description | Type | Required |
4081
4092
| --- | --- | --- | --- |
4082
-
| errorRef | Reference to a unique workflow error definition | string | yes if errorRefs is not used |
4083
-
| errorRefs | Reference one or more unique workflow error definition | array | yes if errorRef is not used |
4093
+
| errorRef or errorRefs | Reference one unique workflow error definition, or multiple unique workflow error definitions | string (errorRef) or array (errorRefs) | yes |
4084
4094
| [transition](#Transitions) or [end](#End-Definition) | Transition to next state to handle the error, or end workflow execution if this error is encountered | object | yes |
4085
4095
4086
4096
<details><summary><strong>Click to view example definition</strong></summary>
@@ -4125,10 +4135,15 @@ Can be used when `errorRef` is not used. Usable when you want to define multiple
4125
4135
or end definition should be applied.For more info on workflow error handling
4126
4136
referece [this section](#Defining-Errors).
4127
4137
4138
+
Note that the `errorRef` and `errorRefs` properties are mutually exclusive, meaning that you can only specify one or the other,
4139
+
but not both at the same time.
4140
+
4128
4141
The `transition` property defines the transition to the next workflow state in cases when the defined
4129
4142
error happens during runtime execution.
4130
4143
4131
4144
If `transition` is not defined you can also define the `end` property which will end workflow execution at that point.
4145
+
Note that the `transition` and `end` properties are mutually exclusive, meaning that you can only specify one or the other,
4146
+
but not both at the same time.
4132
4147
4133
4148
For more information, see the [Workflow Error Handling](#Workflow-Error-Handling) sections.
4134
4149
@@ -4377,7 +4392,8 @@ The `condition` property of the condition defines an expression (e.g., `${ .appl
4377
4392
parts of the state data input. The condition must evaluate to `true` or `false`.
4378
4393
4379
4394
If the condition is evaluated to `true`, you can specify either the `transition` or `end` definitions
4380
-
to decide what to do, transition to another workflow state, or end workflow execution.
4395
+
to decide what to do, transition to another workflow state, or end workflow execution. Note that `transition` and `end`
4396
+
definitions are mutually exclusive, meaning that you can specify either one or the other, but not both.
4381
4397
4382
4398
##### Switch State Event Conditions
4383
4399
@@ -4432,6 +4448,9 @@ to decide what to do, transition to another workflow state, or end workflow exec
4432
4448
4433
4449
The `eventDataFilter` property can be used to filter event data when it is received.
4434
4450
4451
+
Note that `transition` and `end`
4452
+
definitions are mutually exclusive, meaning that you can specify either one or the other, but not both.
0 commit comments