Bake 标准库函数
目录
| 名称 | 描述 |
|---|---|
absolute | 如果给定的数字是负数,则返回其正等效值;否则,返回未更改的给定数字。 |
add | 返回两个给定数字的和。 |
和 | 对给定的布尔值应用逻辑 AND 运算。 |
base64decode | 解码包含 base64 序列的字符串。 |
base64encode | 将字符串编码为 base64 序列。 |
basename | 返回路径的最后一个元素。 |
bcrypt | 使用 Blowfish 密码算法计算给定字符串的哈希值。 |
byteslen | 返回给定缓冲区中的总字节数。 |
bytesslice | 从给定缓冲区中提取子切片。 |
can | 尝试评估其第一个参数中给出的表达式。 |
ceil | 返回大于或等于给定值的最小整数。 |
chomp | 从给定字符串的末尾移除一个或多个换行符。 |
chunklist | 将一个列表拆分为多个列表,每个列表最多包含给定数量的元素。 |
cidrhost | 在给定的 IP 网络地址前缀中计算完整的宿主机 IP 地址。 |
cidrnetmask | 将 CIDR 表示法中给定的 IPv4 地址前缀转换为子网掩码地址。 |
cidrsubnet | 在给定的 IP 网络地址前缀中计算子网地址。 |
cidrsubnets | 一次性计算多个连续的子网地址,而不仅仅是单个子网扩展。 |
coalesce | 返回给定参数中第一个非空值;如果不存在非空参数,则引发错误。 |
coalescelist | 返回给定序列中长度大于零的第一个序列。 |
compact | 从给定的字符串列表中移除所有空字符串元素。 |
concat | 将所有给定的列表或元组连接成一个序列,并保留输入顺序。 |
contains | 如果给定值是给定列表、元组或集合中的值,则返回 true;否则返回 false。 |
convert | 使用 HCL 的 customdecode 扩展支持类型表达式,将值转换为指定的类型约束。 |
csvdecode | 将给定字符串解析为逗号分隔值(根据 RFC 4180 定义),并返回一个表示数据表的映射对象,其中第一行用作定义对象属性的标题行。 |
dirname | 返回路径的目录。 |
distinct | 从给定列表中移除任何重复值,并保留剩余元素的顺序。 |
divide | 将第一个给定数字除以第二个数字。 |
element | 返回给定列表或元组中具有给定索引的元素,如果给定索引大于元素数量,则对给定索引应用模运算。 |
equal | 如果两个给定值相等,则返回 true;否则返回 false。 |
flatten | 通过将任何自身是序列的给定元素替换为所有嵌套元素连接在一起的扁平元组,将列表、集合或元组值转换为元组。 |
floor | 返回小于或等于给定值的最大整数。 |
format | 使用类似于 C 语言函数 "printf" 的语法,通过将格式化动词应用于一系列参数来构造字符串。 |
formatdate | 将以 RFC 3339 语法给出的时间戳格式化为格式字符串中描述的另一种面向机器的时间语法的时间戳。 |
formatlist | 使用类似于 C 语言函数 "printf" 的语法,通过将格式化动词应用于一系列参数来构造字符串列表。 |
greaterthan | 当且仅当第二个数字大于第一个数字时返回 true。 |
greaterthanorequalto | 当且仅当第二个数字大于或等于第一个数字时返回 true。 |
hasindex | 如果给定集合可以使用给定键进行索引而不会产生错误,则返回 true;否则返回 false。 |
homedir | 返回当前用户的主目录。 |
indent | 在给定字符串的每个换行符后添加给定数量的空格。 |
index | 返回给定集合中具有给定键的元素;如果不存在此类元素,则引发错误。 |
indexof | 查找列表中给定值的元素索引。 |
int | 丢弃给定数字的任何小数部分。 |
join | 使用分隔符将所有给定列表的元素连接在一起,生成一个单一字符串。 |
jsondecode | 将给定字符串解析为 JSON,并返回与 JSON 文档描述相对应的值。 |
jsonencode | 返回包含给定值的 JSON 表示的字符串。 |
keys | 按字典顺序返回给定映射的键列表。 |
length | 返回给定集合中的元素数量。 |
lessthan | 当且仅当第二个数字小于第一个数字时返回 true。 |
lessthanorequalto | 当且仅当第二个数字小于或等于第一个数字时返回 true。 |
log | 返回给定数字在给定基数下的对数。 |
lookup | 返回给定映射中具有给定键的元素的值,如果不存在此类元素,则返回默认值。 |
lower | 返回将给定字符串中所有 Unicode 字母转换为小写等效值的字符串。 |
max | 返回所有给定数字中数值最大的数字。 |
md5 | 计算给定字符串的 MD5 哈希值,并用十六进制数字编码。 |
merge | 将所有给定映射的元素合并到单个映射中,或将给定对象的属性合并到单个对象中。 |
min | 返回所有给定数字中数值最小的数字。 |
modulo | 将第一个给定数字除以第二个数字,然后返回余数。 |
multiply | 返回两个给定数字的乘积。 |
negate | 将给定数字乘以 -1。 |
not | 对给定布尔值应用逻辑 NOT 运算。 |
notequal | 如果两个给定值相等,则返回 false;否则返回 true。 |
或 | 对给定的布尔值应用逻辑 OR 运算。 |
parseint | 将给定字符串解析为给定基数的数字;如果字符串包含无效字符,则引发错误。 |
pow | 返回给定数字的给定幂次方(指数运算)。 |
range | 返回在特定范围内均匀分布的数字列表。 |
regex | 将给定正则表达式模式应用于给定字符串,并返回单个匹配项的信息;如果不存在匹配项,则引发错误。 |
regex_replace | 将给定正则表达式模式应用于给定字符串,并将所有匹配项替换为给定的替换字符串。 |
regexall | 将给定正则表达式模式应用于给定字符串,并返回所有非重叠匹配项的信息列表;如果不存在匹配项,则返回空列表。 |
replace | 将给定字符串中所有给定子字符串的实例替换为给定的替换字符串。 |
reverse | 返回将其所有 Unicode 字符反向排列的给定字符串。 |
reverselist | 返回将其元素反向排列的给定列表。 |
rsadecrypt | 解密 RSA 加密密文。 |
sanitize | 将所有非字母数字字符替换为下划线,只保留对 Bake 目标名称有效的字符。 |
sethaselement | 如果给定集合包含给定元素,则返回 true;否则返回 false。 |
setintersection | 返回所有给定集合的交集。 |
setproduct | 计算两个或多个集合的笛卡尔积。 |
setsubtract | 返回两个给定集合的相对补集。 |
setsymmetricdifference | 返回两个给定集合的对称差集。 |
setunion | 返回所有给定集合的并集。 |
sha1 | 计算给定字符串的 SHA1 哈希值,并用十六进制数字编码。 |
sha256 | 计算给定字符串的 SHA256 哈希值,并用十六进制数字编码。 |
sha512 | 计算给定字符串的 SHA512 哈希值,并用十六进制数字编码。 |
signum | 如果给定数字为零,则返回 0;如果给定数字为正,则返回 1;如果给定数字为负,则返回 -1。 |
slice | 提取给定列表或元组值的子切片。 |
sort | 对给定列表的元素进行字典排序。 |
split | 通过在给定分隔子字符串的所有实例处拆分给定字符串,生成一个或多个字符串的列表。 |
strlen | 返回给定字符串中的 Unicode 字符数(技术上:字素簇)。 |
substr | 从给定字符串中提取子字符串。 |
subtract | 返回两个给定数字之间的差值。 |
timeadd | 将给定持续时间字符串表示的持续时间添加到给定的 RFC 3339 时间戳字符串,返回另一个 RFC 3339 时间戳。 |
timestamp | 返回当前日期和时间的字符串表示。 |
title | 将每个非字母和非数字字符后的一个字母转换为其大写等效值。 |
trim | 从给定字符串的开头和结尾移除 "cutset" 中连续的字符序列。 |
trimprefix | 如果给定前缀存在,则从给定字符串的开头移除它。 |
trimspace | 从给定字符串的开头和结尾移除任何连续的空格字符(由 Unicode 定义)。 |
trimsuffix | 如果给定后缀存在,则从给定字符串的开头移除它。 |
try | 可变参数函数,按顺序尝试评估其所有参数,直到一个成功,然后返回该结果;如果所有参数都失败,则返回错误。 |
upper | 返回将给定字符串中所有 Unicode 字母转换为大写等效值的字符串。 |
urlencode | 对给定字符串应用 URL 编码。 |
uuidv4 | 生成并返回标准十六进制字符串格式的 Type-4 UUID。 |
uuidv5 | 生成并返回标准十六进制字符串格式的 Type-5 UUID。 |
values | 按键或属性名称的字典顺序返回给定映射元素的 values 或给定对象属性的 values。 |
zipmap | 从键列表和相应的值列表构造一个映射,两者必须具有相同的长度。 |
示例
add
# docker-bake.hcl
target "webapp-dev" {
dockerfile = "Dockerfile.webapp"
tags = ["docker.io/username/webapp:latest"]
args = {
buildno = "${add(123, 1)}"
}
}