微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CloudFormation条件问题

如何解决CloudFormation条件问题

我有一个CloudFormation模板,我想在AutoScale结构中使用一个条件,但是出现错误。我想知道我是否想念什么?

我的状况:

Conditions:
  CreateLBResources: !Equals 
    - !Ref LB
    - true

AutoScale中的负载均衡器:

LoadBalancerNames:
   !If [CreateLBResources,!Ref LoadBalancer,!Ref "AWS::Novalue"]

错误

属性LoadBalancerNames的值必须为字符串列表类型

我想做什么?

如果输入“ true”,请添加负载均衡器的名称,如果输入“ false”,则将其保留为空白。

感谢帮助。

解决方法

LoadBalancerNames中,您不需要任何!If条件。您只需在ASG块中使用Condition

  myASG:
    Condition: CreateLBResources
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      LoadBalancerNames: [<LBName>]
      ...

根据条件CreateLBResources,它将完成工作(创建或不创建ASG)。

,

我解决了我的问题。

LoadBalancerNames:
   - !If [CreateLBResources,!Ref LoadBalancer,!Ref "AWS::NoValue"]

我忘记添加-字符。

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。