Difference between revisions of "Cloudformation"
Jump to navigation
Jump to search
Line 115: | Line 115: | ||
Fn::Sub | Fn::Sub | ||
Ref | Ref | ||
= Syntax = | |||
== Function short form == | |||
<source lang="bash"> | |||
"Fn::And": [{condition}, {...}] #Json | |||
Fn::And: [Condition] #yaml full syntax | |||
!And [condition] #short form | |||
</source> |
Revision as of 08:28, 19 July 2018
Basic structure of Json and Yaml templates
YAML | JSON |
---|---|
AWSTemplateFormatVersion: 2010-09-09 Description: Yaml string, version 1.0 Metadata: {} Parameters: {} Mappings: {} Conditions: {} Transform: {} Resources: {} Outputs: {} |
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "JSON string, version 1.0", "Metadata": {}, "Parameters": {}, "Mappings": {}, "Conditions": {}, "Transform": {}, "Resources": {}, "Outputs": {} } |
Structured template
YAML | JSON |
---|---|
AWSTemplateFormatVersion: 2010-09-09 Description: JSON string Metadata: {} Parameters: InstanceTypeParameter: Type: String Default: t2.micro AllowedValues: - t2.micro - m1.smal Description: 'Enter t2.micro, m1.large' Mappings: {} # Mapping01: # Key01: # Name: Value01 # Key02: # Name: Value02 Conditions: {} Transform: {} # AWS::serverless # AWS::Include (reusing template snippets) Resources: MyBucket: #logicalID must be unique, can be reused within the template Type: 'AWS:S3::Bucket' #type of resource to create Properties: #additional options for a resource 'Fn::Transform;: - Name: 'AWS::Include' Parameters: Location: s3://bucket/MyBucketName.yaml Outputs: {} # logicalID: # Descryption: # Value: # Export: # Name: Value to export |
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "JSON string", "Metadata": {}, "Parameters": { "InstanceTypeParameter": { "Type": "String", "Default": "t2.micro", "AllowedValues": [ "t2.micro", "m1.small" ], "Description": "Enter t2.micro, m1.small" } }, "Mappings": {}, "Conditions": {}, "Transform": {}, "Resources": {}, "Outputs": {} } |
Intrinsic Functions (buildin)
Use intrinsic functions in your templates to assign values to properties that are not available until runtime.
Fn::Base64 Fn::Cidr Condition Functions Fn::FindInMap Fn::GetAtt Fn::GetAZs Fn::ImportValue Fn::Join Fn::Select Fn::Split Fn::Sub Ref
Syntax
Function short form
"Fn::And": [{condition}, {...}] #Json Fn::And: [Condition] #yaml full syntax !And [condition] #short form