組み込み関数

組み込み関数は、StyleBook 内の式によって使用されます。

たとえば、組み込み関数 str() を使用して、数値を文字列に変換できます。

str($parameters.order)

または、組み込み関数 int() を使用して、文字列を整数に変換することもできます。

int($parameters.優先度)

以下は、StyleBook 式でサポートされている組み込み関数とその使用例のリストです。

str()

str() 関数は、入力引数を文字列値に変換します。

許可される引数の型:

:

整数()

int() 関数は、文字列、数値、IP アドレス、または tcpport を引数として受け取り、整数を返します。

:

ブール()

bool() 関数は任意の型を引数として受け取ります。 引数値が false、空、または存在しない場合、この関数は falseを返します。

それ以外の場合は、 trueを返します。

:

長さ()

len() 関数は、文字列またはリストを引数として受け取り、文字列内の文字数またはリスト内の項目数を返します。

例1:

置換を次のように定義します。

アイテム: ["123", "abc", "xyz"]

len($substitutions.items) 関数は 3を返します。

例2:

len("NetScaler Console") 関数は 10を返します。

例3:

$parameters.vips の値が ['1.1.1.1', '1.1.1.2', '1.1.1.3']の場合、 len($parameters.vips) 関数は 3を返します。

最小値()

min() 関数は、リストまたは一連の数値、あるいは tcp-ports を引数として受け取り、最小の項目を返します。

一連の数字/TCP ポートの例:

数字/TCP ポートのリストを使用した例:

最大()

max() 関数は、リストまたは一連の数値、あるいは tcp-ports を引数として受け取り、最大の項目を返します。

一連の数字/TCP ポートの例:

数字/TCP ポートのリストを使用した例:

ビン()

bin() 関数は数値を引数として受け取り、その数値をバイナリ形式で表した文字列を返します。

表現の例:

bin(100) 関数は 0b1100100を返します。

八分目()

oct() 関数は数値を引数として受け取り、その数値を 8 進形式で表した文字列を返します。

表現の例:

oct(100) 関数は 0144を返します。

16進数()

hex() 関数は数値を引数として受け取り、その数値を 16 進形式で表す小文字の文字列を返します。

表現の例:

hex(100) 関数は 0x64を返します。

より低い()

lower() 関数は文字列を引数として受け取り、同じ文字列を小文字で返します。

:

lower("ADM") 関数は admを返します。

アッパー()

upper() 関数は文字列を引数として受け取り、同じ文字列を大文字で返します。

:

upper("NetScaler Console") 関数は NetScaler Consoleを返します。

和()

sum() 関数は、数値のリストまたは tcpports を引数として受け取り、リスト内の数値の合計を返します。

例1:

置換を次のように定義すると: 置換:

数字のリスト = [11, 22, 55]

sum($substitutions.list-of-numbers) 関数は 88を返します。

例2:

$parameters.ports[80, 81, 82]の場合、 sum($parameters.ports) 関数は 243を返します。

捕虜()

pow() 関数は 2 つの数値を引数として受け取り、最初の引数を 2 番目の引数で累乗した数値を返します。

:

pow(3,2) 関数は 9を返します。

ip()

ip() 関数は、整数、文字列、または IP アドレスを引数として受け取り、入力値に基づいて IP アドレスを返します。

:

base64.エンコード()

base64.encode() 関数は文字列引数を受け取り、base64 でエンコードされた文字列を返します。

:

base64.encode("abcd") 関数は YWJjZA==を返します。

base64.デコード()

base64.decode 関数は、base64 でエンコードされた文字列を引数として受け取り、デコードされた文字列を返します。

:

base64.decode("YWJjZA==") 関数は abcdを返します。

存在する()

exists() 関数は、任意の型の引数を受け取り、ブール値を返します。 戻り値は、入力に何らかの値がある場合、 True になります。 入力引数に値がない場合 (つまり、値がない)、戻り値は False になります。

$parameters.monitor はオプションのパラメーターであることに留意してください。 構成パックの作成時にこのパラメーターに値を指定すると、 ($parameters.monitor) 関数は Trueを返します。

それ以外の場合は、 Falseを返します。

フィルター()

filter() 関数は 2 つの引数を取ります。

引数 1: 1 つの引数を取り、ブール値を返す置換関数。

引数2: リスト。

この関数は、最初の 引数で置換関数に渡されたときに各要素が True と評価される元のリストのサブセットを返します。

:

次のような置換関数を考えてみましょう。

代替品:

x(a): $a != 81

この関数は、入力値が 81と等しくない場合に True を返します。 それ以外の場合は、 Falseを返します。

たとえば、$parameters.ports[81, 80, 81, 89]であるとします。

フィルター ($substitutions.x、 $parameters.ports) は、リストから 81 のすべての出現を削除して [80, 89] を返します。

if-then-else()

関数 if-then-else() は 3 つの引数を取ります。

引数1: ブール式

引数2: 任意の式

引数3: 任意の式(オプション)

引数 1 の式が Trueと評価された場合、関数は引数 2 として指定された式の値を返します。

それ以外の場合、引数 3 が指定されると、関数は引数 3 の式の値を返します。

引数 3 が指定されていない場合、関数は またはを返します。

例1:

if-then-else($parameters.servicetype == HTTP, 80, 443) 関数は、 $parameters.servicetype の値が HTTPの場合、 80 を返します。 それ以外の場合、関数は 443を返します。

例2:

if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) 関数は、 $parameters.servicetype の値が HTTPの場合、 $parameters.hport の値を返します。

それ以外の場合、関数は $parameters.sportの値を返します。

