我正在尝试在CloudFormation模板中指定一个布尔参数,以便我可以根据传入的参数有条件地创建资源.
查看此处和此处的文档,可能会出现明显缺少布尔数据类型的情况.
指定布尔值的最佳做法是什么?可能是Number
0或1次或String
用AllowedValues
"真"与"假"?
该快速入门模板是多么复杂的模板可以/应该创建一个良好的,半官方的参考点,并完全按照你描述的,用他们实施条件资源布尔值String
与AllowedValues
true
和false
.这是一个具体的例子:
"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文档中的现有资源示例中找到,其中AllowedValues
是default
或NONE
(默认).
要根据此类布尔参数有条件地创建资源,请添加包含内部函数匹配的Condition语句,然后向该资源添加一个键.Fn::Equals
true
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