aws_sdk_sfn/client/
start_execution.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`StartExecution`](crate::operation::start_execution::builders::StartExecutionFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`state_machine_arn(impl Into<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::state_machine_arn) / [`set_state_machine_arn(Option<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::set_state_machine_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the state machine to execute.</p> <p>The <code>stateMachineArn</code> parameter accepts one of the following inputs:</p> <ul>  <li>   <p><b>An unqualified state machine ARN</b> – 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.</p>   <p><code>arn:<partition>      :states:      <region>       :       <account-id>        :stateMachine:        <mystatemachine></mystatemachine>       </account-id>      </region>     </partition></code></p>   <p>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.</p></li>  <li>   <p><b>A state machine version ARN</b> – 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.</p>   <p><code>arn:<partition>      :states:      <region>       :       <account-id>        :stateMachine:        <mystatemachine>         :10        </mystatemachine>       </account-id>      </region>     </partition></code></p>   <p>Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.</p></li>  <li>   <p><b>A state machine alias ARN</b> – 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 <code>PROD</code>.</p>   <p><code>arn:<partition>      :states:      <region>       :       <account-id>        :stateMachine:        <mystatemachine:prod></mystatemachine:prod>       </account-id>      </region>     </partition></code></p>   <p>Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.</p></li> </ul><br>
7    ///   - [`name(impl Into<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::set_name):<br>required: **false**<br><p>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 <a href="https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions"> Limits Related to State Machine Executions</a> in the <i>Step Functions Developer Guide</i>.</p> <p>If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.</p> <p>A name must <i>not</i> contain:</p> <ul>  <li>   <p>white space</p></li>  <li>   <p>brackets <code>&lt; &gt; { } \[ \]</code></p></li>  <li>   <p>wildcard characters <code>? *</code></p></li>  <li>   <p>special characters <code>" # % \ ^ | ~ ` $ &amp; , ; : /</code></p></li>  <li>   <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li>  <li>   <p>surrogates (<code>U+D800-DFFF</code>)</p></li>  <li>   <p>invalid characters (<code> U+10FFFF</code>)</p></li> </ul> <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p><br>
8    ///   - [`input(impl Into<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::input) / [`set_input(Option<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::set_input):<br>required: **false**<br><p>The string that contains the JSON input data for the execution, for example:</p> <p><code>"{\"first_name\" : \"Alejandro\"}"</code></p><note>  <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"{}"</code></p> </note> <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p><br>
9    ///   - [`trace_header(impl Into<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::trace_header) / [`set_trace_header(Option<String>)`](crate::operation::start_execution::builders::StartExecutionFluentBuilder::set_trace_header):<br>required: **false**<br><p>Passes the X-Ray trace header. The trace header can also be passed in the request payload.</p><note>  <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p> </note><br>
10    /// - On success, responds with [`StartExecutionOutput`](crate::operation::start_execution::StartExecutionOutput) with field(s):
11    ///   - [`execution_arn(String)`](crate::operation::start_execution::StartExecutionOutput::execution_arn): <p>The Amazon Resource Name (ARN) that identifies the execution.</p>
12    ///   - [`start_date(DateTime)`](crate::operation::start_execution::StartExecutionOutput::start_date): <p>The date the execution is started.</p>
13    /// - On failure, responds with [`SdkError<StartExecutionError>`](crate::operation::start_execution::StartExecutionError)
14    pub fn start_execution(&self) -> crate::operation::start_execution::builders::StartExecutionFluentBuilder {
15        crate::operation::start_execution::builders::StartExecutionFluentBuilder::new(self.handle.clone())
16    }
17}