例3:

if-then-else($parameters.servicetype == HTTP, 80) は、 $parameters.servicetype の値が HTTPの場合、 80 を返します。

それ以外の場合、関数は値を返しません。

参加する()

join() 関数は 2 つの引数を取ります。

引数1: 数字、 tcp-ports、文字列、またはIPアドレスのリスト

引数2: 区切り文字列(オプション)

この関数は、引数 1 として指定されたリストの要素を文字列に結合します。各要素は、引数 2 として指定された区切り文字列で区切られます。 引数 2 が指定されていない場合、リスト内の要素は 1 つの文字列として結合されます。

:

スプリット()

split() 関数は、指定された区切り文字に応じて入力文字列を複数のリストに分割します。 区切り文字が指定されていないか空白 ('') の場合、この関数はスペースを区切り文字と見なし、文字列をリストに分割します。

例:

地図()

map() 関数は 2 つの引数を取ります。

引数1: 任意の関数

引数 2: 要素のリスト。

この関数は、リスト内の各要素が引数 2 の対応する要素に map() 関数 (引数 1) を適用した結果であるリストを返します。

引数1で許可される関数:

:

$parameters.numsが [81, 82, 83]であるとします。

このマップ関数の結果は数値のリストです。 各要素は、入力リスト ($parameters.nums)内の対応する要素に置換関数 $substitutions.add-10 を適用することによって計算されます。

引用符で囲む()

quotewrap() 関数は文字列を引数として受け取り、入力値の前後に二重引用符を追加した文字列を返します。

:

quotewrap("ADM") 関数は "mas"を返します

交換する()

replace() 関数は 3 つの引数を取ります。

引数 1: 文字列 または次の組み込み型のリスト:

引数2: 引数1で指定された型と一致する単一の値または値のリスト

引数3: 引数1で指定したものと同じ型の単一の値(オプション)

replace() 関数は、引数 1 内のすべての引数 2 を引数 3 に置き換えます。

引数 3 が指定されていない場合は、引数 2 のすべての出現が引数 1 から削除されます。

:

トリム()

trim() 関数は、入力文字列の先頭と末尾の空白を取り除いた文字列を返します。

:

trim(' abc ') 関数は abcを返します。

切り捨て()

truncate() 関数は 2 つの引数を取ります。

引数1: 文字列

引数2: 数値

この関数は、引数 1 の入力文字列を引数 2 で指定された長さに切り捨てた文字列を返します。

:

truncate('NetScaler Console', 6)Citrixを返します。

明確な()

distinctive() 関数は、リスト入力から一意の項目を抽出します。

例: $parameters.input_list['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX']の場合、 distinctive($parameters.input_list) 関数は ['ADM', 'ADC', 'VPX', 'CPX']を返します。

url.encode()

url.encode() 関数は、RFC 3986 に従って ASCII 文字セットを使用して文字が変換された文字列を返します。

:

url.encode("a/b/c") 関数は a%2Fb%2Fcを返します。

url.デコード()

url.decode() 関数は、URL エンコードされた引数を RFC 3986 に従って通常の文字列にデコードした文字列を返します。

:

url.decode("a%2Fb%2Fc") 関数は a/b/cを返します。

is-ipv4()

is-ipv4() 関数は IP アドレスを引数として受け取り、IP アドレスが IPv4 形式である場合はブール値 True を返します。

is-ipv4(10.10.10.10) 関数は Trueを返します

is-ipv6()

is-ipv6() 関数は IP アドレスを引数として受け取り、IP アドレスが IPv6 形式である場合はブール値 True を返します。

is-ipv6(2001:DB8::) 関数は Trueを返します

開始()

startswith() 関数は、文字列が指定されたプレフィックスで始まるかどうかを判断します。 この関数には 2 つの必須の文字列引数が必要です。

startswith(str, sub_str)

この関数は、文字列 (str) が部分文字列 (sub_str) で始まる場合に True を返します。

:

終了()

endswith() 関数は、文字列が指定されたサフィックスで終わるかどうかを判断します。 この関数には 2 つの必須の文字列引数が必要です。

終了文字列(str, sub_str)

この関数は、文字列 (str) が部分文字列 (sub_str) で終わる場合に True を返します。

:

含む()

contains() 関数は、文字列に指定された部分文字列が含まれているかどうかを判断します。 この関数には 2 つの必須の文字列引数が必要です。

含まれる(str, sub_str)

この関数は、部分文字列 (sub_str) が文字列 (str) 内のどこかに含まれている場合に True を返します。

例:

部分文字列()

文字列から部分文字列を抽出するには、 substring() 関数を使用します。

部分文字列(str, 開始インデックス, 終了インデックス)

この関数には、2 つの必須引数と 1 つのオプションの整数引数が必要です。

この関数は、指定されたインデックス位置の間にある文字列 (str) から部分文字列を返します。 終了インデックス位置を指定しない場合は、関数は開始インデックスから文字列の末尾までの部分文字列を抽出します。

注記

end_indexを指定すると、部分文字列から end_index の位置にある文字が除外されます。

例:

複数()

multiple() 関数は 2 つの引数を取ります。

引数 1:numberstringbooleanipaddresstcp-port、または password

引数2: の数

multiple(argument1, argument2) 関数は、引数 1 の多数のコピーを含むリストを返します。 コピー数は引数 2 に渡された数と同じになります。

:

逆行する()

reverse() 関数は、項目のリストを引数として受け取り、同じ項目を逆の順序で並べたリストを返します。

引数には次の組み込み型のリストを指定できます。

: