aws-parsecf

Parse AWS CloudFormation's intrinsic functions in the template


License
MIT
Install
pip install aws-parsecf==1.1.0

Documentation

aws-parsecf

(Tries to) parse AWS CloudFormation's intrinsic functions in the template.

Quick Start

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

Usage

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

Contributing

Running tests:

./setup.py test

Missing pieces:

  • Support YAML short form.

You know the drill, PR!