Fn::And é o operador AND que aceita pelo menos duas condições. Retorna true se todas as condições forem avaliadas como true e false se alguma condição for avaliada como false.
Declaração
-
JSON
{ "Fn::And": [ "condition1", "condition2", ... ] } -
YAML
-
Sintaxe do nome completo da função:
Fn::And: - condition1 - condition2 - ... -
Sintaxe da forma abreviada:
!And [condition1, condition2, ...]
-
Parâmetros
condition: condição a avaliar.
Valor de retorno
true ou false.
Exemplos
Use Fn::And para definir condições apenas na seção Conditions ou Rules.
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
EnvType:
Default: pre
Type: String
Conditions:
TestEqualsCond:
!Equals
- prod
- !Ref EnvType
TestAndCond:
!And
- TestEqualsCond
- !Equals
- pre
- !Ref EnvType
{
"Parameters": {
"EnvType": {
"Default": "pre",
"Type": "String"
}
},
"Conditions": {
"TestEqualsCond": {
"Fn::Equals": [
"prod",
{"Ref": "EnvType"}
]
},
"TestAndCond": {
"Fn::And": [
"TestEqualsCond",
{
"Fn::Equals": [
"pre",
{"Ref": "EnvType"}
]
}
]
}
}
}