CloudFormation supports lots of different AWS Resources with many parameters. Remembering all of them is a pain and slows down development dramatically.
To make this faster
Former lets you create a full CF resource example for any supported Resource. It parses
the CloudFormation Resource Specification
to get the definition for all resources.
former can be installed through pip:
pip install former
or install with Whalebrew and Docker:
whalebrew install flomotlik/former # For getting updates docker pull flomotlik/former
Alternatively you can clone this repository and run
python setup.py install
You can create an example for any aws resource by calling former with the service and resource name. In the following
example we’re creating an
root@e41871e1eb3e:/app# former iam user Resources: AWSIAMUser: Parameters: Groups: - String LoginProfile: Password: String - Required PasswordResetRequired: Boolean ManagedPolicyArns: - String Path: String Policies: - PolicyDocument: Json - Required PolicyName: String - Required UserName: String Type: AWS::IAM::User
Some Resources also have a subtype (e.g. LoginProfile for the IAM::User). If you only want to show the subtype you can add it as a third parameter:
root@e41871e1eb3e:/app# former iam user loginprofile Resources: AWSIAMUserLoginProfile: Parameters: Password: String - Required PasswordResetRequired: Boolean Type: AWS::IAM::User.LoginProfile
Of course this is not valid CloudFormation as the
LoginProfile is not a valid CF Resource. But it helps when you
want to get a quick overview for a subtype.
--jsonPrint output in json instead of yaml
-rOnly print required parameters