1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateStateMachine`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_name):<br>required: **true**<br><p>The name of the state machine.</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>
    ///   - [`definition(impl Into<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::definition) / [`set_definition(Option<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_definition):<br>required: **true**<br><p>The Amazon States Language definition of the state machine. See <a href="https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html">Amazon States Language</a>.</p><br>
    ///   - [`role_arn(impl Into<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_role_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the IAM role to use for this state machine.</p><br>
    ///   - [`r#type(StateMachineType)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::type) / [`set_type(Option<StateMachineType>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_type):<br>required: **false**<br><p>Determines whether a Standard or Express state machine is created. The default is <code>STANDARD</code>. You cannot update the <code>type</code> of a state machine once it has been created.</p><br>
    ///   - [`logging_configuration(LoggingConfiguration)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::logging_configuration) / [`set_logging_configuration(Option<LoggingConfiguration>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_logging_configuration):<br>required: **false**<br><p>Defines what execution history events are logged and where they are logged.</p><note>  <p>By default, the <code>level</code> is set to <code>OFF</code>. For more information see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html">Log Levels</a> in the Step Functions User Guide.</p> </note><br>
    ///   - [`tags(Tag)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_tags):<br>required: **false**<br><p>Tags to be added when creating a state machine.</p> <p>An array of key-value pairs. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost Management User Guide</i>, and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html">Controlling Access Using IAM Tags</a>.</p> <p>Tags may only contain Unicode letters, digits, white space, or these symbols: <code>_ . : / = + - @</code>.</p><br>
    ///   - [`tracing_configuration(TracingConfiguration)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::tracing_configuration) / [`set_tracing_configuration(Option<TracingConfiguration>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_tracing_configuration):<br>required: **false**<br><p>Selects whether X-Ray tracing is enabled.</p><br>
    ///   - [`publish(bool)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::publish) / [`set_publish(Option<bool>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_publish):<br>required: **false**<br><p>Set to <code>true</code> to publish the first version of the state machine during creation. The default is <code>false</code>.</p><br>
    ///   - [`version_description(impl Into<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::version_description) / [`set_version_description(Option<String>)`](crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::set_version_description):<br>required: **false**<br><p>Sets description about the state machine version. You can only set the description if the <code>publish</code> parameter is set to <code>true</code>. Otherwise, if you set <code>versionDescription</code>, but <code>publish</code> to <code>false</code>, this API action throws <code>ValidationException</code>.</p><br>
    /// - On success, responds with [`CreateStateMachineOutput`](crate::operation::create_state_machine::CreateStateMachineOutput) with field(s):
    ///   - [`state_machine_arn(String)`](crate::operation::create_state_machine::CreateStateMachineOutput::state_machine_arn): <p>The Amazon Resource Name (ARN) that identifies the created state machine.</p>
    ///   - [`creation_date(DateTime)`](crate::operation::create_state_machine::CreateStateMachineOutput::creation_date): <p>The date the state machine is created.</p>
    ///   - [`state_machine_version_arn(Option<String>)`](crate::operation::create_state_machine::CreateStateMachineOutput::state_machine_version_arn): <p>The Amazon Resource Name (ARN) that identifies the created state machine version. If you do not set the <code>publish</code> parameter to <code>true</code>, this field returns null value.</p>
    /// - On failure, responds with [`SdkError<CreateStateMachineError>`](crate::operation::create_state_machine::CreateStateMachineError)
    pub fn create_state_machine(&self) -> crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder {
        crate::operation::create_state_machine::builders::CreateStateMachineFluentBuilder::new(self.handle.clone())
    }
}