If you use AWS CloudFormation to provision your infrastructure, it can be time-consuming to constantly visit the AWS documentation in order to find the right property of each resource type.
To solve this problem, I created a VS Code extension that adds autocompletion for every available AWS resource type in a CloudFormation template.
The VS Code extension is called CloudFormation Snippets
Table of Contents
AWS CloudFormation template generator features
The VS Code extension contains the following features:
- Supports all resources that are defined by CloudFormation
- Support for CloudFormation resource type snippets in JSON format! This means you can now generate CloudFormation resource type snippets in both YAML and JSON formats!
- To get started: Open up a JSON file, type an AWS Resource prefix in the same manner as you do for the YAML snippets and it will show the autocomplete!
- CloudFormation autocompletion for every resource (includes properties) in both YAML and JSON formats.
- The CloudFormation snippets are automatically updated every week after AWS updates their CloudFormation Resource Specification.
- Intrinsic functions + conditions are supported.
- Contains a whole bunch of parameter types.
- Has builtin support for placeholders. This means you can quickly jump from property to property in each resource by using Tab
- Every resource type contains the matching documentation URL in its description.
- Support for Gitpod by publishing this extension to the Open VSX Registry
VS Code extension usage instructions
Here is a small demo that shows what happens when you’re trying to add a new CloudFormation resource with the VS Code extension enabled:
Steps described in further detail:
- Step 1. Install the extension in your VS Code editor
- Step 2. Create a template file in
.ymlformat to start working on AWS CloudFormation
- Step 3. Make sure that the file type is listed as
YAMLin the VS Code editor (Bottom right-hand corner).
- Step 4. Type
cfnto get the AWS CloudFormation template fragment.
- Step 5. Start adding resources in the resource section of the template by using the prefix name e.g.
autoscaling-autoscalinggroupequals resource type
Note: If the autocomplete doesn’t get invoked automatically in step 5. Then you can invoke IntelliSense manually by pressing
ctrl + space. Search for the prefix of the resource type that you want to add and press
AWS CloudFormation Attributes (GetAtt) Cheat Sheet
It can be difficult to find out which attributes are available for each AWS CloudFormation resource type. Therefore I made an AWS CloudFormation Attributes cheat sheet that lists the attributes in a single table overview to easily find the attributes.
More helpful VS Code extensions for AWS CloudFormation
If you’re looking to optimise your VS Code with more useful extensions, then have a look at the other article I wrote to help you level up your CloudFormation templating game!
Also have a look at a VS Code extension I made for AWS CDK
If you’re working with AWS CDK, then you might be interested in my other VS Code extension that I created which adds L1 construct snippets from AWS CDK into VS Code.