We recommend new projects start with resources from the AWS provider.
aws-native.stepfunctions.StateMachine
Explore with Pulumi AI
We recommend new projects start with resources from the AWS provider.
Resource schema for StateMachine
Example Usage
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var myStateMachine = new AwsNative.StepFunctions.StateMachine("myStateMachine", new()
    {
        StateMachineName = "HelloWorld-StateMachine",
        StateMachineType = AwsNative.StepFunctions.StateMachineType.Standard,
        DefinitionString = "{\"StartAt\": \"HelloWorld\",  \"States\": {\"HelloWorld\": {\"Type\": \"Task\", \"Resource\":  \"arn:aws:lambda:us-east-1:111122223333;:function:HelloFunction\", \"End\": true}}}",
        RoleArn = "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1;",
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/stepfunctions"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := stepfunctions.NewStateMachine(ctx, "myStateMachine", &stepfunctions.StateMachineArgs{
			StateMachineName: pulumi.String("HelloWorld-StateMachine"),
			StateMachineType: stepfunctions.StateMachineTypeStandard,
			DefinitionString: pulumi.String("{\"StartAt\": \"HelloWorld\",  \"States\": {\"HelloWorld\": {\"Type\": \"Task\", \"Resource\":  \"arn:aws:lambda:us-east-1:111122223333;:function:HelloFunction\", \"End\": true}}}"),
			RoleArn:          pulumi.String("arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1;"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myStateMachine = new aws_native.stepfunctions.StateMachine("myStateMachine", {
    stateMachineName: "HelloWorld-StateMachine",
    stateMachineType: aws_native.stepfunctions.StateMachineType.Standard,
    definitionString: "{\"StartAt\": \"HelloWorld\",  \"States\": {\"HelloWorld\": {\"Type\": \"Task\", \"Resource\":  \"arn:aws:lambda:us-east-1:111122223333;:function:HelloFunction\", \"End\": true}}}",
    roleArn: "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1;",
});
import pulumi
import pulumi_aws_native as aws_native
my_state_machine = aws_native.stepfunctions.StateMachine("myStateMachine",
    state_machine_name="HelloWorld-StateMachine",
    state_machine_type=aws_native.stepfunctions.StateMachineType.STANDARD,
    definition_string="{\"StartAt\": \"HelloWorld\",  \"States\": {\"HelloWorld\": {\"Type\": \"Task\", \"Resource\":  \"arn:aws:lambda:us-east-1:111122223333;:function:HelloFunction\", \"End\": true}}}",
    role_arn="arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1;")
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var myStateMachine = new AwsNative.StepFunctions.StateMachine("myStateMachine", new()
    {
        StateMachineName = "HelloWorld-StateMachine",
        StateMachineType = AwsNative.StepFunctions.StateMachineType.Standard,
        DefinitionString = @"{
    ""StartAt"": ""HelloWorld"",
    ""States"" : {
        ""HelloWorld"" : {
            ""Type"" : ""Task"", 
            ""Resource"" : ""arn:aws:lambda:us-east-1:111122223333:function:HelloFunction"",
            ""End"" : true
        }
    }
}",
        RoleArn = "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
        Tags = new[]
        {
            new AwsNative.Inputs.TagArgs
            {
                Key = "keyname1",
                Value = "value1",
            },
            new AwsNative.Inputs.TagArgs
            {
                Key = "keyname2",
                Value = "value2",
            },
        },
    });
});
package main
import (
	awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/stepfunctions"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := stepfunctions.NewStateMachine(ctx, "myStateMachine", &stepfunctions.StateMachineArgs{
			StateMachineName: pulumi.String("HelloWorld-StateMachine"),
			StateMachineType: stepfunctions.StateMachineTypeStandard,
			DefinitionString: pulumi.String(`{
    "StartAt": "HelloWorld",
    "States" : {
        "HelloWorld" : {
            "Type" : "Task", 
            "Resource" : "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
            "End" : true
        }
    }
}`),
			RoleArn: pulumi.String("arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1"),
			Tags: aws.TagArray{
				&aws.TagArgs{
					Key:   pulumi.String("keyname1"),
					Value: pulumi.String("value1"),
				},
				&aws.TagArgs{
					Key:   pulumi.String("keyname2"),
					Value: pulumi.String("value2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myStateMachine = new aws_native.stepfunctions.StateMachine("myStateMachine", {
    stateMachineName: "HelloWorld-StateMachine",
    stateMachineType: aws_native.stepfunctions.StateMachineType.Standard,
    definitionString: `{
    "StartAt": "HelloWorld",
    "States" : {
        "HelloWorld" : {
            "Type" : "Task", 
            "Resource" : "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
            "End" : true
        }
    }
}`,
    roleArn: "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
    tags: [
        {
            key: "keyname1",
            value: "value1",
        },
        {
            key: "keyname2",
            value: "value2",
        },
    ],
});
import pulumi
import pulumi_aws_native as aws_native
my_state_machine = aws_native.stepfunctions.StateMachine("myStateMachine",
    state_machine_name="HelloWorld-StateMachine",
    state_machine_type=aws_native.stepfunctions.StateMachineType.STANDARD,
    definition_string="""{
    "StartAt": "HelloWorld",
    "States" : {
        "HelloWorld" : {
            "Type" : "Task", 
            "Resource" : "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
            "End" : true
        }
    }
}""",
    role_arn="arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
    tags=[
        {
            "key": "keyname1",
            "value": "value1",
        },
        {
            "key": "keyname2",
            "value": "value2",
        },
    ])
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var myStateMachine = new AwsNative.StepFunctions.StateMachine("myStateMachine", new()
    {
        StateMachineName = "HelloWorld-StateMachine",
        DefinitionString = @"{
  ""StartAt"": ""HelloWorld"",
  ""States"": {
    ""HelloWorld"": {
      ""Type"": ""Task"",
      ""Resource"": ""arn:aws:lambda:us-east-1:111122223333:function:HelloFunction"",
      ""End"": true
    }
  }
}",
        RoleArn = "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
        Tags = new[]
        {
            new AwsNative.Inputs.TagArgs
            {
                Key = "keyname1",
                Value = "value1",
            },
            new AwsNative.Inputs.TagArgs
            {
                Key = "keyname2",
                Value = "value2",
            },
        },
    });
});
package main
import (
	awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/stepfunctions"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := stepfunctions.NewStateMachine(ctx, "myStateMachine", &stepfunctions.StateMachineArgs{
			StateMachineName: pulumi.String("HelloWorld-StateMachine"),
			DefinitionString: pulumi.String(`{
  "StartAt": "HelloWorld",
  "States": {
    "HelloWorld": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
      "End": true
    }
  }
}`),
			RoleArn: pulumi.String("arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1"),
			Tags: aws.TagArray{
				&aws.TagArgs{
					Key:   pulumi.String("keyname1"),
					Value: pulumi.String("value1"),
				},
				&aws.TagArgs{
					Key:   pulumi.String("keyname2"),
					Value: pulumi.String("value2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myStateMachine = new aws_native.stepfunctions.StateMachine("myStateMachine", {
    stateMachineName: "HelloWorld-StateMachine",
    definitionString: `{
  "StartAt": "HelloWorld",
  "States": {
    "HelloWorld": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
      "End": true
    }
  }
}`,
    roleArn: "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
    tags: [
        {
            key: "keyname1",
            value: "value1",
        },
        {
            key: "keyname2",
            value: "value2",
        },
    ],
});
import pulumi
import pulumi_aws_native as aws_native
my_state_machine = aws_native.stepfunctions.StateMachine("myStateMachine",
    state_machine_name="HelloWorld-StateMachine",
    definition_string="""{
  "StartAt": "HelloWorld",
  "States": {
    "HelloWorld": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
      "End": true
    }
  }
}""",
    role_arn="arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
    tags=[
        {
            "key": "keyname1",
            "value": "value1",
        },
        {
            "key": "keyname2",
            "value": "value2",
        },
    ])
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var myStateMachine = new AwsNative.StepFunctions.StateMachine("myStateMachine", new()
    {
        StateMachineName = "HelloWorld-StateMachine",
        DefinitionS3Location = new AwsNative.StepFunctions.Inputs.StateMachineS3LocationArgs
        {
            Bucket = "example_bucket",
            Key = "hello_world.json",
        },
        DefinitionSubstitutions = 
        {
            { "helloFunction", "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction" },
        },
        RoleArn = "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/stepfunctions"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := stepfunctions.NewStateMachine(ctx, "myStateMachine", &stepfunctions.StateMachineArgs{
			StateMachineName: pulumi.String("HelloWorld-StateMachine"),
			DefinitionS3Location: &stepfunctions.StateMachineS3LocationArgs{
				Bucket: pulumi.String("example_bucket"),
				Key:    pulumi.String("hello_world.json"),
			},
			DefinitionSubstitutions: pulumi.Map{
				"helloFunction": pulumi.Any("arn:aws:lambda:us-east-1:111122223333:function:HelloFunction"),
			},
			RoleArn: pulumi.String("arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myStateMachine = new aws_native.stepfunctions.StateMachine("myStateMachine", {
    stateMachineName: "HelloWorld-StateMachine",
    definitionS3Location: {
        bucket: "example_bucket",
        key: "hello_world.json",
    },
    definitionSubstitutions: {
        helloFunction: "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
    },
    roleArn: "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1",
});
import pulumi
import pulumi_aws_native as aws_native
my_state_machine = aws_native.stepfunctions.StateMachine("myStateMachine",
    state_machine_name="HelloWorld-StateMachine",
    definition_s3_location={
        "bucket": "example_bucket",
        "key": "hello_world.json",
    },
    definition_substitutions={
        "helloFunction": "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction",
    },
    role_arn="arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1")
Coming soon!
Create StateMachine Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new StateMachine(name: string, args: StateMachineArgs, opts?: CustomResourceOptions);@overload
def StateMachine(resource_name: str,
                 args: StateMachineArgs,
                 opts: Optional[ResourceOptions] = None)
@overload
def StateMachine(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 role_arn: Optional[str] = None,
                 definition: Optional[StateMachineDefinitionArgs] = None,
                 definition_s3_location: Optional[StateMachineS3LocationArgs] = None,
                 definition_string: Optional[str] = None,
                 definition_substitutions: Optional[Mapping[str, Union[str, int, bool]]] = None,
                 encryption_configuration: Optional[StateMachineEncryptionConfigurationArgs] = None,
                 logging_configuration: Optional[StateMachineLoggingConfigurationArgs] = None,
                 state_machine_name: Optional[str] = None,
                 state_machine_type: Optional[StateMachineType] = None,
                 tags: Optional[Sequence[_root_inputs.TagArgs]] = None,
                 tracing_configuration: Optional[StateMachineTracingConfigurationArgs] = None)func NewStateMachine(ctx *Context, name string, args StateMachineArgs, opts ...ResourceOption) (*StateMachine, error)public StateMachine(string name, StateMachineArgs args, CustomResourceOptions? opts = null)
public StateMachine(String name, StateMachineArgs args)
public StateMachine(String name, StateMachineArgs args, CustomResourceOptions options)
type: aws-native:stepfunctions:StateMachine
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args StateMachineArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args StateMachineArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args StateMachineArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args StateMachineArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args StateMachineArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
StateMachine Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The StateMachine resource accepts the following input properties:
- RoleArn string
- The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- Definition
Pulumi.Aws Native. Step Functions. Inputs. State Machine Definition 
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
- DefinitionS3Location Pulumi.Aws Native. Step Functions. Inputs. State Machine S3Location 
- The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
- DefinitionString string
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- DefinitionSubstitutions Dictionary<string, object>
- A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. - Substitutions must follow the syntax: - ${key_name}or- ${variable_1,variable_2,...}.
- EncryptionConfiguration Pulumi.Aws Native. Step Functions. Inputs. State Machine Encryption Configuration 
- Encryption configuration for the state machine.
- LoggingConfiguration Pulumi.Aws Native. Step Functions. Inputs. State Machine Logging Configuration 
- Defines what execution history events are logged and where they are logged. - By default, the - levelis set to- OFF. For more information see Log Levels in the AWS Step Functions User Guide.
- StateMachine stringName 
- The name of the state machine. - A name must not contain: - white space
- brackets < > { } [ ]
- wildcard characters ? *
- special characters " # % \ ^ | ~$ & , ; : /`
- control characters ( U+0000-001F,U+007F-009F)
 - If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. 
- StateMachine Pulumi.Type Aws Native. Step Functions. State Machine Type 
- Determines whether a STANDARDorEXPRESSstate machine is created. The default isSTANDARD. You cannot update thetypeof a state machine once it has been created. For more information onSTANDARDandEXPRESSworkflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
- 
List<Pulumi.Aws Native. Inputs. Tag> 
- The list of tags to add to a resource. - Tags may only contain Unicode letters, digits, white space, or these symbols: - _ . : / = + - @.
- TracingConfiguration Pulumi.Aws Native. Step Functions. Inputs. State Machine Tracing Configuration 
- Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- RoleArn string
- The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- Definition
StateMachine Definition Args 
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
- DefinitionS3Location StateMachine S3Location Args 
- The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
- DefinitionString string
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- DefinitionSubstitutions map[string]interface{}
- A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. - Substitutions must follow the syntax: - ${key_name}or- ${variable_1,variable_2,...}.
- EncryptionConfiguration StateMachine Encryption Configuration Args 
- Encryption configuration for the state machine.
- LoggingConfiguration StateMachine Logging Configuration Args 
- Defines what execution history events are logged and where they are logged. - By default, the - levelis set to- OFF. For more information see Log Levels in the AWS Step Functions User Guide.
- StateMachine stringName 
- The name of the state machine. - A name must not contain: - white space
- brackets < > { } [ ]
- wildcard characters ? *
- special characters " # % \ ^ | ~$ & , ; : /`
- control characters ( U+0000-001F,U+007F-009F)
 - If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. 
- StateMachine StateType Machine Type 
- Determines whether a STANDARDorEXPRESSstate machine is created. The default isSTANDARD. You cannot update thetypeof a state machine once it has been created. For more information onSTANDARDandEXPRESSworkflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
- 
TagArgs 
- The list of tags to add to a resource. - Tags may only contain Unicode letters, digits, white space, or these symbols: - _ . : / = + - @.
- TracingConfiguration StateMachine Tracing Configuration Args 
- Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- roleArn String
- The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- definition
StateMachine Definition 
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
- definitionS3Location StateMachine S3Location 
- The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
- definitionString String
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definitionSubstitutions Map<String,Object>
- A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. - Substitutions must follow the syntax: - ${key_name}or- ${variable_1,variable_2,...}.
- encryptionConfiguration StateMachine Encryption Configuration 
- Encryption configuration for the state machine.
- loggingConfiguration StateMachine Logging Configuration 
- Defines what execution history events are logged and where they are logged. - By default, the - levelis set to- OFF. For more information see Log Levels in the AWS Step Functions User Guide.
- stateMachine StringName 
- The name of the state machine. - A name must not contain: - white space
- brackets < > { } [ ]
- wildcard characters ? *
- special characters " # % \ ^ | ~$ & , ; : /`
- control characters ( U+0000-001F,U+007F-009F)
 - If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. 
- stateMachine StateType Machine Type 
- Determines whether a STANDARDorEXPRESSstate machine is created. The default isSTANDARD. You cannot update thetypeof a state machine once it has been created. For more information onSTANDARDandEXPRESSworkflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
- List<Tag>
- The list of tags to add to a resource. - Tags may only contain Unicode letters, digits, white space, or these symbols: - _ . : / = + - @.
- tracingConfiguration StateMachine Tracing Configuration 
- Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- roleArn string
- The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- definition
StateMachine Definition 
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
- definitionS3Location StateMachine S3Location 
- The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
- definitionString string
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definitionSubstitutions {[key: string]: string | number | boolean}
- A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. - Substitutions must follow the syntax: - ${key_name}or- ${variable_1,variable_2,...}.
- encryptionConfiguration StateMachine Encryption Configuration 
- Encryption configuration for the state machine.
- loggingConfiguration StateMachine Logging Configuration 
- Defines what execution history events are logged and where they are logged. - By default, the - levelis set to- OFF. For more information see Log Levels in the AWS Step Functions User Guide.
- stateMachine stringName 
- The name of the state machine. - A name must not contain: - white space
- brackets < > { } [ ]
- wildcard characters ? *
- special characters " # % \ ^ | ~$ & , ; : /`
- control characters ( U+0000-001F,U+007F-009F)
 - If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. 
- stateMachine StateType Machine Type 
- Determines whether a STANDARDorEXPRESSstate machine is created. The default isSTANDARD. You cannot update thetypeof a state machine once it has been created. For more information onSTANDARDandEXPRESSworkflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
- Tag[]
- The list of tags to add to a resource. - Tags may only contain Unicode letters, digits, white space, or these symbols: - _ . : / = + - @.
- tracingConfiguration StateMachine Tracing Configuration 
- Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- role_arn str
- The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- definition
StateMachine Definition Args 
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
- definition_s3_ Statelocation Machine S3Location Args 
- The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
- definition_string str
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definition_substitutions Mapping[str, Union[str, int, bool]]
- A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. - Substitutions must follow the syntax: - ${key_name}or- ${variable_1,variable_2,...}.
- encryption_configuration StateMachine Encryption Configuration Args 
- Encryption configuration for the state machine.
- logging_configuration StateMachine Logging Configuration Args 
- Defines what execution history events are logged and where they are logged. - By default, the - levelis set to- OFF. For more information see Log Levels in the AWS Step Functions User Guide.
- state_machine_ strname 
- The name of the state machine. - A name must not contain: - white space
- brackets < > { } [ ]
- wildcard characters ? *
- special characters " # % \ ^ | ~$ & , ; : /`
- control characters ( U+0000-001F,U+007F-009F)
 - If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. 
- state_machine_ Statetype Machine Type 
- Determines whether a STANDARDorEXPRESSstate machine is created. The default isSTANDARD. You cannot update thetypeof a state machine once it has been created. For more information onSTANDARDandEXPRESSworkflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
- 
Sequence[TagArgs] 
- The list of tags to add to a resource. - Tags may only contain Unicode letters, digits, white space, or these symbols: - _ . : / = + - @.
- tracing_configuration StateMachine Tracing Configuration Args 
- Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- roleArn String
- The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- definition Property Map
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See Amazon States Language .
- definitionS3Location Property Map
- The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
- definitionString String
- The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definitionSubstitutions Map<String | Number | Boolean>
- A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. - Substitutions must follow the syntax: - ${key_name}or- ${variable_1,variable_2,...}.
- encryptionConfiguration Property Map
- Encryption configuration for the state machine.
- loggingConfiguration Property Map
- Defines what execution history events are logged and where they are logged. - By default, the - levelis set to- OFF. For more information see Log Levels in the AWS Step Functions User Guide.
- stateMachine StringName 
- The name of the state machine. - A name must not contain: - white space
- brackets < > { } [ ]
- wildcard characters ? *
- special characters " # % \ ^ | ~$ & , ; : /`
- control characters ( U+0000-001F,U+007F-009F)
 - If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. 
- stateMachine "STANDARD" | "EXPRESS"Type 
- Determines whether a STANDARDorEXPRESSstate machine is created. The default isSTANDARD. You cannot update thetypeof a state machine once it has been created. For more information onSTANDARDandEXPRESSworkflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide.
- List<Property Map>
- The list of tags to add to a resource. - Tags may only contain Unicode letters, digits, white space, or these symbols: - _ . : / = + - @.
- tracingConfiguration Property Map
- Selects whether or not the state machine's AWS X-Ray tracing is enabled.
Outputs
All input properties are implicitly available as output properties. Additionally, the StateMachine resource produces the following output properties:
- Arn string
- Returns the ARN of the resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Returns the name of the state machine. For example: - { "Fn::GetAtt": ["MyStateMachine", "Name"] }- Returns the name of your state machine: - HelloWorld-StateMachine- If you did not specify the name it will be similar to the following: - MyStateMachine-1234abcdefgh- For more information about using - Fn::GetAtt, see Fn::GetAtt .
- StateMachine stringRevision Id 
- Identifier for a state machine revision, which is an immutable, read-only snapshot of a state machine’s definition and configuration.
- Arn string
- Returns the ARN of the resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Returns the name of the state machine. For example: - { "Fn::GetAtt": ["MyStateMachine", "Name"] }- Returns the name of your state machine: - HelloWorld-StateMachine- If you did not specify the name it will be similar to the following: - MyStateMachine-1234abcdefgh- For more information about using - Fn::GetAtt, see Fn::GetAtt .
- StateMachine stringRevision Id 
- Identifier for a state machine revision, which is an immutable, read-only snapshot of a state machine’s definition and configuration.
- arn String
- Returns the ARN of the resource.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- Returns the name of the state machine. For example: - { "Fn::GetAtt": ["MyStateMachine", "Name"] }- Returns the name of your state machine: - HelloWorld-StateMachine- If you did not specify the name it will be similar to the following: - MyStateMachine-1234abcdefgh- For more information about using - Fn::GetAtt, see Fn::GetAtt .
- stateMachine StringRevision Id 
- Identifier for a state machine revision, which is an immutable, read-only snapshot of a state machine’s definition and configuration.
- arn string
- Returns the ARN of the resource.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- Returns the name of the state machine. For example: - { "Fn::GetAtt": ["MyStateMachine", "Name"] }- Returns the name of your state machine: - HelloWorld-StateMachine- If you did not specify the name it will be similar to the following: - MyStateMachine-1234abcdefgh- For more information about using - Fn::GetAtt, see Fn::GetAtt .
- stateMachine stringRevision Id 
- Identifier for a state machine revision, which is an immutable, read-only snapshot of a state machine’s definition and configuration.
- arn str
- Returns the ARN of the resource.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- Returns the name of the state machine. For example: - { "Fn::GetAtt": ["MyStateMachine", "Name"] }- Returns the name of your state machine: - HelloWorld-StateMachine- If you did not specify the name it will be similar to the following: - MyStateMachine-1234abcdefgh- For more information about using - Fn::GetAtt, see Fn::GetAtt .
- state_machine_ strrevision_ id 
- Identifier for a state machine revision, which is an immutable, read-only snapshot of a state machine’s definition and configuration.
- arn String
- Returns the ARN of the resource.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- Returns the name of the state machine. For example: - { "Fn::GetAtt": ["MyStateMachine", "Name"] }- Returns the name of your state machine: - HelloWorld-StateMachine- If you did not specify the name it will be similar to the following: - MyStateMachine-1234abcdefgh- For more information about using - Fn::GetAtt, see Fn::GetAtt .
- stateMachine StringRevision Id 
- Identifier for a state machine revision, which is an immutable, read-only snapshot of a state machine’s definition and configuration.
Supporting Types
StateMachineCloudWatchLogsLogGroup, StateMachineCloudWatchLogsLogGroupArgs              
- LogGroup stringArn 
- The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*
- LogGroup stringArn 
- The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*
- logGroup StringArn 
- The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*
- logGroup stringArn 
- The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*
- log_group_ strarn 
- The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*
- logGroup StringArn 
- The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*
StateMachineEncryptionConfiguration, StateMachineEncryptionConfigurationArgs        
- Type
Pulumi.Aws Native. Step Functions. State Machine Encryption Configuration Type 
- Encryption option for a state machine.
- KmsData intKey Reuse Period Seconds 
- Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.
- KmsKey stringId 
- An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS KMS key to encrypt data. To specify a AWS KMS key in a different AWS account, you must use the key ARN or alias ARN.
- Type
StateMachine Encryption Configuration Type 
- Encryption option for a state machine.
- KmsData intKey Reuse Period Seconds 
- Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.
- KmsKey stringId 
- An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS KMS key to encrypt data. To specify a AWS KMS key in a different AWS account, you must use the key ARN or alias ARN.
- type
StateMachine Encryption Configuration Type 
- Encryption option for a state machine.
- kmsData IntegerKey Reuse Period Seconds 
- Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.
- kmsKey StringId 
- An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS KMS key to encrypt data. To specify a AWS KMS key in a different AWS account, you must use the key ARN or alias ARN.
- type
StateMachine Encryption Configuration Type 
- Encryption option for a state machine.
- kmsData numberKey Reuse Period Seconds 
- Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.
- kmsKey stringId 
- An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS KMS key to encrypt data. To specify a AWS KMS key in a different AWS account, you must use the key ARN or alias ARN.
- type
StateMachine Encryption Configuration Type 
- Encryption option for a state machine.
- kms_data_ intkey_ reuse_ period_ seconds 
- Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.
- kms_key_ strid 
- An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS KMS key to encrypt data. To specify a AWS KMS key in a different AWS account, you must use the key ARN or alias ARN.
- type "CUSTOMER_MANAGED_KMS_KEY" | "AWS_OWNED_KEY"
- Encryption option for a state machine.
- kmsData NumberKey Reuse Period Seconds 
- Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.
- kmsKey StringId 
- An alias, alias ARN, key ID, or key ARN of a symmetric encryption AWS KMS key to encrypt data. To specify a AWS KMS key in a different AWS account, you must use the key ARN or alias ARN.
StateMachineEncryptionConfigurationType, StateMachineEncryptionConfigurationTypeArgs          
- CustomerManaged Kms Key 
- CUSTOMER_MANAGED_KMS_KEY
- AwsOwned Key 
- AWS_OWNED_KEY
- StateMachine Encryption Configuration Type Customer Managed Kms Key 
- CUSTOMER_MANAGED_KMS_KEY
- StateMachine Encryption Configuration Type Aws Owned Key 
- AWS_OWNED_KEY
- CustomerManaged Kms Key 
- CUSTOMER_MANAGED_KMS_KEY
- AwsOwned Key 
- AWS_OWNED_KEY
- CustomerManaged Kms Key 
- CUSTOMER_MANAGED_KMS_KEY
- AwsOwned Key 
- AWS_OWNED_KEY
- CUSTOMER_MANAGED_KMS_KEY
- CUSTOMER_MANAGED_KMS_KEY
- AWS_OWNED_KEY
- AWS_OWNED_KEY
- "CUSTOMER_MANAGED_KMS_KEY"
- CUSTOMER_MANAGED_KMS_KEY
- "AWS_OWNED_KEY"
- AWS_OWNED_KEY
StateMachineLogDestination, StateMachineLogDestinationArgs        
- CloudWatch Pulumi.Logs Log Group Aws Native. Step Functions. Inputs. State Machine Cloud Watch Logs Log Group 
- An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.
- CloudWatch StateLogs Log Group Machine Cloud Watch Logs Log Group 
- An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.
- cloudWatch StateLogs Log Group Machine Cloud Watch Logs Log Group 
- An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.
- cloudWatch StateLogs Log Group Machine Cloud Watch Logs Log Group 
- An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.
- cloud_watch_ Statelogs_ log_ group Machine Cloud Watch Logs Log Group 
- An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.
- cloudWatch Property MapLogs Log Group 
- An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.
StateMachineLoggingConfiguration, StateMachineLoggingConfigurationArgs        
- Destinations
List<Pulumi.Aws Native. Step Functions. Inputs. State Machine Log Destination> 
- An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
- IncludeExecution boolData 
- Determines whether execution data is included in your log. When set to false, data is excluded.
- Level
Pulumi.Aws Native. Step Functions. State Machine Logging Configuration Level 
- Defines which category of execution history events are logged.
- Destinations
[]StateMachine Log Destination 
- An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
- IncludeExecution boolData 
- Determines whether execution data is included in your log. When set to false, data is excluded.
- Level
StateMachine Logging Configuration Level 
- Defines which category of execution history events are logged.
- destinations
List<StateMachine Log Destination> 
- An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
- includeExecution BooleanData 
- Determines whether execution data is included in your log. When set to false, data is excluded.
- level
StateMachine Logging Configuration Level 
- Defines which category of execution history events are logged.
- destinations
StateMachine Log Destination[] 
- An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
- includeExecution booleanData 
- Determines whether execution data is included in your log. When set to false, data is excluded.
- level
StateMachine Logging Configuration Level 
- Defines which category of execution history events are logged.
- destinations
Sequence[StateMachine Log Destination] 
- An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
- include_execution_ booldata 
- Determines whether execution data is included in your log. When set to false, data is excluded.
- level
StateMachine Logging Configuration Level 
- Defines which category of execution history events are logged.
- destinations List<Property Map>
- An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.
- includeExecution BooleanData 
- Determines whether execution data is included in your log. When set to false, data is excluded.
- level "ALL" | "ERROR" | "FATAL" | "OFF"
- Defines which category of execution history events are logged.
StateMachineLoggingConfigurationLevel, StateMachineLoggingConfigurationLevelArgs          
- All
- ALL
- Error
- ERROR
- Fatal
- FATAL
- Off
- OFF
- StateMachine Logging Configuration Level All 
- ALL
- StateMachine Logging Configuration Level Error 
- ERROR
- StateMachine Logging Configuration Level Fatal 
- FATAL
- StateMachine Logging Configuration Level Off 
- OFF
- All
- ALL
- Error
- ERROR
- Fatal
- FATAL
- Off
- OFF
- All
- ALL
- Error
- ERROR
- Fatal
- FATAL
- Off
- OFF
- ALL
- ALL
- ERROR
- ERROR
- FATAL
- FATAL
- OFF
- OFF
- "ALL"
- ALL
- "ERROR"
- ERROR
- "FATAL"
- FATAL
- "OFF"
- OFF
StateMachineS3Location, StateMachineS3LocationArgs      
StateMachineTracingConfiguration, StateMachineTracingConfigurationArgs        
- Enabled bool
- When set to true, X-Ray tracing is enabled.
- Enabled bool
- When set to true, X-Ray tracing is enabled.
- enabled Boolean
- When set to true, X-Ray tracing is enabled.
- enabled boolean
- When set to true, X-Ray tracing is enabled.
- enabled bool
- When set to true, X-Ray tracing is enabled.
- enabled Boolean
- When set to true, X-Ray tracing is enabled.
StateMachineType, StateMachineTypeArgs      
- Standard
- STANDARD
- Express
- EXPRESS
- StateMachine Type Standard 
- STANDARD
- StateMachine Type Express 
- EXPRESS
- Standard
- STANDARD
- Express
- EXPRESS
- Standard
- STANDARD
- Express
- EXPRESS
- STANDARD
- STANDARD
- EXPRESS
- EXPRESS
- "STANDARD"
- STANDARD
- "EXPRESS"
- EXPRESS
Tag, TagArgs  
Package Details
- Repository
- AWS Native pulumi/pulumi-aws-native
- License
- Apache-2.0
We recommend new projects start with resources from the AWS provider.