これはConditionsを使用して実行できます。基本的には、定義したチェックに基づいて真または偽の変数を定義し、その値に基づいてテンプレートフォークを作成することができます。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Example mostly pulled from http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-sample-templates.html",
"Mappings": {
"AWSRegionArch2AMI": {
"eu-central-1": {"HVM64": "ami-d11dc4ff"},
"us-east-1": {"HVM64": "ami-a13749a2"},
"us-west-1": {"HVM64": "ami-fdd8428a"}
}
},
"Parameters": {
"AMI": {
"Description": "AMI to use.",
"AllowedPattern": "(ami-[0-9a-f]{8}){0,1}",
"Default": "",
"Type": "String"
}
},
"Conditions": {
"UseDefaultAMI": {
"Fn::Equals": [
{"Ref": "AMI"},
""
]
}
},
"Resources": {
"EC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": {
"Fn::If": [
"UseDefaultAMI",
{"Fn::FindInMap": [
"AWSRegionArch2AMI",
{"Ref": "AWS::Region"},
"HVM64"
]},
{"Ref": "AMI"}
]
},
"InstanceType": "m3.medium"
}
}
}
}
:以下
は、AMIの選択の方法を使用して単一EC2インスタンスを作成する例テンプレートであります