1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`StartExecution`](crate::operation::start_execution::builders::StartExecutionFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`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>
    ///   - [`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>)</p></li> </ul> <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p><br>
    ///   - [`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>"input": "{\"first_name\" : \"test\"}"</code></p><note>  <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"input": "{}"</code></p> </note> <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p><br>
    ///   - [`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><br>
    /// - On success, responds with [`StartExecutionOutput`](crate::operation::start_execution::StartExecutionOutput) with field(s):
    ///   - [`execution_arn(String)`](crate::operation::start_execution::StartExecutionOutput::execution_arn): <p>The Amazon Resource Name (ARN) that identifies the execution.</p>
    ///   - [`start_date(DateTime)`](crate::operation::start_execution::StartExecutionOutput::start_date): <p>The date the execution is started.</p>
    /// - On failure, responds with [`SdkError<StartExecutionError>`](crate::operation::start_execution::StartExecutionError)
    pub fn start_execution(&self) -> crate::operation::start_execution::builders::StartExecutionFluentBuilder {
        crate::operation::start_execution::builders::StartExecutionFluentBuilder::new(self.handle.clone())
    }
}