Skip to main content

IMPORTANT

simplecf uses Boto3 from 1.1.0 forward, if you need Boto (aka Boto2) support, please install version 1.0.2 using this command:

pip install simplecf==1.0.2

What is simplecf?

simplecf is a templating system for AWS Cloudformation that allows you to make many variations of a single template for maximum code re-use. See a simple example HERE

The standard use-case is that you have 4 environments {dev,qa,stage,prod} based on one Cloudformation template. Rather than maintaining 4 templates that are mostly identical, you can add Mustache {{ tags }} to your templates and create simple JSON data files that specify the values. This has the added benefit of eliminating the need for a lot of boilerplate mapping code in the “Parameters” section of your templates.

simplecf also supports data file fragments; You can create a single data file for each AWS region that contain region-specific data like ami-id, etc… and import that data file fragment into your other templates.

How to use

You can install using pip:

#As root, or alternately use --user
pip install simplecf

Create a standard AWS Cloudformation template, adding Mustache {{ tags }} for the parts you wish to be dynamically substituted

my-cf-template.json:

...
"Tags":[
  {"Key": "Phase", "Value": "{{ phase }}"}
]
...

Next, create a JSON file to define the stack and fill in the tags. You can generate an empty data file with simplecf.py -d prod.json -c my-cf-template.json

prod.json:

{
  "CF_TEMPLATE": "my-cf-template.json",
  "STACK_NAME": "MyStackProd",
  "STACK_REGION": "us-east-1",
  "phase": "Prod"
}

Then run simplecf to generate the template

simplecf.py -d prod.json

Which outputs:

MyStackProd.json:

...
"Tags":[
  {"Key": "Phase", "Value": "Prod"}
]
...

Run simplecf.py with –help to see various other tools and options.

Release files for simplecf 1.1.0

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

Source distribution (sdist)

Source distribution for simplecf 1.1.0
File Size Uploaded
simplecf-1.1.0.tar.gz 5.2 kB Details

Release files / simplecf-1.1.0.tar.gz

Download URL simplecf-1.1.0.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0b49b6f09646d0c304ac2df0a8a6a8e0893b991af71ece06d9bbdda8e4dd3097
BLAKE2b-256 checksum
How to use checksums
0b9140e14ec0b82923776f7d7ab565df65b62dcf62951c9fdf6f3c7059d89410
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.1.0 This release

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0

1 release file

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