(Tries to) parse AWS CloudFormation's intrinsic functions in the template.
First, install the library:
pip install aws-parsecfThen, 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 configure3 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 testMissing pieces:
- Support YAML short form.
You know the drill, PR!