Skip to main content

Trivial AWS CloudFormation updater

Project description

cf-upgrade

This package contains a simple strict to update an existing CloudFormation stack. It is intended to be used as part of a CI/CD flow to update a deployment.

Usage is simple, since there are only two commands. First you can list all CloudFormation stacks using the list command:

$ cf-upgrade list
Stack             Status
----------------  ---------------
my-example-stack  UPDATE_COMPLETE

To update a stack use the upgrade command. In its simplest version you can pass a version number which will be used for a Version parameter:

$ cf-upgrade my-example-stack 1.2.0
Stack updating, waiting to complete... done

If you want to modify another parameter, or a different one you can also provide one or more key=value options:

$ cf-upgrade my-example-stack ApiVersion=1.1.0 Nginx=1.13.4
Stack updating, waiting to complete... done

Credentials

This command assumes you have AWS CLI credentials configured. You can use the –profile and –region options to indicate which AWS profile and region to use.

Permissions

In order to operate this your will need to use an AWS user with permissions to find our existing stack template and update it. In addition you must grant any permissions necessary to update your resources.

Here is a sample policy document to allow updating of ECS services:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:DescribeStacks",
                "cloudformation:ListStacks",
                "cloudformation:GetTemplate",
                "cloudformation:GetTemplateSummary",
                "cloudformation:UpdateStack",

                "iam:GetRole",
                "iam:PassRole",

                "ecs:UpdateService",
                "ecs:DeregisterTaskDefinition",
                "ecs:DescribeServices",
                "ecs:RegisterTaskDefinition"
            ],
            "Resource": "*"
        }
    ]
}

Changelog

1.0.2 - September 4, 2017

Fix a ReST syntax error.

1.0.1 - September 4, 2017

Use ReST for documentation to improve display on pypi.org

1.0 - September 4, 2017

First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
cf_upgrade-1.0.2-py2.py3-none-any.whl (5.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3
cf_upgrade-1.0.2.tar.gz (3.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page