Integrierte Funktionen werden von Ausdrücken in StyleBooks verwendet.
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)
Nachfolgend finden Sie eine Liste der in StyleBook-Ausdrücken unterstützten integrierten Funktionen mit Beispielen für ihre Verwendung:
Die Funktion str()
wandelt das Eingabeargument in einen Zeichenfolgenwert um.
Zulässige Argumenttypen:
Schnur
Nummer
TCP-Port
Boolescher Wert
IP-Adresse
Beispiele:
"set-" + str(10)
gibt "set-10"
zurück.str(10)
gibt 10
zurück.str(1.1.1.1)
gibt 1.1.1.1
zurück.str(T rue)
gibt "T rue"
zurück.str(ADM)
gibt "mas"
zurück.Die Funktion int()
verwendet eine Zeichenfolge, Zahl, IP-Adresse oder tcpport
als Argument und gibt eine Ganzzahl zurück.
Beispiele:
int("10")
gibt 10
zurück.int(10)
gibt 10
zurück.int(ip('0.0.4.1'))
gibt 1025
zurück.Die Funktion bool()
akzeptiert jeden beliebigen Typ als Argument. Wenn der Argumentwert false
, leer oder nicht vorhanden ist, gibt diese Funktion false
zurück.
Andernfalls wird true
zurückgegeben.
Beispiele:
bool(true)
gibt true
zurück.bool(false)
gibt false
zurück.bool($parameters.a)
gibt false
zurück, wenn $parameters.a
false
, leer oder nicht vorhanden ist.Die Funktion len()
verwendet 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:
Elemente: ["123", "abc", "xyz"]
Die Funktion len($substitutions.items)
gibt 3
zurück
Beispiel 2:
Die Funktion len("NetScaler Console")
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.
Die Funktion min()
verwendet 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:
min(80, 100, 1000)
gibt 80
zurück.min(-20, 100, 400)
gibt -20
zurück.min(-80, -20, -10)
gibt -80
zurück.min(0, 100, -400)
gibt -400
zurück.Beispiele mit einer Liste von Nummern/TCP-Ports:
Support $parameters.ports
ist eine Liste von TCP-Ports
und hat die Werte: [80, 81, 8080]
.
Die Funktion min($parameters.ports)
gibt 80
zurück.
Die Funktion max()
verwendet 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:
max(80, 100, 1000)
gibt 1000
zurück.max(-20, 100, 400)
gibt 400
zurück.max(-80, -20, -10)
gibt -10
zurück.max(0, 100, -400)
gibt 100
zurück.Beispiele mit einer Liste von Nummern/TCP-Ports:
Unterstützt $parameters.ports
ist eine Liste von TCP-Ports
und hat die Werte: [80, 81, 8080]
.
Die Funktion max($parameters.ports)
gibt 8080
zurück.
Die Funktion bin()
verwendet 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.
Die Funktion oct()
verwendet 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.
Die Funktion hex()
verwendet eine Zahl als Argument und gibt eine Zeichenfolge in Kleinbuchstaben zurück, die die Zahl im Hexadezimalformat darstellt.
Beispiele für Ausdrücke:
Die Funktion hex(100)
gibt 0x64
zurück.
Die Funktion lower()
verwendet eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Kleinbuchstaben zurück.
Beispiel:
Die Funktion lower("ADM")
gibt adm
zurück.
Die Funktion upper()
verwendet eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Großbuchstaben zurück.
Beispiel:
Die Funktion upper("NetScaler Console")
gibt NetScaler Console
zurück.
Die Funktion sum()
verwendet eine Liste von Zahlen oder tcpports
als Argumente und gibt die Summe der Zahlen in der Liste zurück.
Beispiel 1:
Wenn Sie eine Substitution wie folgt definieren: Substitutionen:
Zahlenliste = [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.
Die Funktion pow()
verwendet zwei Zahlen als Argumente und gibt eine Zahl zurück, die das erste Argument hoch dem zweiten darstellt.
Beispiel:
Die Funktion pow(3,2)
gibt 9
zurück.
Die Funktion ip()
verwendet eine Ganzzahl, Zeichenfolge oder eine IP-Adresse als Argument und gibt die IP-Adresse basierend auf dem Eingabewert zurück.
Beispiele:
Geben Sie in der Funktion ip
eine IP-Adresse an:
Die Funktion ip(3.1.1.1)
gibt 3.1.1.1
zurück.
Geben Sie in der Funktion ip
eine Zeichenfolge an:
Die Funktion ip('2.1.1.1')
gibt 2.1.1.1
zurück
Geben Sie in der Funktion ip
eine Ganzzahl an:
Die Funktion ip(12)
gibt 0.0.0.12
zurück.
Wenn Sie in der Funktion ip
eine Ganzzahl als Zeichenfolge angeben, wird eine entsprechende IP-Adresse der Eingabe zurückgegeben.
Die Funktion ip('1025')
gibt 0.0.4.1
zurück.
Diese Funktion unterstützt auch die Additions- und Subtraktionsoperationen ganzer Zahlen und gibt eine resultierende IP-Adresse zurück.
Ergänzung: Die Funktion ip(1025) + ip(12)
gibt 0.0.4.13
zurück.
Subtraktion: Die Funktion ip('1025') - ip(12)
gibt 0.0.3.245
zurück.
Kombinieren Sie Addition und Subtraktion: ip('1.1.1.1') + ip('1.1.1.1') – ip(2)
gibt 2.2.2.0
zurück.
Die Funktion base64.encode()
nimmt ein String-Argument und gibt den Base64-codierten String zurück.
Beispiel:
Die Funktion base64.encode("abcd")
gibt YWJjZA==
zurück.
Die Funktion base64.decode
verwendet eine base64-codierte Zeichenfolge als Argument und gibt die decodierte Zeichenfolge zurück.
Beispiel:
Die Funktion base64.decode("YWJjZA==")
gibt abcd
zurück.
Die Funktion exists()
nimmt ein Argument beliebigen Typs und gibt einen Booleschen Wert zurück. Der Rückgabewert ist True
, wenn die Eingabe einen beliebigen Wert hat. Der Rückgabewert ist False
, wenn das Eingabeargument keinen Wert hat (d. h. keinen Wert).
Bedenken Sie, dass $parameters.monitor
ein optionaler Parameter ist. Wenn Sie beim Erstellen eines Konfigurationspakets einen Wert für diesen Parameter angeben, gibt die Funktion ($parameters.monitor)
True
zurück.
Andernfalls wird False
zurückgegeben.
Die Funktion filter()
nimmt zwei Argumente an.
Argument 1: Eine Substitutionsfunktion, die ein Argument annimmt und einen Booleschen Wert zurückgibt.
Argument 2: eine Liste.
Die Funktion gibt eine Teilmenge der ursprünglichen Liste zurück, wobei jedes Element als True
ausgewertet wird, wenn es im ersten -Argument an die Substitutionsfunktion übergeben wird.
Beispiel:
Betrachten Sie eine Substitutionsfunktion wie folgt:
Auswechslungen:
x(a): $a != 81
Diese Funktion gibt True zurück, wenn der Eingabewert ungleich 81
ist. Andernfalls wird False
zurückgegeben.
Angenommen,$parameters.ports
ist [81, 80, 81, 89]
.
Der Filter ($substitutions.x, $parameters.ports)
gibt [80, 89]
zurück, indem er alle Vorkommen von 81
aus der Liste entfernt.
Die Funktion if-then-else()
nimmt drei Argumente an.
Argument 1: Boolescher Ausdruck
Argument 2: Jeder Ausdruck
Argument 3: Beliebiger Ausdruck (optional)
Wenn der Ausdruck in Argument 1 als True
ausgewertet wird, gibt die Funktion den Wert des als Argument 2 angegebenen Ausdrucks zurück.
Andernfalls gibt die Funktion, wenn Argument 3 angegeben ist, den Wert des Ausdrucks in Argument 3 zurück.
Wenn Argument 3 nicht angegeben ist, gibt die Funktion oder
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 $parameters.sport
zurück.
Beispiel 3:
Das 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.
Die Funktion join()
verwendet zwei Argumente:
Argument 1: Liste von Zahlen, TCP-Ports
, Zeichenfolgen oder IP-Adressen
Argument 2: Trennzeichenfolge (optional)
Diese Funktion fügt die Elemente der als Argument 1 angegebenen Liste zu einer Zeichenfolge zusammen, wobei jedes Element durch die als Argument 2 angegebene Trennzeichenfolge getrennt ist. Wenn Argument 2 nicht angegeben wird, werden die Elemente in der Liste zu einer Zeichenfolge zusammengefügt.
Beispiel:
$parameters.ports
ist [81, 82, 83]
.
Mit Trennzeichenargument:
Die Funktion join($parameters.ports, '-')
gibt 81-82-83
zurück.
Ohne Trennzeichenargument:
Die Funktion join($parameters.ports)
gibt 818283
zurück.
Die Funktion split()
teilt eine Eingabezeichenfolge abhängig von den angegebenen Trennzeichen in mehrere Listen auf. Wenn kein oder ein leeres Trennzeichen (''
) angegeben ist, betrachtet diese Funktion 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('Beispiel-String-Split')
gibt ['Beispiel','String','Split']
zurück.
Die Funktion split('Beispiel-String-Split', '')
gibt ['Beispiel','String','Split']
zurück.
Die Funktion split('Beispielstring')
gibt ['Beispiel','string']
zurück.
Diese Funktion betrachtet zusammenhängende Räume als einen Raum.
Die Funktion map()
nimmt zwei Argumente an;
Argument 1: Jede Funktion
Argument 2: Eine Liste von Elementen.
Die Funktion gibt eine Liste zurück, in der jedes Element der Liste das Ergebnis der Anwendung der Funktion map()
(Argument 1) auf das entsprechende Element in Argument 2 ist.
Erlaubte Funktionen im Argument 1:
Integrierte Funktionen, die ein Argument annehmen:
base64.encode, base64.decode, bin, bool, existiert, hex, int, ip, len, lower, upper, oct, quotewrap, str, trim, upper, url.encode, url.decode
Substitutionsfunktionen, die mindestens ein Argument annehmen.
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 die Liste von Zeichenfolgen, wobei jedes Element eine Zeichenfolge ist, die durch Anwenden der str-Funktion auf das entsprechende Element in der Eingabeliste ($parameters.nums) berechnet wird.
Karte mithilfe einer Substitutionsfunktion
Auswechslungen:
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. Jedes Element wird berechnet, indem die Substitutionsfunktion $substitutions.add-10
auf das entsprechende Element in der Eingabeliste ($parameters.nums)
angewendet wird.
Die Funktion quotewrap()
verwendet eine Zeichenfolge als Argument und gibt eine Zeichenfolge zurück, nachdem vor und nach dem Eingabewert ein doppeltes Anführungszeichen hinzugefügt wurde.
Beispiel:
Die Funktion quotewrap("ADM")
gibt "mas"
zurück
Die Funktion replace()
verwendet drei Argumente:
Argument 1: eine -Zeichenfolge
oder eine Liste der folgenden integrierten Typen:
Schnur
Nummer
IP-Adresse
TCP-Port
Boolescher Wert
Argument 2: ein einzelner Wert oder eine Liste von Werten, deren Typ mit dem in Argument 1 angegebenen Typ übereinstimmt
Argument 3: ein einzelner Wert desselben Typs wie in Argument 1 angegeben (optional)
Die Funktion replace()
ersetzt alle Vorkommen von Argument 2 durch Argument 3 in Argument 1.
Wenn Argument 3 nicht angegeben wird, werden alle Vorkommen von Argument 2 aus Argument 1 entfernt.
Beispiel:
replace('abcdef', 'def', 'xyz')
Funktion gibt abcxyz
zurück.
Alle Vorkommen von def
werden durch xyz
ersetzt.
replace('abcdefabc', 'def')
gibt abcabc
zurück.
Da es kein Argument 3 gibt, wird def
aus der resultierenden Zeichenfolge entfernt.
replace('Ein#Beispiel@zum%Ersetzen!von!Zeichen', ['@', '#', '!', '%'], '_')
Funktion gibt Ein_Beispiel_zum_Ersetzen_von_Zeichen
zurück.
Die Ausgabezeichenfolge enthält einen Unterstrich (_) anstelle der in ['@', '#', '!', '%']
angegebenen Zeichen.
replace([10.10.10.1, 10.10.10.2, 10.10.10.3, 10.10.10.4], [10.10.10.2, 10.10.10.4])
Funktion gibt [10.10.10.1, 10.10.10.3]
zurück.
Da das Argument 3 fehlt, werden 10.10.10.2
und 10.10.10.4
aus der resultierenden Liste der IP-Adressen entfernt.
replace([8080, 8081, 8082, 8083, 8084], 8083, 80)
Funktion gibt [8080, 8081, 8082, 80, 8084]
zurück.
Alle Vorkommen von 8083
werden durch 80
ersetzt.
Die Funktion trim()
gibt eine Zeichenfolge zurück, bei der die führenden und nachfolgenden Leerzeichen aus der Eingabezeichenfolge entfernt wurden.
Beispiel:
Die Funktion trim(' abc ')
gibt abc
zurück.
Die Funktion truncate()
verwendet 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:
Das truncate('NetScaler Console', 6)
gibt Citrix
zurück.
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.
Die Funktion url.encode()
gibt eine Zeichenfolge zurück, in der die Zeichen mithilfe des ASCII-Zeichensatzes gemäß RFC 3986 transformiert werden.
Beispiel:
Die Funktion url.encode("a/b/c")
gibt a%2Fb%2Fc
zurück.
Die Funktion url.decode()
gibt eine Zeichenfolge zurück, in der das URL-codierte Argument gemäß RFC 3986 in eine reguläre Zeichenfolge decodiert wird.
Beispiel:
Die Funktion url.decode("a%2Fb%2Fc")
gibt a/b/c
zurück.
Die Funktion is-ipv4()
verwendet eine IP-Adresse als Argument und gibt den Booleschen Wert True
zurück, wenn die IP-Adresse das IPv4-Format hat.
Die Funktion is-ipv4(10.10.10.10)
gibt True
zurück
Die Funktion is-ipv6()
verwendet eine IP-Adresse als Argument und gibt den Booleschen Wert True
zurück, wenn die IP-Adresse das IPv6-Format hat.
Die Funktion is-ipv6(2001:DB8::)
gibt True
zurück
Die Funktion startswith()
bestimmt, ob eine Zeichenfolge mit einem bestimmten Präfix beginnt. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
beginnt mit (str, sub_str)
Diese Funktion gibt True
zurück, wenn die Zeichenfolge (str
) mit der Teilzeichenfolge (sub_str
) beginnt.
Beispiele:
startswith('Citrix', 'Ci')
gibt True
zurück.startswith('Citrix', 'iC')
gibt False
zurückstartswith('Citrix', 'Ab')
gibt False
zurückDie Funktion endswith()
bestimmt, ob eine Zeichenfolge mit einem bestimmten Suffix endet. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
endet mit (str, sub_str)
Diese Funktion gibt True
zurück, wenn die Zeichenfolge (str
) mit der Teilzeichenfolge (sub_str
) endet.
Beispiele:
endswith('Citrix', 'ix')
gibt True
zurück.endswith('Citrix', 'Ix')
gibt False
zurück.endswith('Citrix', 'ab')
gibt False
zurück.Die Funktion contains()
ermittelt, ob eine Zeichenfolge eine bestimmte Teilzeichenfolge enthält. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
enthält (str, sub_str)
Diese Funktion gibt True
zurück, wenn die Teilzeichenfolge (sub_str
) irgendwo innerhalb der Zeichenfolge (str
) enthalten ist.
Beispiel:
contains('Citrix', 'tri')
gibt True
zurück.contains('Citrix', 'Ci')
gibt True
zurück.contains('Citrix', 'ti')
gibt False
zurückVerwenden Sie die Funktion substring()
, um eine Teilzeichenfolge aus einer Zeichenfolge zu extrahieren.
Teilzeichenfolge (Str, Startindex, Endindex)
Diese Funktion erfordert die beiden obligatorischen Argumente und ein optionales ganzzahliges Argument.
str
(Pflicht)Startindex
(Pflichtfeld)end_index
(Optional)Diese Funktion gibt die Teilzeichenfolge der Zeichenfolge (str
) zurück, die zwischen den angegebenen Indexpositionen liegt. Wenn Sie die Endindexposition nicht angeben, extrahiert die Funktion die Teilzeichenfolge vom Startindex bis zum Ende der Zeichenfolge.
Notiz
Wenn Sie
end_index
angeben, schließt die Teilzeichenfolge das Zeichen an der Positionend_index
aus.
Beispiel:
Die Funktion substring('Citrix', 2)
gibt trix
zurü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 Position start_index
hat.
Die Funktion substring('Citrix', 2, 4)
gibt tr
zurück
In diesem Beispiel extrahiert die Funktion die Zeichen zwischen 2 und 4 Indexpositionen.
Die Funktion substring('Citrix', -3)
gibt rix
zurück
Wenn Sie Zeichen extrahieren möchten, die sich am Ende der Zeichenfolge befinden, geben Sie einen negativen Wert für das Argument start_index
an.
In diesem Beispiel extrahiert die Funktion die Teilzeichenfolge, die die letzten drei Zeichen in der Zeichenfolge enthält.
Die Funktion multiple()
verwendet zwei Argumente:
Argument 1: eine Zahl
, Zeichenfolge
, Boolescher Wert
, IP-Adresse
, TCP-Port
oder Passwort
Argument 2: eine Zahl
Die Funktion multiple(argument1, argument2)
gibt eine Liste mit vielen Kopien von Argument 1 zurück. Die Anzahl der Kopien entspricht der Zahl, die an Argument 2 übergeben wird.
Beispiele:
Die Funktion multiple(10.10.10.10, 3)
gibt [10.10.10.10, 10.10.10.10, 10.10.10.10]
zurück.
Die Funktion multiple(8080, 4)
gibt [8080, 8080, 8080, 8080]
zurück.
Die Funktion reverse() verwendet eine Liste von Elementen als Argument und gibt eine Liste mit denselben Elementen zurück, die jedoch in umgekehrter Reihenfolge aufgelistet sind.
Das Argument kann eine Liste der folgenden integrierten Typen sein:
Schnur
Nummer
IP-Adresse
IP-Netzwerk
TCP-Port
Boolescher Wert
Passwort
Objekt
Datei
Zertifikatsdatei
Schlüsseldatei
Zertifikatsschlüssel
Beispiele: