State Machine Args
data class StateMachineArgs(val definition: Output<String>? = null, val loggingConfiguration: Output<StateMachineLoggingConfigurationArgs>? = null, val name: Output<String>? = null, val namePrefix: Output<String>? = null, val roleArn: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val tracingConfiguration: Output<StateMachineTracingConfigurationArgs>? = null, val type: Output<String>? = null) : ConvertibleToJava<StateMachineArgs>
Provides a Step Function State Machine resource
Example Usage
Basic (Standard Workflow)
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());
}
}
Content copied to clipboard
Basic (Express Workflow)
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());
}
}
Content copied to clipboard
Logging
NOTE: See the AWS Step Functions Developer Guide for more information about enabling Step Function logging.
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());
}
}
Content copied to clipboard
Import
State Machines can be imported using the arn
, e.g.,
$ pulumi import aws:sfn/stateMachine:StateMachine foo arn:aws:states:eu-west-1:123456789098:stateMachine:bar
Content copied to clipboard
Constructors
Link copied to clipboard
fun StateMachineArgs(definition: Output<String>? = null, loggingConfiguration: Output<StateMachineLoggingConfigurationArgs>? = null, name: Output<String>? = null, namePrefix: Output<String>? = null, roleArn: Output<String>? = null, tags: Output<Map<String, String>>? = null, tracingConfiguration: Output<StateMachineTracingConfigurationArgs>? = null, type: Output<String>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
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.