組み込み関数
str() を使用して、数値を文字列に変換できます。
str($parameters.order)
int() を使用して、文字列を整数に変換できます。
int($parameters.priority)
str()
str() 関数は、入力引数を文字列値に変換します。
-
string -
number -
TCP-port -
boolean -
IP address
-
"set-" + str(10)関数は"set-10"を返します。 -
str(10)関数は10を返します。 -
str(1.1.1.1)関数は1.1.1.1を返します。 -
str(T rue)関数は"T rue"を返します。 -
str(ADM)関数は"mas"を返します。
int()
int() 関数は、文字列、数値、IP アドレス、または tcpport を引数として取り、整数を返します。
-
int("10")関数は10を返します。 -
int(10)関数は10を返します。 -
int(ip('0.0.4.1'))関数は1025を返します。
bool()
bool() 関数は任意の型を引数として取ります。引数の値が false、空、または存在しない場合、この関数は false を返します。
true を返します。
-
bool(true)関数はtrueを返します。 -
bool(false)関数はfalseを返します。 -
$parameters.aがfalse、空、または存在しない場合、bool($parameters.a)関数はfalseを返します。
len()
len() 関数は、文字列またはリストを引数として取り、文字列内の文字数またはリスト内の項目数を返します。
items: ["123", "abc", "xyz"]
len($substitutions.items) 関数は 3 を返します。
len("NetScaler ADM") 関数は 10 を返します。
$parameters.vips が ['1.1.1.1', '1.1.1.2', '1.1.1.3'] の値を持つ場合、len($parameters.vips) 関数は 3 を返します。
min()
min() 関数は、リストまたは一連の数値、あるいは tcp-ports を引数として取り、最小の項目を返します。
-
min(80, 100, 1000)関数は80を返します。 -
min(-20, 100, 400)関数は-20を返します。 -
min(-80, -20, -10)関数は-80を返します。 -
min(0, 100, -400)関数は-400を返します。
-
$parameters.portsがtcp-portsのリストであり、[80, 81, 8080]の値を持つとします。min($parameters.ports)関数は80を返します。
max()
max() 関数は、リストまたは一連の数値、あるいは tcp-ports を引数として取り、最大の項目を返します。
-
max(80, 100, 1000)関数は1000を返します。 -
max(-20, 100, 400)関数は400を返します。 -
max(-80, -20, -10)関数は-10を返します。 -
max(0, 100, -400)関数は100を返します。
-
$parameters.portsがtcp-portsのリストであり、[80, 81, 8080]の値を持つとします。max($parameters.ports)関数は8080を返します。
bin()
bin() 関数は、数値を引数として取り、その数値をバイナリ形式で表す文字列を返します。
bin(100) 関数は 0b1100100 を返します。
oct()
oct() 関数は、数値を引数として取り、その数値を 8 進数形式で表す文字列を返します。
oct(100) 関数は 0144 を返します。
hex()
hex() 関数は、数値を引数として取り、その数値を小文字の 16 進数形式で表す文字列を返します。
hex(100) 関数は 0x64 を返します。
lower()
lower() 関数は、文字列を引数として取り、同じ文字列を小文字で返します。
lower("ADM") 関数は adm を返します。
upper()
upper() 関数は、文字列を引数として取り、同じ文字列を大文字で返します。
upper("NetScaler ADM") 関数は NetScaler ADM を返します。
sum()
sum() 関数は、数値または tcpports のリストを引数として取り、リスト内の数値の合計を返します。
list-of-numbers = [11, 22, 55]
sum($substitutions.list-of-numbers) 関数は 88 を返します。
$parameters.ports が [80, 81, 82] の場合、sum($parameters.ports) 関数は 243 を返します。
pow()
pow() 関数は、2 つの数値を引数として取り、最初の引数を 2 番目の引数の累乗で表す数値を返します。
pow(3,2) 関数は 9 を返します。
ip()
ip() 関数は、整数、文字列、または IP アドレスを引数として取り、入力値に基づいて IP アドレスを返します。
-
ip関数で IP アドレスを指定します。ip(3.1.1.1)関数は3.1.1.1を返します。 -
ip関数で文字列を指定します。ip('2.1.1.1')関数は2.1.1.1を返します。 -
ip関数で整数を指定します。-
ip(12)関数は0.0.0.12を返します。 -
ip関数で整数を文字列として指定すると、入力の同等の IP アドレスを返します。ip('1025')関数は0.0.4.1を返します。
この関数は、整数の加算および減算演算もサポートしており、結果の IP アドレスを返します。-
加算:
ip(1025) + ip(12)関数は0.0.4.13を返します。 -
減算:
ip('1025') - ip(12)関数は0.0.3.245を返します。 -
加算と減算の組み合わせ:
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)関数は2.2.2.0を返します。
-
base64.encode()
base64.encode() 関数は、文字列引数を取り、Base64 エンコードされた文字列を返します。
base64.encode("abcd") 関数は YWJjZA== を返します。
base64.decode()
base64.decode() 関数は、Base64 エンコードされた文字列を引数として取り、デコードされた文字列を返します。
base64.decode("YWJjZA==") 関数は abcd を返します。
exists()
exists() 関数は、任意の型の引数を取り、ブール値を返します。入力に何らかの値がある場合、戻り値は True です。入力引数に値がない (つまり、値がない) 場合、戻り値は False です。
$parameters.monitor がオプションのパラメータであるとします。設定パックの作成時にこのパラメータに値を指定すると、($parameters.monitor) 関数は True を返します。
False を返します。
filter()
filter() 関数は 2 つの引数を取ります。
True と評価されます。
x(a): $a != 81
81 と等しくない場合、True を返します。それ以外の場合、False を返します。
$parameters.ports が [81, 80, 81, 89] であるとします。
filter($substitutions.x, $parameters.ports) 関数は、リストから 81 のすべての出現を削除して [80, 89] を返します。
if-then-else()
if-then-else() 関数は 3 つの引数を取ります。
True と評価される場合、この関数は引数 2 として指定された式の値を返します。
no を返します。
if-then-else($parameters.servicetype == HTTP, 80, 443) 関数は、$parameters.servicetype が HTTPの値を持つ場合、80 を返します。それ以外の場合、この関数は 443` を返します。
if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) 関数は、$parameters.servicetype が HTTP の値を持つ場合、$parameters.hport の値を返します。
$parameters.sport の値を返します。
if-then-else($parameters.servicetype == HTTP, 80) 関数は、$parameters.servicetype が HTTPの値を持つ場合、80` を返します。
join()
join() 関数は 2 つの引数を取ります。
tcp-ports、文字列、または IP アドレスのリスト
-
$parameters.portsは[81, 82, 83]です。-
区切り文字引数を使用する場合:
join($parameters.ports, '-')関数は81-82-83を返します。 -
区切り文字引数を使用しない場合:
join($parameters.ports)関数は818283を返します。
-
split()
split() 関数は、指定された区切り文字に応じて入力文字列を複数のリストに分割します。区切り文字が指定されていないか、空白 ('') の場合、この関数はスペースを区切り文字と見なし、文字列をリストに分割します。
-
split('Example_string_split', 's')関数は['Example_','tring_','plit']を返します。 -
split('Example string split')関数は['Example','string','split']を返します。 -
split('Example string split', '')関数は['Example','string','split']を返します。 -
split('Example string')関数は['Example','string']を返します。この関数は、連続するスペースを 1 つのスペースと見なします。
map()
map() 関数は 2 つの引数を取ります。
map() 関数 (引数 1) を引数 2 の対応する要素に適用した結果であるリストを返します。
-
1 つの引数を取る組み込み関数:
base64.encode, base64.decode, bin, bool, exists, hex, int, ip, len, lower, upper, oct, quotewrap, str, trim, upper, url.encode, url.decode -
少なくとも 1 つの引数を取る置換関数。
$parameters.nums が [81, 82, 83] であるとします。
-
組み込み関数 str を使用したマップ:
map(str, $parameters.nums)関数は["81", "82", "83"]を返します。map関数の結果は文字列のリストであり、各要素は入力リスト ($parameters.nums) の対応する要素にstr関数を適用することによって計算された文字列です。 -
置換関数を使用したマップ:
-
置換:
add-10(port): $port + 10 -
式:
map($substitutions.add-10, $parameters.nums)関数は数値のリスト[ 91, 92, 93 ]を返します。
-
map 関数の結果は数値のリストであり、各要素は入力リスト ($parameters.nums) の対応する要素に置換関数 $substitutions.add-10 を適用することによって計算されます。
quotewrap()
quotewrap() 関数は、文字列を引数として取り、入力値の前後に二重引用符文字を追加した文字列を返します。
quotewrap("ADM") 関数は "mas" を返します。
replace()
replace() 関数は 3 つの引数を取ります。
-
replace('abcdef', 'def', 'xyz')関数はabcxyzを返します。defのすべての出現がxyzに置き換えられます。 -
replace('abcdefabc', 'def')関数はabcabcを返します。3 番目の引数がないため、defは結果の文字列から削除されます。
$parameters.spl_chars = ['@', '#', '!', '%']
replace('An#example@to%replace!characters', $parameters.spl_chars, '_') 関数は An_example_to_replace_characters を返します。
リストで指定された文字の代わりにアンダースコア (_`) が含まれます。
trim()
trim() 関数は、入力文字列から先頭と末尾の空白が削除された文字列を返します。
trim(' abc ') 関数は abc を返します。
truncate()
truncate() 関数は 2 つの引数を取ります。
truncate('NetScaler ADM', 6) 関数は Citrix を返します。
distinct()
distinct() 関数は、リスト入力から一意の項目を抽出します。
$parameters.input_list が ['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX'] の場合、distinct($parameters.input_list) 関数は ['ADM', 'ADC', 'VPX', 'CPX'] を返します。
url.encode()
url.encode() 関数は、RFC 3986 に従って ASCII 文字セットを使用して文字が変換された文字列を返します。
url.encode("a/b/c") 関数は a%2Fb%2Fc を返します。
url.decode()
url.decode() 関数は、RFC 3986 に従って URL エンコードされた引数が通常の文字列にデコードされた文字列を返します。
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()
startswith() 関数は、文字列が指定されたプレフィックスで始まるかどうかを判断します。この関数には、2 つの必須文字列引数が必要です。
startswith(str, sub_str)
str) が部分文字列 (sub_str) で始まる場合に True を返します。
-
startswith('Citrix', 'Ci')関数はTrueを返します。 -
startswith('Citrix', 'iC')関数はFalseを返します。 -
startswith('Citrix', 'Ab')関数はFalseを返します。
endswith()
endswith() 関数は、文字列が指定されたサフィックスで終わるかどうかを判断します。この関数には、2 つの必須文字列引数が必要です。
endswith(str, sub_str)
str) が部分文字列 (sub_str) で終わる場合に True を返します。
-
endswith('Citrix', 'ix')関数はTrueを返します。 -
endswith('Citrix', 'Ix')関数はFalseを返します。 -
endswith('Citrix', 'ab')関数はFalseを返します。
contains()
contains() 関数は、文字列が指定された部分文字列を含むかどうかを判断します。この関数には、2 つの必須文字列引数が必要です。
contains(str, sub_str)
sub_str) が文字列 (str) 内のどこかに含まれている場合に True を返します。
-
contains('Citrix', 'tri')関数はTrueを返します。 -
contains('Citrix', 'Ci')関数はTrueを返します。 -
contains('Citrix', 'ti')関数はFalseを返します。
substring()
substring() 関数を使用して、文字列から部分文字列を抽出します。
substring(str, start_index, end_index)
-
str(必須) -
start_index(必須) -
end_index(オプション)
str) から部分文字列を返します。終了インデックス位置を指定しない場合、この関数は開始インデックスから文字列の末尾までの部分文字列を抽出します。
end_index を指定すると、部分文字列には end_index 位置の文字は含まれません。
-
substring('Citrix', 2)関数はtrixを返します。 -
substring('Citrix', 10)関数は (") を返します。この例では、無効なstart_index位置があるため、関数は空の文字列を返します。 -
substring('Citrix', 2, 4)関数はtrを返します。この例では、関数は 2 から 4 のインデックス位置の間にある文字を抽出します。 -
substring('Citrix', -3)関数はrixを返します。文字列の末尾にある文字を抽出する場合は、start_index引数に負の値を指定します。この例では、関数は文字列の最後の 3 文字を含む部分文字列を抽出します。