Skip to main content

Tools to manage CloudFormation stack configuration

Project description

Simple command line tools to create and update CloudFormation stacks that make it easy to version-control both your templates and stack configurations in one place. Supports a few proprietary transforms useful for dynamically merging a manually maintained template with a generated template (for example, sam.json from “chalice package”) that contains resources you’d like to include in your main template.

Development

The vinstall script uses virtualenv to prepare a Python environment useful for development, so you don’t have to build and install carica-cfn-tools to be able to run and test it.

  1. Run ./vinstall

  2. Activate the virtualenv by running . ./venv/bin/activate

  3. The console_scripts listed in setup.py are now in your path, so you can simply run them like:

    carica-cfn ...

Sample Stack Config

Region: us-east-1
Bucket: mycorp-cfn-us-east-1
Name: WarehouseApp
Template: ../templates/warehouse-app.yml
Parameters:
  # Normal parameter values can include strings, numbers, booleans, etc.
  Stage: dev
  TableReadCapacityUnits: 10
  TableWriteCapacityUnits: 5
  AdminPassword:
    # A parameter with a "ParameterStore" sub-key will be resolved to the
    # SSM Parameter Store parameter with that name.
    ParameterStore: dev.warehouseapp.admin-password
  PostgreSQLPassword:
    # A parameter with a "SecretsManager" sub-key will be resolved to the
    # Secrets Manager secret with that ID.
    SecretsManager: dev.warehouseapp.postgresql-password
Extras:
  - ../cfn/static/logo.png
  - ../cfn/static/index.html
JinjaExtras:
  - ../cfn/includes/*.yml
JinjaExtrasContext:
  FOO: bar

Extras and JinjaExtras can be absolute paths or glob patterns relative to the stack config file.

Extras or JinjaExtras that are directories, whether specified by absolute path or expanded from a glob pattern, are copied recursively into the deployment at a top-level directory named after the last directory component of the source. An extra directory path like /foo/bar/baz ends up as /baz in the deployment.

Extras or JinjaExtras that are files, whether by absolute path or expanded from a glob pattern, are copied into the root of the deployment.

JinjaExtras are processed with the Jinja2 template engine after all extras are copied to a temporary directory.

JinjaExtrasContext is a dictionary passed as the context when Jinja is run.

Project details


Download files

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

Source Distribution

carica_cfn_tools-1.10.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

carica_cfn_tools-1.10.1-py2.py3-none-any.whl (14.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file carica_cfn_tools-1.10.1.tar.gz.

File metadata

  • Download URL: carica_cfn_tools-1.10.1.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for carica_cfn_tools-1.10.1.tar.gz
Algorithm Hash digest
SHA256 6f6228e75d7b0651f3f8921a41bc7900a91b3df1f8a1ab61e0003c2286c8cfc6
MD5 b1403b84f05c400f99b3b42bea52d3d8
BLAKE2b-256 2716774baf854edd3e4f9f7fe36d2fbba8b583a38a0ea5731d593ddb352f9fa8

See more details on using hashes here.

File details

Details for the file carica_cfn_tools-1.10.1-py2.py3-none-any.whl.

File metadata

  • Download URL: carica_cfn_tools-1.10.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for carica_cfn_tools-1.10.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 758b6d19e19bd1a5d02a2ec80001c7bce04e0743d8e76b8193d97eb27cb2897a
MD5 a66686d300d11df214605b91cfa945c8
BLAKE2b-256 f840b14403ff0f5fb4d5ebddf33b285048b536681a99ae90691532bb9e9998f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page