我正在尝试在CloudFormation模板中指定一个布尔参数,这样我就可以根据传入的参数有条件地创建资源。
指定布尔值的最佳做法是什么?可能Number
0或1或String
AllowedValues
'true'和'false'?
答案 0 :(得分:40)
Quick Start模板是关于如何创建复杂模板的良好的半官方参考点,它们完全按照您的描述为条件资源实现布尔值,使用String
AllowedValues
true
和false
。这是一个特定的example:
"EnableBanner": {
"AllowedValues": [
"true",
"false"
],
"Default": "false",
"Description": "To include a banner to be displayed when connecting via SSH to the bastion, set this parameter to true",
"Type": "String"
}
可以在CloudFormation文档的Conditionally use an existing resource示例中找到类似示例,其中AllowedValues
为default
或NONE
(默认值)。
要根据此类布尔参数有条件地创建资源,请添加Condition语句,其中包含与true
匹配的Fn::Equals
内在函数,然后添加Condition
键资源。
这是一个完整的,最小的示例模板:
Parameters:
CreateResource:
Description: Whether I should create a resource.
Default: false
Type: String
AllowedValues: [true, false]
Conditions:
ShouldCreateResource:
!Equals [true, !Ref CreateResource]
Resources:
Resource:
Type: AWS::CloudFormation::WaitConditionHandle
Condition: ShouldCreateResource