Serverless Cloudformation Changesets

Natively deploy to CloudFormation via Change sets, instead of directly. Allowing you to queue changes, and safely require escalated roles for final deployment.

View on Github

serverless-cloudformation-changesets

serverless

Serverless framework plugin to create CloudFormation ChangeSets.

Installation

Install the plugin from npm

$ npm install --save serverless-cloudformation-changesets

Add the plugin to your serverless.yml file:

plugins:
  - serverless-cloudformation-changesets

Usage

CLI options

Add --changeset option to the sls deployment command, e.g.:

$ sls deploy --changeset --stage dev --region us-east-1

--changeset by default uses a timestamp for ChangeSet name, otherwise you can provide optional --changeset value:

$ sls deploy --changeset your-changeset-name --stage dev --region us-east-1

YAML settings

custom:
  cf-changesets:
    changeSetName: whatever # optional
    requireChangeSet: boolean # optional defaults to false

requireChangeSet - if true, ChangeSets will be created without providing --changeset option to the sls deploy command.

Notice

If CloudFormation Stack doesn't exist and custom provider.deploymentBucket was specified, this plugin will create a new stack without template, resources. The stack will be in the REVIEW_IN_PROGRESS state.