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)
| 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 |