Kod*_*der 2 aws-cloudformation
我是 CloudFormation 模板的新手。我想创建一个带有值为“小”、“中”“大”的下拉菜单的参数。选择后,小必须映射到“t2.micro”,中必须映射到“t2.medium”,大必须映射到“t2.large” ”。
我知道我可以直接下拉诸如“t2.micro”之类的值,但我希望有用户友好的选项来映射到确切的实例类型字符串。
这是我到目前为止所拥有的:
Resources:
MicroInstance:
Type: AWS::EC2::Instance
Properties:
InstanceType: !Ref InstanceType
KeyName: ec2kp
ImageId: ami-081c1b4c6y2d4594e
Parameters:
InstanceType:
Description: 'Size of instance'
Type: String
Default: 'Small(Use for Dev)'
AllowedValues: [Small(Use for Dev), Medium(Use For Test), Big(Use For Prod)]
Run Code Online (Sandbox Code Playgroud)
你最好的选择是使用Mappings,你可以有这样的东西
Parameters:
InstanceType:
Description: 'Size of instance'
Type: String
Default: 'Small(Use for Dev)'
AllowedValues: [Small(Use for Dev), Medium(Use For Test), Big(Use For Prod)]
Mappings:
InstanceType:
"Small(Use for Dev)":
value: "t2.micro"
"Medium(Use For Test)":
value: "t2.medium"
"Big(Use For Prod)":
value: "t2.large"
Resources:
MicroInstance:
Type: AWS::EC2::Instance
Properties:
InstanceType: !FindInMap
- InstanceType
- !Ref InstanceType
- value
KeyName: ec2kp
ImageId: ami-081c1b4c6y2d4594e
Run Code Online (Sandbox Code Playgroud)
关键是使用!FindInMap具有语法的函数!FindInMap [ MapName, TopLevelKey, SecondLevelKey ]
AWS CloudFormation Mappings和AWS CloudFormation Fn::FindInMap中的一些参考
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
2004 次 |
| 最近记录: |