Last active
September 11, 2020 17:53
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
AWSTemplateFormatVersion: "version date" | |
" String | |
Description: | |
" template metadata | |
" arbitrary yaml | |
" CloudFormation helper scripts | |
" cfn-init, cfn-signal, cfn-get-metadata, cfn-hup | |
" Resources can have Metadata (install scripts, etc.) | |
Metadata: | |
" set of parameters | |
Parameters: | |
KeyName: | |
Description: | |
Type: " one of String, Number, List<Number>, CommaDelimitedList, | |
" or AWS specific parameter types AWS::EC2::AvailabilityZone::Name, | |
" AWS::EC2::Image::Id, AWS::EC2::Instance::Id, AWS::EC2::KeyPair::KeyName | |
ConstraintDescription: | |
" Parameter referenced using function, e.g. | |
" Parameters: | |
" InstanceType: ... | |
" Resources: | |
" WebServer: | |
" Type: AWS::EC2::Instance | |
" Properties: | |
" InstanceType: !Ref InstanceType | |
" set of mappings - maps keys to values | |
" Names must be alphanumeric. Values can be string or list types. | |
Mappings: | |
" example | |
" Mapping01: | |
" Key01: | |
" Name: Value01 | |
" Key02: | |
" Name: Value02 | |
" Key03: | |
" Name: Value03 | |
RegionMap: | |
us-east-1: | |
HVM64: ami-... | |
HVMG2: ami-... | |
us-west-1: | |
HVM64: ami-... | |
HVMG2: ami-... | |
eu-west-1: | |
HVM64: ami-... | |
HVMG2: ami-... | |
" FindInMap usage - access values within a mapping collection. | |
" Requires a mapping colleciton, key, and name value. | |
" !FindInMap [mapping, key, name] | |
" example | |
" Resources: | |
" WebServer: | |
" Type: AWS::EC2::Instance | |
" Properties: | |
" ImageId: !FindInMap [RegionMap, !Ref "AWS::Region", HVM64] | |
" or | |
" ImageId: !FindInMap | |
" - RegionMap | |
" - !Ref "AWS::Region" | |
" - HVM64 | |
" set of conditions | |
Conditions: | |
" example | |
" Resources: | |
" Database | |
" Type: AWS::RDS::DBInstance | |
" AllocatedStorage: !If [ProductionEnvironment, "800", "100"] | |
" set of transforms | |
Transform: | |
" set of resources | |
Resources: | |
" set of outputs | |
Outputs: | |
" example | |
" Resources | |
" InstanceStack: | |
" Type: AWS::CloudFormation::Stack | |
" Properties: | |
" TemplateURL: "https://.../...yml" | |
" Parameters: | |
" ProjectName: !Ref ProjectName | |
" Environment: !Ref Environment | |
" Changelog: !Ref Changelog |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment