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 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;")
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;",
});
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 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",
},
])
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",
},
],
});
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 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",
},
])
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",
},
],
});
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 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")
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",
});
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:
- Role
Arn 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 .
- Definition
S3Location 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.
- Definition
String string - The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- Definition
Substitutions 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,...}
.- Encryption
Configuration Pulumi.Aws Native. Step Functions. Inputs. State Machine Encryption Configuration - Encryption configuration for the state machine.
- Logging
Configuration 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
level
is set toOFF
. For more information see Log Levels in the AWS Step Functions User Guide.- State
Machine 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.
- State
Machine Pulumi.Type Aws Native. Step Functions. State Machine Type - Determines whether a
STANDARD
orEXPRESS
state machine is created. The default isSTANDARD
. You cannot update thetype
of a state machine once it has been created. For more information onSTANDARD
andEXPRESS
workflows, 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:
_ . : / = + - @
.- Tracing
Configuration Pulumi.Aws Native. Step Functions. Inputs. State Machine Tracing Configuration - Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- Role
Arn string - The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- Definition
State
Machine 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
S3Location 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.
- Definition
String string - The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- Definition
Substitutions 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,...}
.- 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
level
is set toOFF
. For more information see Log Levels in the AWS Step Functions User Guide.- State
Machine 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.
- State
Machine StateType Machine Type - Determines whether a
STANDARD
orEXPRESS
state machine is created. The default isSTANDARD
. You cannot update thetype
of a state machine once it has been created. For more information onSTANDARD
andEXPRESS
workflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide. - Tag
Args 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.
- role
Arn String - The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- definition
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 .
- definition
S3Location 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.
- definition
String String - The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definition
Substitutions 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,...}
.- encryption
Configuration StateMachine Encryption Configuration - Encryption configuration for the state machine.
- logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged.
By default, the
level
is set toOFF
. For more information see Log Levels in the AWS Step Functions User Guide.- state
Machine 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.
- state
Machine StateType Machine Type - Determines whether a
STANDARD
orEXPRESS
state machine is created. The default isSTANDARD
. You cannot update thetype
of a state machine once it has been created. For more information onSTANDARD
andEXPRESS
workflows, 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:
_ . : / = + - @
.- tracing
Configuration StateMachine Tracing Configuration - Selects whether or not the state machine's AWS X-Ray tracing is enabled.
- role
Arn string - The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- definition
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 .
- definition
S3Location 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.
- definition
String string - The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definition
Substitutions {[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,...}
.- encryption
Configuration StateMachine Encryption Configuration - Encryption configuration for the state machine.
- logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged.
By default, the
level
is set toOFF
. For more information see Log Levels in the AWS Step Functions User Guide.- state
Machine 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.
- state
Machine StateType Machine Type - Determines whether a
STANDARD
orEXPRESS
state machine is created. The default isSTANDARD
. You cannot update thetype
of a state machine once it has been created. For more information onSTANDARD
andEXPRESS
workflows, 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:
_ . : / = + - @
.- tracing
Configuration 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
State
Machine 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
level
is set toOFF
. 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
STANDARD
orEXPRESS
state machine is created. The default isSTANDARD
. You cannot update thetype
of a state machine once it has been created. For more information onSTANDARD
andEXPRESS
workflows, see Standard Versus Express Workflows in the AWS Step Functions Developer Guide. - Sequence[Tag
Args] 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.
- role
Arn 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 .
- definition
S3Location 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.
- definition
String String - The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See Amazon States Language .
- definition
Substitutions 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,...}
.- encryption
Configuration Property Map - Encryption configuration for the state machine.
- logging
Configuration Property Map Defines what execution history events are logged and where they are logged.
By default, the
level
is set toOFF
. For more information see Log Levels in the AWS Step Functions User Guide.- state
Machine 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.
- state
Machine "STANDARD" | "EXPRESS"Type - Determines whether a
STANDARD
orEXPRESS
state machine is created. The default isSTANDARD
. You cannot update thetype
of a state machine once it has been created. For more information onSTANDARD
andEXPRESS
workflows, 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:
_ . : / = + - @
.- tracing
Configuration 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 .- State
Machine 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 .- State
Machine 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 .- state
Machine 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 .- state
Machine 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 .- state
Machine 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
- Log
Group stringArn - The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with
:*
- Log
Group stringArn - The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with
:*
- log
Group StringArn - The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with
:*
- log
Group 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
:*
- log
Group 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.
- 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 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
State
Machine 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 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
State
Machine Encryption Configuration Type - Encryption option for a state machine.
- kms
Data 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. - kms
Key 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
State
Machine Encryption Configuration Type - Encryption option for a state machine.
- kms
Data 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. - kms
Key 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
State
Machine 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.
- kms
Data 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. - kms
Key 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
- Customer
Managed Kms Key - CUSTOMER_MANAGED_KMS_KEY
- Aws
Owned Key - AWS_OWNED_KEY
- State
Machine Encryption Configuration Type Customer Managed Kms Key - CUSTOMER_MANAGED_KMS_KEY
- State
Machine Encryption Configuration Type Aws Owned 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
- 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
- Cloud
Watch 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.
- 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.
- 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.
- 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.
- 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.
- cloud
Watch 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
. - Include
Execution 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
[]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
. - Include
Execution boolData - Determines whether execution data is included in your log. When set to
false
, data is excluded. - Level
State
Machine Logging Configuration Level - Defines which category of execution history events are logged.
- destinations
List<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
. - include
Execution BooleanData - Determines whether execution data is included in your log. When set to
false
, data is excluded. - level
State
Machine Logging Configuration Level - Defines which category of execution history events are logged.
- destinations
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
. - include
Execution booleanData - Determines whether execution data is included in your log. When set to
false
, data is excluded. - level
State
Machine Logging Configuration Level - Defines which category of execution history events are logged.
- destinations
Sequence[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
. - include_
execution_ booldata - Determines whether execution data is included in your log. When set to
false
, data is excluded. - level
State
Machine 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
. - include
Execution 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
- State
Machine Logging Configuration Level All - ALL
- State
Machine Logging Configuration Level Error - ERROR
- State
Machine Logging Configuration Level Fatal - FATAL
- State
Machine 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
- State
Machine Type Standard - STANDARD
- State
Machine 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.