# AWS::StepFunctions::StateMachine Resource schema for StateMachine ## Syntax To declare this entity in your AWS CloudFormation template, use the following syntax: ### JSON
{
    "Type" : "AWS::StepFunctions::StateMachine",
    "Properties" : {
        "DefinitionString" : String,
        "RoleArn" : String,
        "StateMachineName" : String,
        "StateMachineType" : String,
        "LoggingConfiguration" : LoggingConfiguration,
        "TracingConfiguration" : TracingConfiguration,
        "DefinitionS3Location" : S3Location,
        "DefinitionSubstitutions" : DefinitionSubstitutions,
        "Definition" : Map,
        "Tags" : [ TagsEntry, ... ]
    }
}
### YAML
Type: AWS::StepFunctions::StateMachine
Properties:
    DefinitionString: String
    RoleArn: String
    StateMachineName: String
    StateMachineType: String
    LoggingConfiguration: LoggingConfiguration
    TracingConfiguration: TracingConfiguration
    DefinitionS3Location: S3Location
    DefinitionSubstitutions: DefinitionSubstitutions
    Definition: Map
    Tags: 
      - TagsEntry
## Properties #### DefinitionString _Required_: No _Type_: String _Minimum_: 1 _Maximum_: 1048576 _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### RoleArn _Required_: Yes _Type_: String _Minimum_: 1 _Maximum_: 256 _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### StateMachineName _Required_: No _Type_: String _Minimum_: 1 _Maximum_: 80 _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### StateMachineType _Required_: No _Type_: String _Allowed Values_: STANDARD | EXPRESS _Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) #### LoggingConfiguration _Required_: No _Type_: LoggingConfiguration _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### TracingConfiguration _Required_: No _Type_: TracingConfiguration _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### DefinitionS3Location _Required_: No _Type_: S3Location _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### DefinitionSubstitutions _Required_: No _Type_: DefinitionSubstitutions _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### Definition _Required_: No _Type_: Map _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) #### Tags _Required_: No _Type_: List of TagsEntry _Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) ## Return Values ### Ref When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the Arn. ### Fn::GetAtt The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values. For more information about using the `Fn::GetAtt` intrinsic function, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html). #### Arn Returns the Arn value. #### Name Returns the Name value.