- Newest
- Most votes
- Most comments
AWS Step Functions orchestrate a state machine workflow. State machine workflows are defined using Amazon States Language.
Terraform exposes the underlying AWS public API for Step Functions through the aws_sfn_state_machine
and aws_sfn_activity
resource types. For example code, the Terraform registry has resource documentation and examples.
It is important to note that for state machines, the definition of the workflow is in the Amazon States Language, a JSON-based, structured language used to define your state machine, a collection of states, that can do work (Task states), determine which states to transition to next (Choice states), stop an execution with an error (Fail states), and so on.
This means that any workflow example in JSON will work, regardless if you find it for CloudFormation, AWS CLI, or Terraform.
Terraform documentation for Step Functions
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sfn_state_machine
Sample projects for Step Functions
https://docs.aws.amazon.com/step-functions/latest/dg/create-sample-projects.html
Here is a basic example from the Terraform documentation:
resource "aws_sfn_state_machine" "sfn_state_machine" {
name = "my-state-machine"
role_arn = aws_iam_role.iam_for_sfn.arn
definition = <<EOF
{
"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
}
}
}
EOF
}
Relevant content
- Accepted Answerasked 3 years ago
- AWS OFFICIALUpdated 10 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated a year ago