AWS:如何在CloudFormation模板中指定布尔参数

时间:2017-01-11 02:02:44

标签: amazon-web-services amazon-cloudformation

我正在尝试在CloudFormation模板中指定一个布尔参数,这样我就可以根据传入的参数有条件地创建资源。

查看文档herehere,看起来似乎缺少布尔数据类型。

指定布尔值的最佳做法是什么?可能Number 0或1或String AllowedValues'true'和'false'?

1 个答案:

答案 0 :(得分:40)

Quick Start模板是关于如何创建复杂模板的良好的半官方参考点,它们完全按照您的描述为条件资源实现布尔值,使用String AllowedValues truefalse。这是一个特定的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示例中找到类似示例,其中AllowedValuesdefaultNONE(默认值)。

要根据此类布尔参数有条件地创建资源,请添加Condition语句,其中包含与true匹配的Fn::Equals内在函数,然后添加Condition键资源。

这是一个完整的,最小的示例模板:

Launch Stack

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