Amazon cloudformation 映射到CloudFormation中字符串的自定义下拉列表值
我不熟悉云计算模板。我想创建一个下拉列表参数,其值为“Small”、“Medium”和“Big”。选择后,Small必须映射到“t2.micro”,Medium映射到“t2.Medium”,Big映射到“t2.large” 我知道我可以直接下拉像“t2.micro”这样的值,但我希望有用户友好的选项,映射到确切的实例类型字符串 以下是我到目前为止的情况:Amazon cloudformation 映射到CloudFormation中字符串的自定义下拉列表值,amazon-cloudformation,Amazon Cloudformation,我不熟悉云计算模板。我想创建一个下拉列表参数,其值为“Small”、“Medium”和“Big”。选择后,Small必须映射到“t2.micro”,Medium映射到“t2.Medium”,Big映射到“t2.large” 我知道我可以直接下拉像“t2.micro”这样的值,但我希望有用户友好的选项,映射到确切的实例类型字符串 以下是我到目前为止的情况: Resources: MicroInstance: Type: AWS::EC2::Instance Properties
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)]
您最好的选择是使用
映射
,您可以有这样的功能
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
关键是要使用具有以下语法的函数!FindInMap
!FindInMap[MapName,TopLevelKey,SecondLevelKey]
和中的一些参考
希望它有帮助您最好的选择将是使用
映射
,您可以有这样的功能
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
关键是要使用具有以下语法的函数!FindInMap
!FindInMap[MapName,TopLevelKey,SecondLevelKey]
和中的一些参考
希望能有帮助