(Tries to) parse AWS CloudFormation's intrinsic functions in the template.
First, install the library:
pip install aws-parsecf
Then, from a Python interpreter:
import aws_parsecf
with open('/path/to/cloudformation.json', 'r') as f:
print(aws_parsecf.load_json(f))
Note that some of the intrinsic functions require a configured
environment (like "Fn::GetAZs"
), so if you don't have it set:
aws configure
3 simple methods:
aws_parsecf.load_json(stream, region)
aws_parsecf.loads_json(string, region)
aws_parsecf.load_yaml(stream_or_string, region)
region
is optional, and defaults to the region you specified when using
aws configure
. If you didn't specify a default region in
aws configure
, or you want to override it, you should specify your
region:
aws_parsecf.load_json(stream, region='us-west-1')
If your stack is parameterized, the default values will be used along with possibly supplying parameters:
aws_parsecf.load_json(stream, region, {'DomainName': "aws.parsecf.com"})
Running tests:
./setup.py test
Missing pieces:
- Support YAML short form.
You know the drill, PR!