Developed and continuously tested in PowerShell
versions 3.0 - 6.0-beta on Windows, Linux and macOS.

Define your AWS Infrastructure as Code with any operating system.
If you can run PowerShell, you can use VaporShell to create your stack.

  • Define
  • Build
  • Cloud

Full coverage of AWS CloudFormation Resources

All 500+ Resource Type and Resource Property Type functions are generated from Amazon's own specification sheet directly (us-east-1). If it's available in CloudFormation, it's available in VaporShell. Using custom resource types? No problem. Serverless Transforms? You're covered as well.

Write Less, Build More

Building CloudFormation templates with VaporShell can take considerably less code compared to using JSON/YAML directly. Combined with the validation built into VaporShell, this means you can build clean templates quickly.

Simplify UserData

UserData can be painful to get perfect when adding it to your resources. Add-UserData makes it a breeze by allowing you to source your data from a file or by adding your list of strings and/or functions. It will also automatically wrap the data in Fn::Join and Fn::Base64 for you, cleaning up your template script overall.

Built with a DevOps mindset

VaporShell is built from the ground up using proven methods to ensure reliability where it's needed most; your Cloud backbone.

  • Continuous Integration

    VaporShell leverages Azure Pipelines for CI/CD with testing in Windows PowerShell and PowerShell Core on Windows, macOS, and Linux.

    Azure Pipelines

  • Unlimited Flexbility

    Building your CloudFormation templates in PowerShell allows incredible flexbility. Build resource templates as individual script files and source them dynamically, leverage external configurations, etc. Automate your workflow.

  • Easy to Install

    Installation is as easy as running Install-Module -Name VaporShell -Scope CurrentUser from a PowerShell prompt. Full details can be found on the PowerShell Gallery

    Install from PowerShell Gallery

  • Always Up-to-Date

    Due to VaporShell leveraging AWS' specification sheet for Resource function creation, VaporShell will typically be updated before most are aware those resources are available within CloudFormation.

  • Inline Template Validation

    With the AWS CLI Tools installed, you can perform inline template file validation by including the -ValidateTemplate switch with Export-VaporShell:
    Export-VaporShell $template -Path ~\templates\myTemplate.template -ValidateTemplate

  • YAML Support

    With AWSLabs' cfn-flip installed alongside VaporShell, you can import templates from YAML and export templates to YAML. cfn-flip is installable via pip; more details on cfn-flip can be found on AWSLabs' GitHub: awslabs/aws-cfn-template-flip

  • Free, Forever

    VaporShell is developed under the Apache 2.0 license and will always be free to download and use for whatever you'd like. Check the license details on the project's GitHub.

    Coffee donations always accepted though!

    Donate with Paypal

  • Community Driven

    Want to add functionality? Feel free to fork the repo and build your own add-ons. Have an issue or enhancement request? It will be handled ASAP, just send over the details via GitHub issue or email! Want to chat quickly about something? Join us in the #VaporShell channel on the PowerShell team Slack!

Ready to Dive In?

Check out the documentation to get started or head straight to the glossary for help with a specific function