@@ -142,19 +142,47 @@ public function sendTaskSuccess($input): SendTaskSuccessOutput
142142 }
143143
144144 /**
145- * Starts a state machine execution. If the given state machine Amazon Resource Name (ARN) is a qualified state machine
146- * ARN, it will fail with ValidationException.
145+ * Starts a state machine execution.
147146 *
148- * A qualified state machine ARN refers to a *Distributed Map state* defined within a state machine. For example, the
149- * qualified state machine ARN `arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel`
150- * refers to a *Distributed Map state* with a label `mapStateLabel` in the state machine named `stateMachineName`.
147+ * A qualified state machine ARN can either refer to a *Distributed Map state* defined within a state machine, a version
148+ * ARN, or an alias ARN.
151149 *
152- * > `StartExecution` is idempotent for `STANDARD` workflows. For a `STANDARD` workflow, if `StartExecution` is called
153- * > with the same name and input as a running execution, the call will succeed and return the same response as the
154- * > original request. If the execution is closed or if the input is different, it will return a `400
155- * > ExecutionAlreadyExists` error. Names can be reused after 90 days.
150+ * The following are some examples of qualified and unqualified state machine ARNs:
151+ *
152+ * - The following qualified state machine ARN refers to a *Distributed Map state* with a label `mapStateLabel` in a
153+ * state machine named `myStateMachine`.
154+ *
155+ * `arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel`
156+ *
157+ * > If you provide a qualified state machine ARN that refers to a *Distributed Map state*, the request fails with
158+ * > `ValidationException`.
159+ *
160+ * - The following qualified state machine ARN refers to an alias named `PROD`.
161+ *
162+ * `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>`
163+ *
164+ * > If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts
165+ * > execution for that version or alias.
166+ *
167+ * - The following unqualified state machine ARN refers to a state machine named `myStateMachine`.
168+ *
169+ * `arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>`
170+ *
171+ * If you start an execution with an unqualified state machine ARN, Step Functions uses the latest revision of the state
172+ * machine for the execution.
173+ *
174+ * To start executions of a state machine version [^1], call `StartExecution` and provide the version ARN or the ARN of
175+ * an alias [^2] that points to the version.
176+ *
177+ * > `StartExecution` is idempotent for `STANDARD` workflows. For a `STANDARD` workflow, if you call `StartExecution`
178+ * > with the same name and input as a running execution, the call succeeds and return the same response as the original
179+ * > request. If the execution is closed or if the input is different, it returns a `400 ExecutionAlreadyExists` error.
180+ * > You can reuse names after 90 days.
156181 * >
157- * > `StartExecution` is not idempotent for `EXPRESS` workflows.
182+ * > `StartExecution` isn't idempotent for `EXPRESS` workflows.
183+ *
184+ * [^1]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html
185+ * [^2]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html
158186 *
159187 * @see https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html
160188 * @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-states-2016-11-23.html#startexecution
0 commit comments