1. Packages
  2. AWS Classic
  3. API Docs
  4. sfn
  5. StateMachine

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.13.0 published on Saturday, Dec 2, 2023 by Pulumi

aws.sfn.StateMachine

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.13.0 published on Saturday, Dec 2, 2023 by Pulumi

    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.

    RoleArn string

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    LoggingConfiguration StateMachineLoggingConfiguration

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    NamePrefix 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.

    Tags 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.

    TracingConfiguration StateMachineTracingConfiguration

    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.

    RoleArn string

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    LoggingConfiguration StateMachineLoggingConfigurationArgs

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    NamePrefix 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.

    Tags 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.

    TracingConfiguration StateMachineTracingConfigurationArgs

    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.

    roleArn String

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    loggingConfiguration StateMachineLoggingConfiguration

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    namePrefix 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.

    tags 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.

    tracingConfiguration StateMachineTracingConfiguration

    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.

    roleArn string

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    loggingConfiguration StateMachineLoggingConfiguration

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    namePrefix 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.

    tags {[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.

    tracingConfiguration StateMachineTracingConfiguration

    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 StateMachineLoggingConfigurationArgs

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    tags 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 StateMachineTracingConfigurationArgs

    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.

    roleArn String

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    loggingConfiguration Property Map

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    namePrefix 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.

    tags 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.

    tracingConfiguration 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.

    CreationDate string

    The date the state machine was created.

    Description string
    Id string

    The provider-assigned unique ID for this managed resource.

    RevisionId string
    StateMachineVersionArn string
    Status string

    The current status of the state machine. Either ACTIVE or DELETING.

    TagsAll Dictionary<string, string>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    VersionDescription string
    Arn string

    The ARN of the state machine.

    CreationDate string

    The date the state machine was created.

    Description string
    Id string

    The provider-assigned unique ID for this managed resource.

    RevisionId string
    StateMachineVersionArn string
    Status string

    The current status of the state machine. Either ACTIVE or DELETING.

    TagsAll map[string]string

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    VersionDescription string
    arn String

    The ARN of the state machine.

    creationDate String

    The date the state machine was created.

    description String
    id String

    The provider-assigned unique ID for this managed resource.

    revisionId String
    stateMachineVersionArn String
    status String

    The current status of the state machine. Either ACTIVE or DELETING.

    tagsAll Map<String,String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    versionDescription String
    arn string

    The ARN of the state machine.

    creationDate string

    The date the state machine was created.

    description string
    id string

    The provider-assigned unique ID for this managed resource.

    revisionId string
    stateMachineVersionArn string
    status string

    The current status of the state machine. Either ACTIVE or DELETING.

    tagsAll {[key: string]: string}

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    versionDescription 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_version_arn str
    status str

    The current status of the state machine. Either ACTIVE or DELETING.

    tags_all Mapping[str, str]

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    version_description str
    arn String

    The ARN of the state machine.

    creationDate String

    The date the state machine was created.

    description String
    id String

    The provider-assigned unique ID for this managed resource.

    revisionId String
    stateMachineVersionArn String
    status String

    The current status of the state machine. Either ACTIVE or DELETING.

    tagsAll Map<String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    versionDescription 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.
    The following state arguments are supported:
    Arn string

    The ARN of the state machine.

    CreationDate string

    The date the state machine was created.

    Definition string

    The Amazon States Language definition of the state machine.

    Description string
    LoggingConfiguration StateMachineLoggingConfiguration

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    NamePrefix 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.

    RevisionId string
    RoleArn string

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    StateMachineVersionArn string
    Status string

    The current status of the state machine. Either ACTIVE or DELETING.

    Tags 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.

    TagsAll Dictionary<string, string>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    TracingConfiguration StateMachineTracingConfiguration

    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.

    VersionDescription string
    Arn string

    The ARN of the state machine.

    CreationDate string

    The date the state machine was created.

    Definition string

    The Amazon States Language definition of the state machine.

    Description string
    LoggingConfiguration StateMachineLoggingConfigurationArgs

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    NamePrefix 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.

    RevisionId string
    RoleArn string

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    StateMachineVersionArn string
    Status string

    The current status of the state machine. Either ACTIVE or DELETING.

    Tags 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.

    TagsAll map[string]string

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    TracingConfiguration StateMachineTracingConfigurationArgs

    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.

    VersionDescription string
    arn String

    The ARN of the state machine.

    creationDate String

    The date the state machine was created.

    definition String

    The Amazon States Language definition of the state machine.

    description String
    loggingConfiguration StateMachineLoggingConfiguration

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    namePrefix 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.

    revisionId String
    roleArn String

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    stateMachineVersionArn String
    status String

    The current status of the state machine. Either ACTIVE or DELETING.

    tags 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.

    tagsAll Map<String,String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    tracingConfiguration StateMachineTracingConfiguration

    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.

    versionDescription String
    arn string

    The ARN of the state machine.

    creationDate string

    The date the state machine was created.

    definition string

    The Amazon States Language definition of the state machine.

    description string
    loggingConfiguration StateMachineLoggingConfiguration

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    namePrefix 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.

    revisionId string
    roleArn string

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    stateMachineVersionArn string
    status string

    The current status of the state machine. Either ACTIVE or DELETING.

    tags {[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.

    tagsAll {[key: string]: string}

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    tracingConfiguration StateMachineTracingConfiguration

    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.

    versionDescription 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 StateMachineLoggingConfigurationArgs

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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_version_arn str
    status str

    The current status of the state machine. Either ACTIVE or DELETING.

    tags 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.

    tags_all Mapping[str, str]

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    tracing_configuration StateMachineTracingConfigurationArgs

    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.

    creationDate String

    The date the state machine was created.

    definition String

    The Amazon States Language definition of the state machine.

    description String
    loggingConfiguration Property Map

    Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. Defaults to OFF. 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.

    namePrefix 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.

    revisionId String
    roleArn String

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    stateMachineVersionArn String
    status String

    The current status of the state machine. Either ACTIVE or DELETING.

    tags 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.

    tagsAll Map<String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    tracingConfiguration 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.

    versionDescription String

    Supporting Types

    StateMachineLoggingConfiguration, StateMachineLoggingConfigurationArgs

    IncludeExecutionData bool

    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

    LogDestination 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 :*

    IncludeExecutionData bool

    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

    LogDestination 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 :*

    includeExecutionData Boolean

    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

    logDestination 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 :*

    includeExecutionData boolean

    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

    logDestination 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_data bool

    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 :*

    includeExecutionData Boolean

    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

    logDestination 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.

    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.13.0 published on Saturday, Dec 2, 2023 by Pulumi