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

Cloudformation 如果有两个或

如何解决Cloudformation 如果有两个或

我有一个包含以下块的 CFN 模板:

- Fn::If:
   - PredefinedCondition1
   - !Ref ValueIfTrue
   - !Ref AWS::Novalue

我有第二个条件,我希望 If 函数使用 Fn::Or 评估任一条件,但它一直失败并显示 If 需要字符串或条件的消息。这就是我想要实现的

- Fn::If:
   - Fn::Or
     - PredefinedCondition1
     - PredefinedCondition2
   - !Ref ValueIfTrue
   - !Ref AWS::Novalue

PredefinedCondition1PredefinedCondition2 已在同一模板中的 Conditions: 块下定义。

在更简单的语言中,“如果 PredefinedCondition1 !或 PredefinedCondition2,分配 ValueIfTrue”我如何在 Cloudformation 中实现这一点?

解决方法

您必须在 Conditions 部分创建新条件。例如:

Conditions:

    PreDefinedCondition1:
        !Equals [1,1]
        
    PreDefinedCondition2:
        !Equals [1,1]   
        
    Cond1OrCond2:
        !Or [Condition: PreDefinedCondition1,Condition: PreDefinedCondition2]  

然后,稍后您只需使用 Cond1OrCond2

- Fn::If:
   - Cond1OrCond2
   - !Ref ValueIfTrue
   - !Ref AWS::NoValue

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