1

我有一个带有以下块的 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 中实现这一点?

4

1 回答 1

1

您必须在您的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
于 2021-02-25T09:07:00.317 回答