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