Fn::And

调用内部函数Fn::And代表AND运算符,最少包含两个条件。如果所有指定条件计算为true,则返回true;如果任意条件计算为false,则返回false。

函数声明

  • JSON

    {
      "Fn::And": [
        "condition1",
        "condition2",
        ...
      ]
    }
  • YAML

    • 完整函数的语法。

      Fn::And:
        - condition1
        - condition2
        - ...
    • 缩写形式。

      !And [condition1, condition2, ...]

参数信息

condition:计算为true或false的条件。

返回值

true或false。

使用示例

只能在Conditions和Rules中使用Fn::And定义条件。

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"}
          ]
        }
      ]
    }
  }
}

支持的函数