Try AWS Native preview for resources not in the classic version.
aws.sfn.StateMachine
Explore with Pulumi AI
Try AWS Native preview for resources not in the classic version.
Provides a Step Function State Machine resource
Example Usage
Basic (Standard Workflow)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// ...
var sfnStateMachine = new Aws.Sfn.StateMachine("sfnStateMachine", new()
{
RoleArn = aws_iam_role.Iam_for_sfn.Arn,
Definition = @$"{{
""Comment"": ""A Hello World example of the Amazon States Language using an AWS Lambda Function"",
""StartAt"": ""HelloWorld"",
""States"": {{
""HelloWorld"": {{
""Type"": ""Task"",
""Resource"": ""{aws_lambda_function.Lambda.Arn}"",
""End"": true
}}
}}
}}
",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sfn.NewStateMachine(ctx, "sfnStateMachine", &sfn.StateMachineArgs{
RoleArn: pulumi.Any(aws_iam_role.Iam_for_sfn.Arn),
Definition: pulumi.String(fmt.Sprintf(`{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%v",
"End": true
}
}
}
`, aws_lambda_function.Lambda.Arn)),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sfn.StateMachine;
import com.pulumi.aws.sfn.StateMachineArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder()
.roleArn(aws_iam_role.iam_for_sfn().arn())
.definition("""
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%s",
"End": true
}
}
}
", aws_lambda_function.lambda().arn()))
.build());
}
}
import pulumi
import pulumi_aws as aws
# ...
sfn_state_machine = aws.sfn.StateMachine("sfnStateMachine",
role_arn=aws_iam_role["iam_for_sfn"]["arn"],
definition=f"""{{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {{
"HelloWorld": {{
"Type": "Task",
"Resource": "{aws_lambda_function["lambda"]["arn"]}",
"End": true
}}
}}
}}
""")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ...
const sfnStateMachine = new aws.sfn.StateMachine("sfnStateMachine", {
roleArn: aws_iam_role.iam_for_sfn.arn,
definition: `{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
`,
});
resources:
# ...
sfnStateMachine:
type: aws:sfn:StateMachine
properties:
roleArn: ${aws_iam_role.iam_for_sfn.arn}
definition: |
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
Basic (Express Workflow)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// ...
var sfnStateMachine = new Aws.Sfn.StateMachine("sfnStateMachine", new()
{
RoleArn = aws_iam_role.Iam_for_sfn.Arn,
Type = "EXPRESS",
Definition = @$"{{
""Comment"": ""A Hello World example of the Amazon States Language using an AWS Lambda Function"",
""StartAt"": ""HelloWorld"",
""States"": {{
""HelloWorld"": {{
""Type"": ""Task"",
""Resource"": ""{aws_lambda_function.Lambda.Arn}"",
""End"": true
}}
}}
}}
",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sfn.NewStateMachine(ctx, "sfnStateMachine", &sfn.StateMachineArgs{
RoleArn: pulumi.Any(aws_iam_role.Iam_for_sfn.Arn),
Type: pulumi.String("EXPRESS"),
Definition: pulumi.String(fmt.Sprintf(`{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%v",
"End": true
}
}
}
`, aws_lambda_function.Lambda.Arn)),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sfn.StateMachine;
import com.pulumi.aws.sfn.StateMachineArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder()
.roleArn(aws_iam_role.iam_for_sfn().arn())
.type("EXPRESS")
.definition("""
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%s",
"End": true
}
}
}
", aws_lambda_function.lambda().arn()))
.build());
}
}
import pulumi
import pulumi_aws as aws
# ...
sfn_state_machine = aws.sfn.StateMachine("sfnStateMachine",
role_arn=aws_iam_role["iam_for_sfn"]["arn"],
type="EXPRESS",
definition=f"""{{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {{
"HelloWorld": {{
"Type": "Task",
"Resource": "{aws_lambda_function["lambda"]["arn"]}",
"End": true
}}
}}
}}
""")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ...
const sfnStateMachine = new aws.sfn.StateMachine("sfnStateMachine", {
roleArn: aws_iam_role.iam_for_sfn.arn,
type: "EXPRESS",
definition: `{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
`,
});
resources:
# ...
sfnStateMachine:
type: aws:sfn:StateMachine
properties:
roleArn: ${aws_iam_role.iam_for_sfn.arn}
type: EXPRESS
definition: |
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
Publish (Publish SFN version)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// ...
var sfnStateMachine = new Aws.Sfn.StateMachine("sfnStateMachine", new()
{
RoleArn = aws_iam_role.Iam_for_sfn.Arn,
Publish = true,
Type = "EXPRESS",
Definition = @$"{{
""Comment"": ""A Hello World example of the Amazon States Language using an AWS Lambda Function"",
""StartAt"": ""HelloWorld"",
""States"": {{
""HelloWorld"": {{
""Type"": ""Task"",
""Resource"": ""{aws_lambda_function.Lambda.Arn}"",
""End"": true
}}
}}
}}
",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sfn.NewStateMachine(ctx, "sfnStateMachine", &sfn.StateMachineArgs{
RoleArn: pulumi.Any(aws_iam_role.Iam_for_sfn.Arn),
Publish: pulumi.Bool(true),
Type: pulumi.String("EXPRESS"),
Definition: pulumi.String(fmt.Sprintf(`{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%v",
"End": true
}
}
}
`, aws_lambda_function.Lambda.Arn)),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sfn.StateMachine;
import com.pulumi.aws.sfn.StateMachineArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder()
.roleArn(aws_iam_role.iam_for_sfn().arn())
.publish(true)
.type("EXPRESS")
.definition("""
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%s",
"End": true
}
}
}
", aws_lambda_function.lambda().arn()))
.build());
}
}
import pulumi
import pulumi_aws as aws
# ...
sfn_state_machine = aws.sfn.StateMachine("sfnStateMachine",
role_arn=aws_iam_role["iam_for_sfn"]["arn"],
publish=True,
type="EXPRESS",
definition=f"""{{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {{
"HelloWorld": {{
"Type": "Task",
"Resource": "{aws_lambda_function["lambda"]["arn"]}",
"End": true
}}
}}
}}
""")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ...
const sfnStateMachine = new aws.sfn.StateMachine("sfnStateMachine", {
roleArn: aws_iam_role.iam_for_sfn.arn,
publish: true,
type: "EXPRESS",
definition: `{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
`,
});
resources:
# ...
sfnStateMachine:
type: aws:sfn:StateMachine
properties:
roleArn: ${aws_iam_role.iam_for_sfn.arn}
publish: true
type: EXPRESS
definition: |
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
Logging
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// ...
var sfnStateMachine = new Aws.Sfn.StateMachine("sfnStateMachine", new()
{
RoleArn = aws_iam_role.Iam_for_sfn.Arn,
Definition = @$"{{
""Comment"": ""A Hello World example of the Amazon States Language using an AWS Lambda Function"",
""StartAt"": ""HelloWorld"",
""States"": {{
""HelloWorld"": {{
""Type"": ""Task"",
""Resource"": ""{aws_lambda_function.Lambda.Arn}"",
""End"": true
}}
}}
}}
",
LoggingConfiguration = new Aws.Sfn.Inputs.StateMachineLoggingConfigurationArgs
{
LogDestination = $"{aws_cloudwatch_log_group.Log_group_for_sfn.Arn}:*",
IncludeExecutionData = true,
Level = "ERROR",
},
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sfn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sfn.NewStateMachine(ctx, "sfnStateMachine", &sfn.StateMachineArgs{
RoleArn: pulumi.Any(aws_iam_role.Iam_for_sfn.Arn),
Definition: pulumi.String(fmt.Sprintf(`{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%v",
"End": true
}
}
}
`, aws_lambda_function.Lambda.Arn)),
LoggingConfiguration: &sfn.StateMachineLoggingConfigurationArgs{
LogDestination: pulumi.String(fmt.Sprintf("%v:*", aws_cloudwatch_log_group.Log_group_for_sfn.Arn)),
IncludeExecutionData: pulumi.Bool(true),
Level: pulumi.String("ERROR"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sfn.StateMachine;
import com.pulumi.aws.sfn.StateMachineArgs;
import com.pulumi.aws.sfn.inputs.StateMachineLoggingConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sfnStateMachine = new StateMachine("sfnStateMachine", StateMachineArgs.builder()
.roleArn(aws_iam_role.iam_for_sfn().arn())
.definition("""
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "%s",
"End": true
}
}
}
", aws_lambda_function.lambda().arn()))
.loggingConfiguration(StateMachineLoggingConfigurationArgs.builder()
.logDestination(String.format("%s:*", aws_cloudwatch_log_group.log_group_for_sfn().arn()))
.includeExecutionData(true)
.level("ERROR")
.build())
.build());
}
}
import pulumi
import pulumi_aws as aws
# ...
sfn_state_machine = aws.sfn.StateMachine("sfnStateMachine",
role_arn=aws_iam_role["iam_for_sfn"]["arn"],
definition=f"""{{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {{
"HelloWorld": {{
"Type": "Task",
"Resource": "{aws_lambda_function["lambda"]["arn"]}",
"End": true
}}
}}
}}
""",
logging_configuration=aws.sfn.StateMachineLoggingConfigurationArgs(
log_destination=f"{aws_cloudwatch_log_group['log_group_for_sfn']['arn']}:*",
include_execution_data=True,
level="ERROR",
))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ...
const sfnStateMachine = new aws.sfn.StateMachine("sfnStateMachine", {
roleArn: aws_iam_role.iam_for_sfn.arn,
definition: `{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
`,
loggingConfiguration: {
logDestination: `${aws_cloudwatch_log_group.log_group_for_sfn.arn}:*`,
includeExecutionData: true,
level: "ERROR",
},
});
resources:
# ...
sfnStateMachine:
type: aws:sfn:StateMachine
properties:
roleArn: ${aws_iam_role.iam_for_sfn.arn}
definition: |
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
loggingConfiguration:
logDestination: ${aws_cloudwatch_log_group.log_group_for_sfn.arn}:*
includeExecutionData: true
level: ERROR
Create StateMachine Resource
new StateMachine(name: string, args: StateMachineArgs, opts?: CustomResourceOptions);
@overload
def StateMachine(resource_name: str,
opts: Optional[ResourceOptions] = None,
definition: Optional[str] = None,
logging_configuration: Optional[StateMachineLoggingConfigurationArgs] = None,
name: Optional[str] = None,
name_prefix: Optional[str] = None,
publish: Optional[bool] = None,
role_arn: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tracing_configuration: Optional[StateMachineTracingConfigurationArgs] = None,
type: Optional[str] = None)
@overload
def StateMachine(resource_name: str,
args: StateMachineArgs,
opts: Optional[ResourceOptions] = 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:sfn:StateMachine
properties: # The arguments to resource properties.
options: # 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.
- 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
The StateMachine resource accepts the following input properties:
- Definition string
The Amazon States Language definition of the state machine.
- Role
Arn string The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- Logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- Name string
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- Name
Prefix string Creates a unique name beginning with the specified prefix. Conflicts with
name
.- Publish bool
Set to true to publish a version of the state machine during creation. Default: false.
- Dictionary<string, string>
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Tracing
Configuration StateMachine Tracing Configuration Selects whether AWS X-Ray tracing is enabled.
- Type string
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.
- Definition string
The Amazon States Language definition of the state machine.
- Role
Arn string The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- Logging
Configuration StateMachine Logging Configuration Args Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- Name string
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- Name
Prefix string Creates a unique name beginning with the specified prefix. Conflicts with
name
.- Publish bool
Set to true to publish a version of the state machine during creation. Default: false.
- map[string]string
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Tracing
Configuration StateMachine Tracing Configuration Args Selects whether AWS X-Ray tracing is enabled.
- Type string
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.
- definition String
The Amazon States Language definition of the state machine.
- role
Arn String The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name String
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name
Prefix String Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish Boolean
Set to true to publish a version of the state machine during creation. Default: false.
- Map<String,String>
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- tracing
Configuration StateMachine Tracing Configuration Selects whether AWS X-Ray tracing is enabled.
- type String
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.
- definition string
The Amazon States Language definition of the state machine.
- role
Arn string The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name string
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name
Prefix string Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish boolean
Set to true to publish a version of the state machine during creation. Default: false.
- {[key: string]: string}
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- tracing
Configuration StateMachine Tracing Configuration Selects whether AWS X-Ray tracing is enabled.
- type string
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.
- definition str
The Amazon States Language definition of the state machine.
- role_
arn str The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- logging_
configuration StateMachine Logging Configuration Args Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name str
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name_
prefix str Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish bool
Set to true to publish a version of the state machine during creation. Default: false.
- Mapping[str, str]
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- tracing_
configuration StateMachine Tracing Configuration Args Selects whether AWS X-Ray tracing is enabled.
- type str
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.
- definition String
The Amazon States Language definition of the state machine.
- role
Arn String The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- logging
Configuration Property Map Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name String
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name
Prefix String Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish Boolean
Set to true to publish a version of the state machine during creation. Default: false.
- Map<String>
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- tracing
Configuration Property Map Selects whether AWS X-Ray tracing is enabled.
- type String
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.
Outputs
All input properties are implicitly available as output properties. Additionally, the StateMachine resource produces the following output properties:
- Arn string
The ARN of the state machine.
- Creation
Date string The date the state machine was created.
- Description string
- Id string
The provider-assigned unique ID for this managed resource.
- Revision
Id string - State
Machine stringVersion Arn - Status string
The current status of the state machine. Either
ACTIVE
orDELETING
.- Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- Version
Description string
- Arn string
The ARN of the state machine.
- Creation
Date string The date the state machine was created.
- Description string
- Id string
The provider-assigned unique ID for this managed resource.
- Revision
Id string - State
Machine stringVersion Arn - Status string
The current status of the state machine. Either
ACTIVE
orDELETING
.- map[string]string
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- Version
Description string
- arn String
The ARN of the state machine.
- creation
Date String The date the state machine was created.
- description String
- id String
The provider-assigned unique ID for this managed resource.
- revision
Id String - state
Machine StringVersion Arn - status String
The current status of the state machine. Either
ACTIVE
orDELETING
.- Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- version
Description String
- arn string
The ARN of the state machine.
- creation
Date string The date the state machine was created.
- description string
- id string
The provider-assigned unique ID for this managed resource.
- revision
Id string - state
Machine stringVersion Arn - status string
The current status of the state machine. Either
ACTIVE
orDELETING
.- {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- version
Description string
- arn str
The ARN of the state machine.
- creation_
date str The date the state machine was created.
- description str
- id str
The provider-assigned unique ID for this managed resource.
- revision_
id str - state_
machine_ strversion_ arn - status str
The current status of the state machine. Either
ACTIVE
orDELETING
.- Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- version_
description str
- arn String
The ARN of the state machine.
- creation
Date String The date the state machine was created.
- description String
- id String
The provider-assigned unique ID for this managed resource.
- revision
Id String - state
Machine StringVersion Arn - status String
The current status of the state machine. Either
ACTIVE
orDELETING
.- Map<String>
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- version
Description String
Look up Existing StateMachine Resource
Get an existing StateMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: StateMachineState, opts?: CustomResourceOptions): StateMachine
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
arn: Optional[str] = None,
creation_date: Optional[str] = None,
definition: Optional[str] = None,
description: Optional[str] = None,
logging_configuration: Optional[StateMachineLoggingConfigurationArgs] = None,
name: Optional[str] = None,
name_prefix: Optional[str] = None,
publish: Optional[bool] = None,
revision_id: Optional[str] = None,
role_arn: Optional[str] = None,
state_machine_version_arn: Optional[str] = None,
status: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
tracing_configuration: Optional[StateMachineTracingConfigurationArgs] = None,
type: Optional[str] = None,
version_description: Optional[str] = None) -> StateMachine
func GetStateMachine(ctx *Context, name string, id IDInput, state *StateMachineState, opts ...ResourceOption) (*StateMachine, error)
public static StateMachine Get(string name, Input<string> id, StateMachineState? state, CustomResourceOptions? opts = null)
public static StateMachine get(String name, Output<String> id, StateMachineState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
The ARN of the state machine.
- Creation
Date string The date the state machine was created.
- Definition string
The Amazon States Language definition of the state machine.
- Description string
- Logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- Name string
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- Name
Prefix string Creates a unique name beginning with the specified prefix. Conflicts with
name
.- Publish bool
Set to true to publish a version of the state machine during creation. Default: false.
- Revision
Id string - Role
Arn string The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- State
Machine stringVersion Arn - Status string
The current status of the state machine. Either
ACTIVE
orDELETING
.- Dictionary<string, string>
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- Tracing
Configuration StateMachine Tracing Configuration Selects whether AWS X-Ray tracing is enabled.
- Type string
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.- Version
Description string
- Arn string
The ARN of the state machine.
- Creation
Date string The date the state machine was created.
- Definition string
The Amazon States Language definition of the state machine.
- Description string
- Logging
Configuration StateMachine Logging Configuration Args Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- Name string
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- Name
Prefix string Creates a unique name beginning with the specified prefix. Conflicts with
name
.- Publish bool
Set to true to publish a version of the state machine during creation. Default: false.
- Revision
Id string - Role
Arn string The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- State
Machine stringVersion Arn - Status string
The current status of the state machine. Either
ACTIVE
orDELETING
.- map[string]string
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- map[string]string
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- Tracing
Configuration StateMachine Tracing Configuration Args Selects whether AWS X-Ray tracing is enabled.
- Type string
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.- Version
Description string
- arn String
The ARN of the state machine.
- creation
Date String The date the state machine was created.
- definition String
The Amazon States Language definition of the state machine.
- description String
- logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name String
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name
Prefix String Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish Boolean
Set to true to publish a version of the state machine during creation. Default: false.
- revision
Id String - role
Arn String The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- state
Machine StringVersion Arn - status String
The current status of the state machine. Either
ACTIVE
orDELETING
.- Map<String,String>
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- tracing
Configuration StateMachine Tracing Configuration Selects whether AWS X-Ray tracing is enabled.
- type String
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.- version
Description String
- arn string
The ARN of the state machine.
- creation
Date string The date the state machine was created.
- definition string
The Amazon States Language definition of the state machine.
- description string
- logging
Configuration StateMachine Logging Configuration Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name string
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name
Prefix string Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish boolean
Set to true to publish a version of the state machine during creation. Default: false.
- revision
Id string - role
Arn string The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- state
Machine stringVersion Arn - status string
The current status of the state machine. Either
ACTIVE
orDELETING
.- {[key: string]: string}
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- tracing
Configuration StateMachine Tracing Configuration Selects whether AWS X-Ray tracing is enabled.
- type string
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.- version
Description string
- arn str
The ARN of the state machine.
- creation_
date str The date the state machine was created.
- definition str
The Amazon States Language definition of the state machine.
- description str
- logging_
configuration StateMachine Logging Configuration Args Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name str
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name_
prefix str Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish bool
Set to true to publish a version of the state machine during creation. Default: false.
- revision_
id str - role_
arn str The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- state_
machine_ strversion_ arn - status str
The current status of the state machine. Either
ACTIVE
orDELETING
.- Mapping[str, str]
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- tracing_
configuration StateMachine Tracing Configuration Args Selects whether AWS X-Ray tracing is enabled.
- type str
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.- version_
description str
- arn String
The ARN of the state machine.
- creation
Date String The date the state machine was created.
- definition String
The Amazon States Language definition of the state machine.
- description String
- logging
Configuration Property Map Defines what execution history events are logged and where they are logged. The
logging_configuration
parameter is only valid whentype
is set toEXPRESS
. Defaults toOFF
. For more information see Logging Express Workflows and Log Levels in the AWS Step Functions User Guide.- name String
The name of the state machine. The name should only contain
0
-9
,A
-Z
,a
-z
,-
and_
. If omitted, the provider will assign a random, unique name.- name
Prefix String Creates a unique name beginning with the specified prefix. Conflicts with
name
.- publish Boolean
Set to true to publish a version of the state machine during creation. Default: false.
- revision
Id String - role
Arn String The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
- state
Machine StringVersion Arn - status String
The current status of the state machine. Either
ACTIVE
orDELETING
.- Map<String>
Key-value map of resource tags. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Map<String>
A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- tracing
Configuration Property Map Selects whether AWS X-Ray tracing is enabled.
- type String
Determines whether a Standard or Express state machine is created. The default is
STANDARD
. You cannot update the type of a state machine once it has been created. Valid values:STANDARD
,EXPRESS
.- version
Description String
Supporting Types
StateMachineLoggingConfiguration, StateMachineLoggingConfigurationArgs
- Include
Execution boolData Determines whether execution data is included in your log. When set to
false
, data is excluded.- Level string
Defines which category of execution history events are logged. Valid values:
ALL
,ERROR
,FATAL
,OFF
- Log
Destination string Amazon Resource Name (ARN) of a CloudWatch log group. Make sure the State Machine has the correct IAM policies for logging. The ARN must end with
:*
- Include
Execution boolData Determines whether execution data is included in your log. When set to
false
, data is excluded.- Level string
Defines which category of execution history events are logged. Valid values:
ALL
,ERROR
,FATAL
,OFF
- Log
Destination string Amazon Resource Name (ARN) of a CloudWatch log group. Make sure the State Machine has the correct IAM policies for logging. The ARN must end with
:*
- include
Execution BooleanData Determines whether execution data is included in your log. When set to
false
, data is excluded.- level String
Defines which category of execution history events are logged. Valid values:
ALL
,ERROR
,FATAL
,OFF
- log
Destination String Amazon Resource Name (ARN) of a CloudWatch log group. Make sure the State Machine has the correct IAM policies for logging. The ARN must end with
:*
- include
Execution booleanData Determines whether execution data is included in your log. When set to
false
, data is excluded.- level string
Defines which category of execution history events are logged. Valid values:
ALL
,ERROR
,FATAL
,OFF
- log
Destination string Amazon Resource Name (ARN) of a CloudWatch log group. Make sure the State Machine has the correct IAM policies for logging. The ARN must end with
:*
- include_
execution_ booldata Determines whether execution data is included in your log. When set to
false
, data is excluded.- level str
Defines which category of execution history events are logged. Valid values:
ALL
,ERROR
,FATAL
,OFF
- log_
destination str Amazon Resource Name (ARN) of a CloudWatch log group. Make sure the State Machine has the correct IAM policies for logging. The ARN must end with
:*
- include
Execution BooleanData Determines whether execution data is included in your log. When set to
false
, data is excluded.- level String
Defines which category of execution history events are logged. Valid values:
ALL
,ERROR
,FATAL
,OFF
- log
Destination String Amazon Resource Name (ARN) of a CloudWatch log group. Make sure the State Machine has the correct IAM policies for logging. The ARN must end with
:*
StateMachineTracingConfiguration, StateMachineTracingConfigurationArgs
- Enabled bool
When set to
true
, AWS X-Ray tracing is enabled. Make sure the State Machine has the correct IAM policies for logging. See the AWS Step Functions Developer Guide for details.
- Enabled bool
When set to
true
, AWS X-Ray tracing is enabled. Make sure the State Machine has the correct IAM policies for logging. See the AWS Step Functions Developer Guide for details.
- enabled Boolean
When set to
true
, AWS X-Ray tracing is enabled. Make sure the State Machine has the correct IAM policies for logging. See the AWS Step Functions Developer Guide for details.
- enabled boolean
When set to
true
, AWS X-Ray tracing is enabled. Make sure the State Machine has the correct IAM policies for logging. See the AWS Step Functions Developer Guide for details.
- enabled bool
When set to
true
, AWS X-Ray tracing is enabled. Make sure the State Machine has the correct IAM policies for logging. See the AWS Step Functions Developer Guide for details.
- enabled Boolean
When set to
true
, AWS X-Ray tracing is enabled. Make sure the State Machine has the correct IAM policies for logging. See the AWS Step Functions Developer Guide for details.
Import
Using pulumi import
, import State Machines using the arn
. For example:
$ pulumi import aws:sfn/stateMachine:StateMachine foo arn:aws:states:eu-west-1:123456789098:stateMachine:bar
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
aws
Terraform Provider.
Try AWS Native preview for resources not in the classic version.