The built-in function Fn::Or represents the OR operator and must contain at least two conditions. If one of the conditions is evaluated to true, true is returned. If all the conditions are evaluated to false, false is returned.
Declaration
JSON
{ "Fn::Or": [ "condition1", "condition2", ... ] }
YAML
Syntax for the full function name:
Fn::Or: - condition1 - condition2 - ...
Syntax for the short form:
!Or [condition1, condition2, ...]
Parameters
condition
: the condition that you want to evaluate.
Return value
true or false.
Examples
You can use Fn::Or to define a condition only in the Conditions or Rules section.
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
EnvType:
Type: String
Default: pre
Conditions:
TestEqualsCond:
!Equals
- prod
- !Ref EnvType
TestOrCond:
!Or
- TestEqualsCond
- !Equals
- pre
- !Ref EnvType
{
"Parameters": {
"EnvType": {
"Default": "pre",
"Type": "String"
}
},
"Conditions": {
"TestEqualsCond": {
"Fn::Equals": [
"prod",
{"Ref": "EnvType"}
]
},
"TestAndCond": {
"Fn::Or": [
"TestEqualsCond",
{
"Fn::Equals": [
"pre",
{"Ref": "EnvType"}
]
}
]
}
}
}