Cloudformation 如果有两个或
Cloudformation If with two Or
我有一个包含以下块的 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
都已在同一模板的 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
我有一个包含以下块的 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
都已在同一模板的 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