Skip to main content

carica-cfn-tools - Tools to manage CloudFormation stack configuration

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 the venv module 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 virtual environment 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
Jinja: true
Tags:
  env: dev
  scale: large
  cost: small
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

Region sets where the CloudFormation template and related resources will be uploaded and where the CloudFormation stack will be created. This must match the region the Bucket was created in. This is required.

Bucket sets where the CloudFormation template and related resources will be uploaded. This is required.

Name sets the name of the CloudFormation stack. This is required.

Template is a relative path to the CloudFormation YAML or JSON template file to create the stack from. This is required.

Jinja is an optional setting that controls whether Template will be processed with Jinja2 before being uploaded. This setting does not enable Jinja2 for extras; use JinjaExtras for that.

Tags may be used to set tags on the CloudFormation stack. CloudFormation propogates stack tags to the resources inside the stack, so this can be a convenient way to set tags on resources in your template.

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.

Metadata

Release files for carica-cfn-tools 1.31

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for carica-cfn-tools 1.31
File Size Uploaded
carica_cfn_tools-1.31.tar.gz 31.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for carica-cfn-tools 1.31
File Interpreter ABI Platform
carica_cfn_tools-1.31-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 51.6 kB

Release files / carica_cfn_tools-1.31.tar.gz

Download URL carica_cfn_tools-1.31.tar.gz
Size 31.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bc4530a0f9e3e0ce8fd6b7c4fae3ac56a4fef1c27dbe88f3e3ca8d6d6b61e7f6
BLAKE2b-256 checksum
How to use checksums
50de841860898f29eac3a370b9e2bbcb6e51fa9060772271ab939b667d6c21c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release files / carica_cfn_tools-1.31-py2.py3-none-any.whl

Download URL carica_cfn_tools-1.31-py2.py3-none-any.whl
Size 20.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
f50185cbb95c99302e2bc26c59f53d2607c2f39002e03b2da8792bc813ce723f
BLAKE2b-256 checksum
How to use checksums
284c3d892bcdd31a35a6a180e5e827cbc3394a20fcf7fc9aa4c41240e1c00b47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.31 This release

2 release files

1.30

2 release files

1.29

2 release files

1.28

2 release files

1.27

2 release files

1.26

2 release files

1.25

2 release files

1.24

2 release files

1.23

2 release files

1.22

2 release files

1.20

2 release files

1.19

2 release files

1.18

2 release files

1.17

2 release files

1.16

2 release files

1.15

2 release files

1.14

2 release files

1.13

2 release files

1.12

2 release files

1.11.0

2 release files

1.10.7

2 release files

1.10.6

2 release files

1.10.5

2 release files

1.10.4

2 release files

1.10.3

2 release files

1.10.2

2 release files

1.10.1

2 release files

1.10

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9

2 release files

1.8.1

2 release files

1.8

2 release files

1.7

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page