AWS CloudFormation模板:如何隐藏参数?

时间:2018-01-31 10:01:30

标签: amazon-web-services amazon-cloudformation

我想添加一个布尔参数,用于定义是否显示其他参数。

例如:

{
   "Parameters":{
      "ShowParam":{
         "AllowedValues":[
            "true",
            "false"
         ],
         "Default":"false",
         "Type":"String"
      },
      "Param":{
         "Type":"String"
      }
   }
}

如果“ShowParam”设置为true,我想显示“Param”。

有办法实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

不幸的是,“条件”不适用于参数/参数组。您可以设置资源和输出的可见性/可用性。您可以创建一些参数组并将注释设置为“可选”。对于资源,如果“param”为空,您可以将资源值设置为“AWS :: NoValue”以表示“Cloudformation,请忽略它!”

最好的,

答案 1 :(得分:0)

有两种方法可以完成此操作:

  1. 将信息保密,并直接在模板中进行引用,如下所示:

    {{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}
    

    https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html

  2. 如果可以将值硬编码到模板中,则可以使用映射

    Mappings:
      Variables:
        VpcId:
          Value: vpc-xxxxxxx
    

    ,然后像这样引用它:

    !FindInMap [Variables, VpcId, Value]