Integrierte Funktionen
Ausdrücke in StyleBooks können integrierte Funktionen verwenden.
Sie können beispielsweise die integrierte Funktion str() verwenden, um eine Zahl in eine Zeichenfolge umzuwandeln.
str($parameters.order)
Oder Sie können die integrierte Funktion int() verwenden, um eine Zeichenfolge in eine Ganzzahl umzuwandeln.
int($parameters.priority)
Im Folgenden finden Sie eine Liste der in StyleBook-Ausdrücken unterstützten integrierten Funktionen mit Anwendungsbeispielen:
str()
Die Funktion str() wandelt das Eingabeargument in einen Zeichenfolgenwert um.
Zulässige Argumenttypen:
stringnumberTCP-portbooleanIP-Adresse
Beispiele:
- Die Funktion
"set-" + str(10)gibt"set-10"zurück. - Die Funktion
str(10)gibt10zurück. - Die Funktion
str(1.1.1.1)gibt1.1.1.1zurück. - Die Funktion
str(T rue)gibt"T rue"zurück. - Die Funktion
str(ADM)gibt"mas"zurück.
int()
Die Funktion int() akzeptiert eine Zeichenfolge, eine Zahl, eine IP-Adresse oder einen tcpport als Argument und gibt eine Ganzzahl zurück.
Beispiele:
- Die Funktion
int("10")gibt10zurück. - Die Funktion
int(10)gibt10zurück. - Die Funktion
int(ip('0.0.4.1'))gibt1025zurück.
bool()
Die Funktion bool() akzeptiert ein Argument beliebigen Typs. Wenn der Argumentwert false, leer oder nicht vorhanden ist, gibt diese Funktion false zurück.
Andernfalls gibt sie true zurück.
Beispiele:
- Die Funktion
bool(true)gibttruezurück. - Die Funktion
bool(false)gibtfalsezurück. - Die Funktion
bool($parameters.a)gibtfalsezurück, wenn$parameters.afalse, leer oder nicht vorhanden ist.
len()
Die Funktion len() akzeptiert eine Zeichenfolge oder eine Liste als Argument und gibt die Anzahl der Zeichen in einer Zeichenfolge oder die Anzahl der Elemente in einer Liste zurück.
Beispiel 1:
Wenn Sie eine Substitution wie folgt definieren:
items: ["123", "abc", "xyz"]
Die Funktion len($substitutions.items) gibt 3 zurück.
Beispiel 2:
Die Funktion len("NetScaler ADM") gibt 10 zurück.
Beispiel 3:
Wenn $parameters.vips die Werte ['1.1.1.1', '1.1.1.2', '1.1.1.3'] hat, gibt die Funktion len($parameters.vips) 3 zurück.
min()
Die Funktion min() akzeptiert entweder eine Liste oder eine Reihe von Zahlen oder TCP-Ports als Argumente und gibt das kleinste Element zurück.
Beispiele mit einer Reihe von Zahlen/TCP-Ports:
- Die Funktion
min(80, 100, 1000)gibt80zurück. - Die Funktion
min(-20, 100, 400)gibt-20zurück. - Die Funktion
min(-80, -20, -10)gibt-80zurück. - Die Funktion
min(0, 100, -400)gibt-400zurück.
Beispiele mit einer Liste von Zahlen/TCP-Ports:
-
Angenommen,
$parameters.portsist eine Liste vonTCP-Portsund hat die Werte:[80, 81, 8080].Die Funktion
min($parameters.ports)gibt80zurück.
max()
Die Funktion max() akzeptiert entweder eine Liste oder eine Reihe von Zahlen oder TCP-Ports als Argumente und gibt das größte Element zurück.
Beispiele mit einer Reihe von Zahlen/TCP-Ports:
- Die Funktion
max(80, 100, 1000)gibt1000zurück. - Die Funktion
max(-20, 100, 400)gibt400zurück. - Die Funktion
max(-80, -20, -10)gibt-10zurück. - Die Funktion
max(0, 100, -400)gibt100zurück.
Beispiele mit einer Liste von Zahlen/TCP-Ports:
-
Angenommen,
$parameters.portsist eine Liste vonTCP-Portsund hat die Werte:[80, 81, 8080].Die Funktion
max($parameters.ports)gibt8080zurück.
bin()
Die Funktion bin() akzeptiert eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Binärformat darstellt.
Beispiele für Ausdrücke:
Die Funktion bin(100) gibt 0b1100100 zurück.
oct()
Die Funktion oct() akzeptiert eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Oktalformat darstellt.
Beispiele für Ausdrücke:
Die Funktion oct(100) gibt 0144 zurück.
hex()
Die Funktion hex() akzeptiert eine Zahl als Argument und gibt eine Kleinbuchstaben-Zeichenfolge zurück, die die Zahl im Hexadezimalformat darstellt.
Beispiele für Ausdrücke:
Die Funktion hex(100) gibt 0x64 zurück.
lower()
Die Funktion lower() akzeptiert eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Kleinbuchstaben zurück.
Beispiel:
Die Funktion lower("ADM") gibt adm zurück.
upper()
Die Funktion upper() akzeptiert eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Großbuchstaben zurück.
Beispiel:
Die Funktion upper("NetScaler ADM") gibt NetScaler ADM zurück.
sum()
Die Funktion sum() akzeptiert eine Liste von Zahlen oder TCP-Ports als Argumente und gibt die Summe der Zahlen in der Liste zurück.
Beispiel 1:
Wenn Sie eine Substitution wie folgt definieren: substitutions:
list-of-numbers = [11, 22, 55]
Die Funktion sum($substitutions.list-of-numbers) gibt 88 zurück.
Beispiel 2:
Wenn $parameters.ports [80, 81, 82] ist, gibt die Funktion sum($parameters.ports) 243 zurück.
pow()
Die Funktion pow() akzeptiert zwei Zahlen als Argumente und gibt eine Zahl zurück, die das erste Argument hoch der Potenz des zweiten Arguments darstellt.
Beispiel:
Die Funktion pow(3,2) gibt 9 zurück.
ip()
Die Funktion ip() akzeptiert eine Ganzzahl, eine Zeichenfolge oder eine IP-Adresse als Argument und gibt die IP-Adresse basierend auf dem Eingabewert zurück.
Beispiele:
-
Geben Sie eine IP-Adresse in der
ip-Funktion an:Die Funktion
ip(3.1.1.1)gibt3.1.1.1zurück. -
Geben Sie eine Zeichenfolge in der
ip-Funktion an:Die Funktion
ip('2.1.1.1')gibt2.1.1.1zurück. -
Geben Sie eine Ganzzahl in der
ip-Funktion an:-
Die Funktion
ip(12)gibt0.0.0.12zurück. -
Wenn Sie eine Ganzzahl als Zeichenfolge in der
ip-Funktion angeben, gibt sie eine äquivalente IP-Adresse der Eingabe zurück.Die Funktion
ip('1025')gibt0.0.4.1zurück.
Diese Funktion unterstützt auch die Addition und Subtraktion von Ganzzahlen und gibt eine resultierende IP-Adresse zurück.
-
Addition: Die Funktion
ip(1025) + ip(12)gibt0.0.4.13zurück. -
Subtraktion: Die Funktion
ip('1025') - ip(12)gibt0.0.3.245zurück. -
Kombination aus Addition und Subtraktion: Die Funktion
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)gibt2.2.2.0zurück.
-
base64.encode()
Die Funktion base64.encode() akzeptiert ein Zeichenfolgenargument und gibt die base64-kodierte Zeichenfolge zurück.
Beispiel:
Die Funktion base64.encode("abcd") gibt YWJjZA== zurück.
base64.decode()
Die Funktion base64.decode() akzeptiert eine base64-kodierte Zeichenfolge als Argument und gibt die dekodierte Zeichenfolge zurück.
Beispiel:
Die Funktion base64.decode("YWJjZA==") gibt abcd zurück.
exists()
Die Funktion exists() akzeptiert ein Argument beliebigen Typs und gibt einen booleschen Wert zurück. Der Rückgabewert ist True, wenn die Eingabe einen Wert hat. Der Rückgabewert ist False, wenn das Eingabeargument keinen Wert hat (d. h. keinen Wert).
Angenommen, $parameters.monitor ist ein optionaler Parameter. Wenn Sie diesem Parameter beim Erstellen eines Konfigurationspakets einen Wert zuweisen, gibt die Funktion exists($parameters.monitor) True zurück.
Andernfalls gibt sie False zurück.
filter()
Die Funktion filter() akzeptiert zwei Argumente.
Argument 1: Eine Substitutionsfunktion, die ein Argument akzeptiert und einen booleschen Wert zurückgibt.
Argument 2: Eine Liste.
Die Funktion gibt eine Untermenge der ursprünglichen Liste zurück, wobei jedes Element True ergibt, wenn es an die Substitutionsfunktion im ersten Argument übergeben wird.
Beispiel:
Angenommen, wir haben eine Substitutionsfunktion wie folgt definiert.
Substitutions:
x(a): $a != 81
Diese Funktion gibt True zurück, wenn der Eingabewert nicht gleich 81 ist. Andernfalls gibt sie False zurück.
Angenommen, $parameters.ports ist [81, 80, 81, 89].
Die Funktion filter($substitutions.x, $parameters.ports) gibt [80, 89] zurück, indem alle Vorkommen von 81 aus der Liste entfernt werden.
if-then-else()
Die Funktion if-then-else() akzeptiert drei Argumente.
Argument 1: Boolescher Ausdruck
Argument 2: Beliebiger Ausdruck
Argument 3: Beliebiger Ausdruck (optional)
Wenn der Ausdruck in Argument 1 True ergibt, gibt die Funktion den Wert des als Argument 2 angegebenen Ausdrucks zurück.
Andernfalls, wenn Argument 3 angegeben ist, gibt die Funktion den Wert des Ausdrucks in Argument 3 zurück.
Wenn Argument 3 nicht angegeben ist, gibt die Funktion no zurück.
Beispiel 1:
Die Funktion if-then-else($parameters.servicetype == HTTP, 80, 443) gibt 80 zurück, wenn $parameters.servicetype den Wert HTTP hat. Andernfalls gibt die Funktion 443 zurück.
Beispiel 2:
Die Funktion if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) gibt den Wert von $parameters.hport zurück, wenn $parameters.servicetype den Wert HTTP hat.
Andernfalls gibt die Funktion den Wert von $parameters.sport zurück.
Beispiel 3:
Die Funktion if-then-else($parameters.servicetype == HTTP, 80) gibt 80 zurück, wenn $parameters.servicetype den Wert HTTP hat.
Andernfalls gibt die Funktion keinen Wert zurück.
join()
Die Funktion join() akzeptiert zwei Argumente:
Argument 1: Liste von Zahlen, TCP-Ports, Zeichenfolgen oder IP-Adressen
Argument 2: Trennzeichen-Zeichenfolge (optional)
Diese Funktion verbindet die Elemente der als Argument 1 angegebenen Liste zu einer Zeichenfolge, wobei jedes Element durch die als Argument 2 angegebene Trennzeichen-Zeichenfolge getrennt wird. Wenn Argument 2 nicht angegeben ist, werden die Elemente in der Liste zu einer einzigen Zeichenfolge verbunden.
Beispiel:
-
$parameters.portsist[81, 82, 83].-
Mit Trennzeichen-Argument:
Die Funktion
join($parameters.ports, '-')gibt81-82-83zurück. -
Ohne Trennzeichen-Argument:
Die Funktion
join($parameters.ports)gibt818283zurück.
-
split()
Die Funktion split() teilt eine Eingabezeichenfolge in mehrere Listen auf, abhängig von den angegebenen Trennzeichen. Wenn kein oder ein leeres ('') Trennzeichen angegeben ist, betrachtet diese Funktion ein Leerzeichen als Trennzeichen und teilt die Zeichenfolge in Listen auf.
Beispiele:
-
Die Funktion
split('Example_string_split', 's')gibt['Example_','tring_','plit']zurück. -
Die Funktion
split('Example string split')gibt['Example','string','split']zurück. -
Die Funktion
split('Example string split', '')gibt['Example','string','split']zurück. -
Die Funktion
split('Example string')gibt['Example','string']zurück.Diese Funktion betrachtet aufeinanderfolgende Leerzeichen als ein einziges Leerzeichen.
map()
Die Funktion map() akzeptiert zwei Argumente:
Argument 1: Eine beliebige Funktion
Argument 2: Eine Liste von Elementen.
Die Funktion gibt eine Liste zurück, wobei jedes Element in der Liste das Ergebnis der Anwendung der map()-Funktion (Argument 1) auf das entsprechende Element in Argument 2 ist.
Zulässige Funktionen in Argument 1:
-
Integrierte Funktionen, die ein Argument akzeptieren:
base64.encode, base64.decode, bin, bool, exists, hex, int, ip, len, lower, upper, oct, quotewrap, str, trim, upper, url.encode, url.decode -
Substitutionsfunktionen, die mindestens ein Argument akzeptieren.
Beispiel:
Angenommen, $parameters.nums ist [81, 82, 83].
-
Map mit einer integrierten Funktion, str
Die Funktion
map(str, $parameters.nums)gibt["81", "82", "83"]zurück.Das Ergebnis der Map-Funktion ist eine Liste von Zeichenfolgen, wobei jede Zeichenfolge durch Anwenden der str-Funktion auf das entsprechende Element in der Eingabeliste ($parameters.nums) berechnet wird.
-
Map mit einer Substitutionsfunktion
-
Substitutions:
add-10(port): $port + 10 -
Ausdruck:
Die Funktion
map($substitutions.add-10, $parameters.nums)gibt eine Liste von Zahlen zurück:[ 91, 92, 93 ]
-
Das Ergebnis dieser Map-Funktion ist eine Liste von Zahlen, wobei jedes Element durch Anwenden der Substitutionsfunktion $substitutions.add-10 auf das entsprechende Element in der Eingabeliste ($parameters.nums) berechnet wird.
quotewrap()
Die Funktion quotewrap() akzeptiert eine Zeichenfolge als Argument und gibt eine Zeichenfolge zurück, nachdem ein doppeltes Anführungszeichen vor und nach dem Eingabewert hinzugefügt wurde.
Beispiel:
Die Funktion quotewrap("ADM") gibt "mas" zurück.
replace()
Die Funktion replace() akzeptiert drei Argumente:
Argument 1: Zeichenfolge
Argument 2: Zeichenfolge oder Liste
Argument 3: Zeichenfolge (optional)
Die Funktion ersetzt alle Vorkommen von Argument 2 durch Argument 3 in Argument 1.
Wenn Argument 3 nicht angegeben ist, werden alle Vorkommen von Argument 2 aus Argument 1 entfernt (d. h. durch eine leere Zeichenfolge ersetzt).
Ersetzen einer Teilzeichenfolge durch eine andere Teilzeichenfolge:
-
Die Funktion
replace('abcdef', 'def', 'xyz')gibtabcxyzzurück.Alle Vorkommen von
defwerden durchxyzersetzt. -
Die Funktion
replace('abcdefabc', 'def')gibtabcabczurück.Da kein drittes Argument vorhanden ist, wird
defaus der resultierenden Zeichenfolge entfernt.
Geben Sie die Zeichenliste an, die Sie in einer Zeichenfolge ersetzen möchten.
$parameters.spl_chars = ['@', '#', '!', '%']
Diese Liste enthält die Werte, die in einer Eingabezeichenfolge ersetzt werden müssen.
Die Funktion replace('An#example@to%replace!characters', $parameters.spl_chars, '_') gibt An_example_to_replace_characters zurück.
Die Ausgabezeichenfolge enthält Unterstriche (_) anstelle der in der $parameters.spl_chars-Liste angegebenen Zeichen.
trim()
Die Funktion trim() gibt eine Zeichenfolge zurück, bei der führende und nachgestellte Leerzeichen aus der Eingabezeichenfolge entfernt wurden.
Beispiel:
Die Funktion trim(' abc ') gibt abc zurück.
truncate()
Die Funktion truncate() akzeptiert zwei Argumente:
Argument 1: Zeichenfolge
Argument 2: Zahl
Die Funktion gibt eine Zeichenfolge zurück, bei der die Eingabezeichenfolge in Argument 1 auf die durch Argument 2 angegebene Länge gekürzt wird.
Beispiel:
Die Funktion truncate('NetScaler ADM', 6) gibt Citrix zurück.
distinct()
Die Funktion distinct() extrahiert eindeutige Elemente aus einer Listeneingabe.
Beispiele:
Wenn $parameters.input_list ['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX'] ist, gibt die Funktion distinct($parameters.input_list) ['ADM', 'ADC', 'VPX', 'CPX'] zurück.
url.encode()
Die Funktion url.encode() gibt eine Zeichenfolge zurück, bei der Zeichen gemäß RFC 3986 unter Verwendung des ASCII-Zeichensatzes transformiert werden.
Beispiel:
Die Funktion url.encode("a/b/c") gibt a%2Fb%2Fc zurück.
url.decode()
Die Funktion url.decode() gibt eine Zeichenfolge zurück, bei der das URL-kodierte Argument gemäß RFC 3986 in eine reguläre Zeichenfolge dekodiert wird.
Beispiel:
Die Funktion url.decode("a%2Fb%2Fc") gibt a/b/c zurück.
is-ipv4()
Die Funktion is-ipv4() akzeptiert eine IP-Adresse als Argument und gibt den booleschen Wert True zurück, wenn die IP-Adresse im IPv4-Format vorliegt.
Die Funktion is-ipv4(10.10.10.10) gibt True zurück.
is-ipv6()
Die Funktion is-ipv6() akzeptiert eine IP-Adresse als Argument und gibt den booleschen Wert True zurück, wenn die IP-Adresse im IPv6-Format vorliegt.
Die Funktion is-ipv6(2001:DB8::) gibt True zurück.
startswith()
Die Funktion startswith() bestimmt, ob eine Zeichenfolge mit einem bestimmten Präfix beginnt. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
startswith(str, sub_str)
Diese Funktion gibt True zurück, wenn die Zeichenfolge (str) mit der Teilzeichenfolge (sub_str) beginnt.
Beispiele:
- Die Funktion
startswith('Citrix', 'Ci')gibtTruezurück. - Die Funktion
startswith('Citrix', 'iC')gibtFalsezurück. - Die Funktion
startswith('Citrix', 'Ab')gibtFalsezurück.
endswith()
Die Funktion endswith() bestimmt, ob eine Zeichenfolge mit einem bestimmten Suffix endet. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
endswith(str, sub_str)
Diese Funktion gibt True zurück, wenn die Zeichenfolge (str) mit der Teilzeichenfolge (sub_str) endet.
Beispiele:
- Die Funktion
endswith('Citrix', 'ix')gibtTruezurück. - Die Funktion
endswith('Citrix', 'Ix')gibtFalsezurück. - Die Funktion
endswith('Citrix', 'ab')gibtFalsezurück.
contains()
Die Funktion contains() bestimmt, ob eine Zeichenfolge eine bestimmte Teilzeichenfolge enthält. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
contains(str, sub_str)
Diese Funktion gibt True zurück, wenn die Teilzeichenfolge (sub_str) irgendwo innerhalb der Zeichenfolge (str) enthalten ist.
Beispiel:
- Die Funktion
contains('Citrix', 'tri')gibtTruezurück. - Die Funktion
contains('Citrix', 'Ci')gibtTruezurück. - Die Funktion
contains('Citrix', 'ti')gibtFalsezurück.
substring()
Verwenden Sie die Funktion substring(), um eine Teilzeichenfolge aus einer Zeichenfolge zu extrahieren.
substring(str, start_index, end_index)
Diese Funktion erfordert die zwei obligatorischen Argumente und ein optionales Ganzzahlargument.
-
str(Obligatorisch) -
start_index(Obligatorisch) -
end_index(Optional)
Diese Funktion gibt die Teilzeichenfolge aus der Zeichenfolge (str) zurück, die sich zwischen den angegebenen Indexpositionen befindet. Wenn Sie die Endindexposition nicht angeben, extrahiert die Funktion die Teilzeichenfolge vom Startindex bis zum Ende der Zeichenfolge.
Hinweis
Wenn Sie
end_indexangeben, schließt die Teilzeichenfolge das Zeichen an derend_index-Position aus.
Beispiel:
-
Die Funktion
substring('Citrix', 2)gibttrixzurück. -
Die Funktion
substring('Citrix', 10)gibt (") zurück.In diesem Beispiel gibt die Funktion eine leere Zeichenfolge zurück, da sie eine ungültige
start_index-Position hat. -
Die Funktion
substring('Citrix', 2, 4)gibttrzurück.In diesem Beispiel extrahiert die Funktion die Zeichen zwischen den Indexpositionen 2 und 4.
-
Die Funktion
substring('Citrix', -3)gibtrixzurück.Wenn Sie Zeichen extrahieren möchten, die sich am Ende der Zeichenfolge befinden, geben Sie einen negativen Wert für das Argument
start_indexan.In diesem Beispiel extrahiert die Funktion die Teilzeichenfolge, die die letzten drei Zeichen in der Zeichenfolge enthält.
In diesem Artikel
- str()
- int()
- bool()
- len()
- min()
- max()
- bin()
- oct()
- hex()
- lower()
- upper()
- sum()
- pow()
- ip()
- base64.encode()
- base64.decode()
- exists()
- filter()
- if-then-else()
- join()
- split()
- map()
- quotewrap()
- replace()
- trim()
- truncate()
- distinct()
- url.encode()
- url.decode()
- is-ipv4()
- is-ipv6()
- startswith()
- endswith()
- contains()
- substring()