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

表达式

在上一节提到value和pattern字段中,你不但可以填写常值,还可以编写表达式。表达式被${}包含,表达式中可以使用下列函数:

表1 字符串函数

函数

参数

返回值

功能描述

base64()

string

string

对给定字符串进行base64编码。

base64ToString()

string

string

对一个base64编码的字符串解码。

concat()

string, string

string

拼接两个字符串。

contains()

string, string

bool

判断参数二是否是参数一的子串。

empty()

string

bool

判断字符串是否为空串。

endsWith()

string, string

bool

判断参数一是否以参数二结尾。

indexOf()

string, string

int

返回参数二在参数一中第一次出现的位置,如果没有出现返回-1。

lastIndexOf()

string, string

int

返回参数二在参数一中最后一次出现的位置,如果没有出现返回-1。

length()

string

int

返回字符串长度。

replace()

string, string, string

string

将参数一中所有出现参数二的部分以参数三替换。

startsWith()

string, string

bool

判断参数一是否以参数二开头。

toLower()

string

string

将字符串中的英文字符都转换为小写。

toUpper()

string

string

将字符串中的英文字符都转换为大写。

equals()

string, string

bool

判断两个字符串是否相等。

greater()

string, string

bool

判断参数一是否大于参数二。

greaterOrEquals()

string, string

bool

判断参数一是否不小于参数二。

less()

string, string

bool

判断参数一是否小于参数二。

lessOrEquals()

string, string

bool

判断参数一是否不大于参数二。

split()

string, string

array

返回将参数一以参数二为分隔符分割后的结果。

substring()

string, int, int

string

获取参数一的子串,子串的开始位置由参数二指定,长度由参数三指定。

表2 数值函数

函数

参数

返回值

功能描述

add()

int, int

int

将两个整数相加。

max()

int, int

int

取两个整数中的较大值。

min()

int, int

int

取两个整数中的较小值。

sub()

int, int

int

计算参数一减去参数二后的结果。

equals()

int, int

bool

判断两个整数是否相等。

greater()

int, int

bool

判断参数一是否大于参数二。

greaterOrEquals()

int, int

bool

判断参数一是否不小于参数二。

less()

int, int

bool

判断参数一是否小于参数二。

lessOrEquals()

int, int

bool

判断参数一是否不大于参数二。

表3 数组函数

函数

参数

返回值

功能描述

concat()

array, array

array

拼接两个数组。

contains()

array, any

bool

判断参数二是否在数组参数一中。

empty()

array

bool

判断数组是否为空。

first()

array

any

返回数组中的第一个元素。

last()

array

any

返回数组中的最后一个元素。

length()

array

int

返回数组长度。

表4 对象函数

函数

参数

返回值

功能描述

contains()

object, string

bool

判断参数一是否包含键值参数二。

getValue()

object, string

any

获取参数一中参数二键值对应的值。

empty()

object

bool

判断对象是否为空。

length()

object

int

返回对象中的键值数量。

表5 逻辑函数

函数

参数

返回值

功能描述

if()

bool, any, any

any

判断参数一是否为真,如果为真返回参数二,否则返回参数三。

and()

bool, bool

bool

判断参数一和参数二是否都为真。

or()

bool, bool

bool

判断参数一和参数二是否至少一个为真。

not()

bool

bool

将输入的布尔值取反。

表6 资源合规相关函数

函数

参数

返回值

功能描述

resource()

object

返回当前评估资源的结构体。

parameters()

string

any

返回在parameters部分定义的一个参数。

除了函数计算以外,表达式中还支持下列语法:

  • "."连接符:你可以使用"."连接符来访问一个object中的一个字段,如 resource().properties.metadata.systemEncrypted。
  • "CASE WHEN"语句:
    CASE WHEN condition1 THEN value1
         WHEN condition2 THEN value2
         ...
         ELSE defaultValue END
分享:

    相关文档

    相关产品