Posted On: Mar 4, 2021

AWS Step Functions now supports YAML state machine definitions within the AWS Toolkit for Visual Studio Code and in AWS CloudFormation, making it possible to define workflows in the same language as your infrastructure as code.

AWS Step Functions allows you to build resilient serverless workflows using AWS services such as AWS Lambda, Amazon SNS, and Amazon DynamoDB. The AWS Toolkit for Visual Studio Code is an open source plug-in for Visual Studio Code that makes it easier to create, debug, and deploy applications on Amazon Web Services. AWS CloudFormation gives you an easy way to model AWS resources such as state machines as infrastructure as code. Together, you can now define, visualize, and deploy Step Functions state machine-based workflows using both YAML and JSON object format, providing you with greater choice in how you build your workflows.

Within the AWS Toolkit for Visual Studio Code, you can now write and visualize your state machine definitions in YAML and use code snippets, linting, and code completion capabilities to assist you while writing your definition. You can also add comments within your YAML state machine definition, adding helpful context for the reader. Within your AWS CloudFormation template, you can now define your state machine inline using the new ‘Definition’ parameter, allowing you to define your state machine in the language of your template. You can also place your JSON or YAML state machine in an S3 bucket and reference the file from your CloudFormation template, making it easier to partition your code.

You can get started by installing the AWS Toolkit for Visual Studio Code and building your first YAML state machine. You can then deploy the state machine using a CloudFormation template, either directly in the template, or as a file stored in S3. This feature is available in all regions where AWS Step Functions is available. View the AWS Regions table to learn more.

To learn more about YAML tooling support for AWS Step Functions, view our documentation for the AWS Toolkit for Visual Studio Code and our development options.