问题描述
- 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