更新时间:2022-09-22 GMT+08:00
分享

条件(condition)

条件可以是一条单独的判断语句,也可以是一个嵌套的逻辑运算符。

判断语句的格式如下,其返回的是一个布尔值。它的作用是判断一个指定的值是否满足特定的要求。

{
  "value": "...",
  "comparator": "...",
  "pattern": "..."
}
  • value:此处为常量或者表达式,具体值的类型根据选择的比较符而定。例如:true、1、"hello"或"${resource().properties.metadata}"。
  • comparator:比较符。
  • pattern:此处为常量或者表达式。

支持的比较符(comparator)有以下几种:

  • "equals":比较value和pattern是否相等,类型可以是字符串,整数或者布尔;
  • "notEquals":结果与equals相反;
  • "equalsIgnoreCase":以忽略大小写的形式比较value和pattern是否相等,类型必须是字符串;
  • "like":对value和pattern进行字符串模糊匹配,你可以在pattern中添加"*"或者"?",其中"*"可以匹配0个或多个任意字符,"?"匹配一个任意字符,类型必须是字符串;
  • "notLike":结果与like相反;
  • "likeIgnoreCase":以忽略大小写的形式对value和pattern进行字符串模糊匹配,类型必须是字符串;
  • "contains":判断pattern是否是value的子串,类型必须是字符串;
  • "notContains":结果与contains相反;
  • "in":判断value是否在pattern中,pattern必须是数组类型,value可以是字符串或者整数类型;
  • "notIn":结果与in相反;
  • "containsKey":判断value是否包含键值pattern,value必须是object类型,pattern必须是字符串类型;
  • "notContainsKey":结果与containsKey相反;
  • "less":判断value是否小于pattern,类型可以是字符串或者整数;
  • "lessOrEquals":判断value是否不大于pattern,类型可以是字符串或者整数;
  • "greater":判断value是否大于pattern,类型可以是字符串或者整数;
  • "greaterOrEquals":判断value是否不小于pattern,类型可以是字符串或者整数。
条件内部嵌套逻辑运算符的例子:
{
  "not": {
    "anyOf": [
      {
        "value": "${resource().properties.metadata}",
        "comparator": "notContainsKey",
        "pattern": "systemEncrypted"
      },
      {
        "value": "${resource().properties.metadata.systemEncrypted}",
        "comparator": "equals",
        "pattern": "0"
      }
    ]
  }
}
分享:

    相关文档

    相关产品