Module Smaws_Client_SFN.StartExecution

val request : Smaws_Lib.Context.t -> start_execution_input -> (start_execution_output, [> Smaws_Lib.Protocols.AwsJson.error | `ExecutionAlreadyExists of execution_already_exists | `ExecutionLimitExceeded of execution_limit_exceeded | `InvalidArn of invalid_arn | `InvalidExecutionInput of invalid_execution_input | `InvalidName of invalid_name | `StateMachineDeleting of state_machine_deleting | `StateMachineDoesNotExist of state_machine_does_not_exist | `ValidationException of validation_exception ]) Stdlib.result

Starts a state machine execution.

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

The following are some examples of qualified and unqualified state machine ARNs:

  • The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

  • The following qualified state machine ARN refers to an alias named PROD.

    arn::states:::stateMachine:

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

  • The following unqualified state machine ARN refers to a state machine named myStateMachine.

    arn::states:::stateMachine:

If you start an execution with an unqualified state machine ARN, Step Functions uses the latest revision of the state machine for the execution.

To start executions of a state machine version, call StartExecution and provide the version ARN or the ARN of an alias that points to the version.

StartExecution is idempotent for STANDARD workflows. For a STANDARD workflow, if you call StartExecution with the same name and input as a running execution, the call succeeds and return the same response as the original request. If the execution is closed or if the input is different, it returns a 400 ExecutionAlreadyExists error. You can reuse names after 90 days.

StartExecution isn't idempotent for EXPRESS workflows.