Home

Awesome

AWS CloudFormation Snippets for VS Code

Installs Rating

This CloudFormation Snippets extension equips Visual Studio Code with JSON and YAML snippets for all AWS CloudFormation and SAM resources - over 1250+ in total. It's your complete toolset for efficient CloudFormation template development.

[!TIP] Struggling with AWS complexity or stuck on-premise? Let's transform your cloud journey.

Schedule a call with me to find out how I can enhance your existing AWS setup or guide your journey from on-premise to the Cloud.

<details><summary>☁️ <strong>Discover more about my one-person business: Towards the Cloud</strong></summary> <br/>

Hi, I'm Danny – AWS expert and founder of Towards the Cloud. With over a decade of hands-on experience, I specialized myself in deploying well-architected, highly scalable and cost-effective AWS Solutions using Infrastructure as Code (IaC).

When you work with me, you're getting a package deal of expertise and personalized service:

My mission is simple: I'll free you from infrastructure headaches so you can focus on what truly matters – your core business.

Ready to unlock the full potential of AWS Cloud?

<a href="https://towardsthecloud.com/contact"><img alt="Schedule your call" src="https://img.shields.io/badge/schedule%20your%20call-success.svg?style=for-the-badge"/></a>

</details>

Features

  1. Comprehensive Coverage: Offers snippets for all AWS CloudFormation and AWS SAM resources available - that's over 1250+ resources snippets at your fingertips!
  2. Complete Property Support: Includes all nested properties for each resource, ensuring you have access to every configurable aspect of your AWS resources.
  3. Documentation Hover Links: Quickly access AWS CloudFormation resource and property documentation by hovering over resource types and property names in your templates.
  4. Flexible Template Support: Seamlessly works with both YAML and JSON CloudFormation templates.
  5. Efficient Autocomplete: Simply type the resource name (e.g., ec2-instance) to instantly load the corresponding snippet for AWS::EC2::Instance.
  6. Rich Feature Set: Incorporates intrinsic functions, conditions, and diverse parameter types for robust template creation.
  7. Enhanced Navigation: Features placeholders that enable swift movement through resource properties.
  8. Resource Documentation: Each snippet is linked to its official AWS documentation, providing quick access to detailed information.
  9. Up-to-Date: Regularly refreshed on a weekly basis to reflect the latest CloudFormation Resource Specification.
  10. Gitpod Ready: Made available on the Open VSX Registry to ensure compatibility with Gitpod.

Usage

  1. Install the CloudFormation Snippets extension in VS Code.
  2. Create a new .yml or .json file.
  3. Ensure the file type is set to "YAML" or "JSON" in the bottom right corner of VS Code.
  4. Type cfn to insert the basic CloudFormation template structure.
  5. Add resources using their short prefix (e.g. s3-bucket for AWS::S3::Bucket).

Example of auto-completion in action:

CloudFormation Snippets example

and an example of the hover information:

IAM Actions Snippets Hover Example

Note: Once you start typing a prefix (explained in step 5), the corresponding snippet will show up in the dropdown menu. If this doesn't happen automatically, press ctrl + space to invoke IntelliSense and search for the prefix of the resource type that you want to add (as listed in step 5).


AWS CloudFormation Starterkit

We've developed the AWS CloudFormation Starterkit to streamline your infrastructure setup using CloudFormation.

It comes with pre-configured templates, automated validation scripts, and seamless integration with CI/CD pipelines, you'll be able to deploy robust, scalable, and secure AWS environments with ease.

The starterkit empowers you to adopt best practices effortlessly. By leveraging tools like Checkov for security compliance and cfn-lint for template validation, you ensure that your infrastructure is both reliable and secure.


Support

If you have a feature request or an issue, please let me know on Github

Author

Danny Steenman