Amazon web services 如果有两个或多个

Amazon web services 如果有两个或多个,amazon-web-services,amazon-cloudformation,aws-cloudformation-custom-resource,Amazon Web Services,Amazon Cloudformation,Aws Cloudformation Custom Resource,我有一个带有以下块的CFN模板: - Fn::If: - PreDefinedCondition1 - !Ref ValueIfTrue - !Ref AWS::NoValue 我有第二个条件,我希望If函数使用Fn::Or计算任一条件,但它不断失败,并显示一条消息,提示If需要一个字符串或条件。这就是我想要达到的目标 - Fn::If: - Fn::Or - PreDefinedCondition1 - PreDefinedCondition2

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

- Fn::If:
   - PreDefinedCondition1
   - !Ref ValueIfTrue
   - !Ref AWS::NoValue
我有第二个条件,我希望If函数使用
Fn::Or
计算任一条件,但它不断失败,并显示一条消息,提示If需要一个字符串或条件。这就是我想要达到的目标

- Fn::If:
   - Fn::Or
     - PreDefinedCondition1
     - PreDefinedCondition2
   - !Ref ValueIfTrue
   - !Ref AWS::NoValue
PreDefinedCondition1
PreDefinedCondition2
都已在同一模板中的
条件:
块下定义


用更简单的语言,“如果预定义条件1!或预定义条件2,请指定ValueIfTrue”如何在Cloudformation中实现这一点?

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

Conditions:

    PreDefinedCondition1:
        !Equals [1, 1]
        
    PreDefinedCondition2:
        !Equals [1, 1]   
        
    Cond1OrCond2:
        !Or [Condition: PreDefinedCondition1, Condition: PreDefinedCondition2]  
然后,稍后您只需使用
cond1或cond2

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

cfn lint因
Fn::或列表必须是另一个有效条件而失败valid@Saichovsky你能更新你的问题吗?什么是
PreDefinedCondition1
PreDefinedCondition2
?完成了。这两个条件已经定义。以前,我们在Fn::If下有预定义的condition1,但我想将第二个预定义的condition2添加到相同的Iffunction@Saichovsky谢谢我更新了答案。