pub struct StartExecutionFluentBuilder { /* private fields */ }
Expand description

Fluent builder constructing a request to StartExecution.

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.

Implementations§

source§

impl StartExecutionFluentBuilder

source

pub fn as_input(&self) -> &StartExecutionInputBuilder

Access the StartExecution as a reference.

source

pub async fn send( self ) -> Result<StartExecutionOutput, SdkError<StartExecutionError, HttpResponse>>

Sends the request and returns the response.

If an error occurs, an SdkError will be returned with additional details that can be matched against.

By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.

source

pub fn customize( self ) -> CustomizableOperation<StartExecutionOutput, StartExecutionError, Self>

Consumes this builder, creating a customizable operation that can be modified before being sent.

source

pub fn state_machine_arn(self, input: impl Into<String>) -> Self

The Amazon Resource Name (ARN) of the state machine to execute.

The stateMachineArn parameter accepts one of the following inputs:

  • An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.

    arn: :states: : :stateMachine:

    Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.

  • A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.

    arn: :states: : :stateMachine: :10

    Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.

  • A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD.

    arn: :states: : :stateMachine:

    Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.

source

pub fn set_state_machine_arn(self, input: Option<String>) -> Self

The Amazon Resource Name (ARN) of the state machine to execute.

The stateMachineArn parameter accepts one of the following inputs:

  • An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.

    arn: :states: : :stateMachine:

    Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.

  • A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.

    arn: :states: : :stateMachine: :10

    Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.

  • A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD.

    arn: :states: : :stateMachine:

    Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.

source

pub fn get_state_machine_arn(&self) -> &Option<String>

The Amazon Resource Name (ARN) of the state machine to execute.

The stateMachineArn parameter accepts one of the following inputs:

  • An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.

    arn: :states: : :stateMachine:

    Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.

  • A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.

    arn: :states: : :stateMachine: :10

    Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.

  • A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD.

    arn: :states: : :stateMachine:

    Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.

source

pub fn name(self, input: impl Into<String>) -> Self

Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the Step Functions Developer Guide.

If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.

A name must not contain:

  • white space

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters " # % \ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

source

pub fn set_name(self, input: Option<String>) -> Self

Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the Step Functions Developer Guide.

If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.

A name must not contain:

  • white space

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters " # % \ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

source

pub fn get_name(&self) -> &Option<String>

Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the Step Functions Developer Guide.

If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.

A name must not contain:

  • white space

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters " # % \ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

source

pub fn input(self, input: impl Into<String>) -> Self

The string that contains the JSON input data for the execution, for example:

"input": "{\"first_name\" : \"test\"}"

If you don't include any JSON input data, you still must include the two braces, for example: "input": "{}"

Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

source

pub fn set_input(self, input: Option<String>) -> Self

The string that contains the JSON input data for the execution, for example:

"input": "{\"first_name\" : \"test\"}"

If you don't include any JSON input data, you still must include the two braces, for example: "input": "{}"

Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

source

pub fn get_input(&self) -> &Option<String>

The string that contains the JSON input data for the execution, for example:

"input": "{\"first_name\" : \"test\"}"

If you don't include any JSON input data, you still must include the two braces, for example: "input": "{}"

Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

source

pub fn trace_header(self, input: impl Into<String>) -> Self

Passes the X-Ray trace header. The trace header can also be passed in the request payload.

source

pub fn set_trace_header(self, input: Option<String>) -> Self

Passes the X-Ray trace header. The trace header can also be passed in the request payload.

source

pub fn get_trace_header(&self) -> &Option<String>

Passes the X-Ray trace header. The trace header can also be passed in the request payload.

Trait Implementations§

source§

impl Clone for StartExecutionFluentBuilder

source§

fn clone(&self) -> StartExecutionFluentBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for StartExecutionFluentBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more