Integrierte Funktionen
Ausdrücke in StyleBooks können integrierte Funktionen verwenden.
Beispielsweise können Sie die integrierte Funktion str()
verwenden, um eine Zahl in eine Zeichenfolge umzuwandeln.
str($parameters.order)
Oder Sie können die integrierte Funktion verwenden, int()
um eine Zeichenfolge in eine Ganzzahl umzuwandeln.
int($parameters.priority)
Im Folgenden finden Sie die Liste der integrierten Funktionen, die in StyleBook-Ausdrücken unterstützt werden, mit Beispielen, wie sie verwendet werden können:
str()
Die str()
Funktion transformiert das Eingabeargument in einen String-Wert.
Zulässige Argumenttypen:
string
number
tcp-port
boolean
ipaddress
Beispiele:
- Die Funktion
"set-" + str(10)
gibt"set-10"
zurück. - Die Funktion
str(10)
gibt10
zurück. - Die Funktion
str(1.1.1.1)
gibt1.1.1.1
zurück. - Die Funktion
str(T rue)
gibt"T rue"
zurück. - Die Funktion
str(ADM)
gibt"mas"
zurück.
int()
Die int()
Funktion verwendet eine Zeichenfolge, eine Zahl, eine IP-Adresse oder tcpport
als Argument und gibt eine Ganzzahl zurück.
Beispiele:
- Die Funktion
int("10")
gibt10
zurück. - Die Funktion
int(10)
gibt10
zurück. - Die Funktion
int(ip('0.0.4.1'))
gibt1025
zurück.
bool()
Die bool()
Funktion verwendet einen beliebigen Typ als Argument. Wenn der Argumentwert leer oder nicht vorhanden ist false
, wird diese Funktion zurückgegeben false
.
Ansonsten kehrt es zurück true
.
Beispiele:
- Die Funktion
bool(true)
gibttrue
zurück. - Die Funktion
bool(false)
gibtfalse
zurück. - Die Funktion
bool($parameters.a)
gibtfalse
zurück, wenn$parameters.a
den Wertfalse
hat, leer oder nicht vorhanden ist.
len()
Die len()
Funktion 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:
items: ["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)
das Ergebnis 3
zurück.
min()
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 Nummern/TCP-Ports:
- Die Funktion
min(80, 100, 1000)
gibt80
zurück. - Die Funktion
min(-20, 100, 400)
gibt-20
zurück. - Die Funktion
min(-80, -20, -10)
gibt-80
zurück. - Die Funktion
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 Werte:[80, 81, 8080]
.Die Funktion
min($parameters.ports)
gibt80
zurück.
max()
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 Nummern/TCP-Ports:
- Die Funktion
max(80, 100, 1000)
gibt1000
zurück. - Die Funktion
max(-20, 100, 400)
gibt400
zurück. - Die Funktion
max(-80, -20, -10)
gibt-10
zurück. - Die Funktion
max(0, 100, -400)
gibt100
zurück.
Beispiele mit einer Liste von Nummern/TCP-Ports:
-
Support
$parameters.ports
ist eine Liste von TCP-Ports und hat Werte:[80, 81, 8080]
.Die Funktion
max($parameters.ports)
gibt8080
zurück.
bin()
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.
oct()
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.
hex()
Die hex()
Funktion verwendet eine Zahl als Argument und gibt eine Kleinbuchstabenzeichenfolge 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()
verwendet eine Zeichenfolge als Argument und gibt die gleiche Zeichenfolge in Kleinbuchstaben zurück.
Beispiel:
Die Funktion lower("ADM")
gibt adm
zurück.
upper()
Die upper()
Funktion 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.
sum()
Die sum()
Funktion nimmt 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:
list-of-numbers = [11, 22, 55]
Die Funktion sum($substitutions.list-of-numbers)
gibt 88
zurück.
Beispiel 2:
Wenn ja $parameters.ports
[80, 81, 82]
, kehrt die sum($parameters.ports)
Funktion zurück 243
.
pow()
Die pow()
Funktion nimmt zwei Zahlen als Argumente und gibt eine Zahl zurück, die das erste Argument darstellt, das die Potenz des zweiten darstellt.
Beispiel:
Die Funktion pow(3,2)
gibt 9
zurück.
ip()
Die Funktion ip()
verwendet eine Ganzzahl, einen String 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.1
zurück. -
Geben Sie eine Zeichenfolge in der
ip
Funktion an:Die Funktion
ip('2.1.1.1')
gibt2.1.1.1
zurück. -
Geben Sie eine Ganzzahl in der Funktion
ip
an:-
Die Funktion
ip(12)
gibt0.0.0.12
zurück. -
Wenn Sie eine Ganzzahl als String in der
ip
Funktion angeben, wird eine entsprechende IP-Adresse der Eingabe zurückgegeben.Die Funktion
ip('1025')
gibt0.0.4.1
zurück.
Diese Funktion unterstützt auch die Integer-Additions- und Subtraktionsoperationen und gibt eine resultierende IP-Adresse zurück.
-
Addition: Die Funktion
ip(1025) + ip(12)
gibt0.0.4.13
zurück. -
Subtraktion: Die Funktion
ip('1025') - ip(12)
gibt0.0.3.245
zurück. -
Kombinieren Sie Addition und Subtraktion: Die
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)
Renditen2.2.2.0
.
-
ip_network()
Die ip_network
Funktion verwendet IP-Adresse und Netzmaskenlänge als Argumente und gibt eine IP-Netzwerknotation zurück.
Beispiel-1:
Die Funktion ip_network(1.1.1.1, 28)
gibt 1.1.1.1/28
zurück.
Beispiel-2:
Erwägen Sie den Wert 1.1.1.1
für $parameters.ipaddr
. Die Funktion ip_network($parameters.ipaddr, 30)
gibt 1.1.1.1/30
zurück.
Beispiel-3:
Erwägen Sie den Wert 24
für $parameters.netmask-len
. Die Funktion ip_network(23.1.12.76, $parameters.netmask-len)
gibt 23.1.12.76/24
zurück.
network_ip()
Die network_ip()
Funktion gibt die erste IP-Adresse des angegebenen IP-Netzwerks zurück.
Beispiel:
Die Funktion network_ip(1.1.1.1/28)
gibt 1.1.1.0
zurück. In diesem Beispiel 1.1.1.0
ist die erste IP-Adresse im angegebenen Netzwerk.
subnets()
Die subnets()
Funktion gibt die Liste der Subnetze des angegebenen IP-Netzwerks und der Netzmaskenlänge zurück.
Beispiel:
Die Funktion subnets(1.1.1.1/28, 30)
gibt die Subnetzliste aus dem angegebenen IP-Netzwerk und der Netzwerkmaskenlänge zurück. Die Ausgabe kann wie folgt sein:
[1.1.1.0/30', '1.1.1.4/30', '1.1.1.8/30', '1.1.1.12/30']
netmask_ip()
Die netmask_ip()
Funktion gibt die Netmask-IP-Adresse für das angegebene IP-Netzwerk zurück.
Beispiel:
Die Funktion netmask_ip(1.1.1.1/28)
gibt 255.255.255.240
zurück. Für das angegebene IP-Netzwerk ist 255.255.255.240
die IP-Adresse der Netzwerkmaske.
is_netmask_ip ()
Die is_netmask_ip()
Funktion akzeptiert einen ipaddress
als Eingabe. Und gibt True
zurück, wenn der angegebene Wert eine gültige Netzwerkmasken-IP-Adresse ist.
Beispiel 1:
Die Funktion is_netmask_ip(255.255.255.240)
gibt True
zurück, weil der angegebene Wert eine gültige Netzwerkmasken-IP-Adresse ist.
Beispiel 2:
Die Funktion is_netmask_ip(255.255.255.232)
gibt False
zurück, weil der angegebene Wert keine gültige Netzwerkmasken-IP-Adresse ist.
broadcast_ip()
Die broadcast_ip()
Funktion gibt die Broadcast-IP-Adresse für das angegebene IP-Netzwerk zurück.
Beispiel:
Die Funktion broadcast_ip(1.1.1.1/28)
gibt 1.1.1.15
zurück. Für das angegebene IP-Netzwerk ist 1.1.1.15
die Broadcast-IP-Adresse.
cidr()
Die cidr()
Funktion gibt die CIDR-Notation für das angegebene IP-Netzwerk zurück.
Beispiel:
Die cidr(1.1.1.1/28)
Funktion gibt den zurück 1.1.1.0/28
. Für das angegebene IP-Netzwerk ist 1.1.1.0/28
die CIDR-Notation.
is_cidr()
Die is_cidr()
Funktion akzeptiert einen ipnetwork
als Eingabe. Und es gibt zurück, True
ob der angegebene Wert mit der CIDR-Notation des IP-Netzwerks übereinstimmt.
Beispiel-1:
Die is_cidr(1.1.1.0/24)
Funktion wird zurückgegeben, True
da der angegebene Wert die CIDR-Notation des angegebenen Netzwerks ist.
Beispiel-2:
Die is_cidr(1.1.1.1/28)
Funktion wird zurückgegeben, False
da sich die CIDR-Notation des angegebenen Netzwerks von dem angegebenen Wert unterscheidet.
is_in_network()
Die is_in_network()
Funktion akzeptiert ipnetwork
und ipaddress
wertet. Und es gibt zurück, True
ob die angegebene IP-Adresse im angegebenen IP-Netzwerk vorhanden ist.
Beispiel-1:
Die is_in_network(1.1.1.1/24, 1.1.1.121)
Funktion wird zurückgegeben True
, da die 1.1.1.121
Adresse Teil des 1.1.1.1/24
Netzwerks ist.
Beispiel-2:
Die Funktion is_in_network(1.1.1.1/28, 2.1.1.1)
gibt Fasle
zurück, da die Adresse 2.1.1.1
nicht Teil des Netzwerks 1.1.1.1/28
ist.
base64.encode()
Die base64.encode()
Funktion verwendet ein String-Argument und gibt die Base64-codierte Zeichenfolge zurück.
Beispiel:
Die Funktion base64.encode("abcd")
gibt YWJjZA==
zurück.
base64.decode()
Die base64.decode
Funktion verwendet eine Base64-codierte Zeichenfolge als Argument und gibt die dekodierte Zeichenfolge zurück.
Beispiel:
Die Funktion base64.decode("YWJjZA==")
gibt abcd
zurück.
exists()
Die Funktion exists()
verwendet ein Argument eines 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 (also keinen Wert).
Bedenken Sie, dass der ein optionaler Parameter $parameters.monitor
ist. Wenn Sie beim Erstellen eines Konfigurationspakets einen Wert für diesen Parameter angeben, gibt die ($parameters.monitor)
Funktion zurück True
.
Ansonsten kehrt es zurück False
.
filter()
Die filter()
Funktion benötigt zwei Argumente.
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, zu der jedes Element True
bei der Übergabe an die Substitutionsfunktion im ersten
Argument ausgewertet wird.
Beispiel:
Angenommen, wir haben eine Substitutionsfunktion wie folgt definiert.
Substitutionen:
x(a): $a != 81
Diese Funktion gibt True zurück, wenn der Eingabewert nicht gleich ist 81
. Ansonsten kehrt es zurück False
.
Nehmen wir an,$parameters.ports
ist es [81, 80, 81, 89]
.
Die filter($substitutions.x, $parameters.ports)
Rückgabe, [80, 89]
indem alle Vorkommen von 81
aus der Liste entfernt werden.
if-then-else()
Die Funktion if-then-else()
benötigt drei Argumente.
Argument 1: ein boolescher Ausdruck
Argument 2: beliebiger Ausdruck
Argument 3: beliebiger Ausdruck (optional)
Wenn der Ausdruck in Argument 1 zu ausgewertet wird True
, gibt die Funktion den Wert des als Argument 2 bereitgestellten Ausdrucks zurück.
Andernfalls, wenn Argument 3 angegeben wird, gibt die Funktion den Wert des Ausdrucks in Argument 3 zurück.
Wenn Argument 3 nicht angegeben wird, kehrt die Funktion zurück no
.
Beispiel 1:
Die if-then-else($parameters.servicetype == HTTP, 80, 443)
Funktion gibt zurück 80
, wenn Wert $parameters.servicetype
hat HTTP
. Andernfalls wird die Funktion zurückgegeben 443
.
Beispiel 2:
Die Funktion if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport)
gibt den Wert $parameters.hport
zurück, wenn $parameters.servicetype
den Wert HTTP
hat.
Andernfalls gibt die Funktion den Wert von zurück $parameters.sport
.
Beispiel 3:
Die if-then-else($parameters.servicetype == HTTP, 80)
gibt zurück 80
, wenn Wert $parameters.servicetype
hat HTTP
.
Andernfalls gibt die Funktion keinen Wert zurück.
join()
Die Funktion join()
hat zwei Argumente:
Argument 1: eine Liste von number
, tcp-port
, string
, ipaddress
Argument 2: eine Trennzeichenfolge (optional)
Diese Funktion verbindet die als Argument 1 bereitgestellten Elemente der Liste zu einer Zeichenfolge, wobei jedes Element durch die als Argument 2 angegebene Trennzeichenfolge getrennt wird. 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 Trennzeichen Argument:
Die Funktion
join($parameters.ports, '-')
gibt81-82-83
zurück. -
Ohne Trennzeichen Argument:
Die Funktion
join($parameters.ports)
gibt818283
zurück.
-
split()
Die Funktion split()
teilt eine Eingabezeichenfolge in mehrere Listen auf, abhängig von den angegebenen Trennzeichen. Wenn kein oder leeres (''
) Trennzeichen angegeben wird, betrachtet diese Funktion das 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 kontinuierliche Räume als ein Leerzeichen.
map()
Die Funktion map()
benötigt zwei Argumente;
Argument 1: jede Funktion
Argument 2: eine Liste von Elementen
Die Funktion gibt eine Liste zurück, in der jedes Element in der Liste das Ergebnis der Anwendung der Funktion map()
(Argument 1) auf das entsprechende Element in Argument 2 ist.
Zulässige Funktionen in Argument 1:
-
Integrierte Funktionen, die ein Argument annehmen:
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 verwenden.
Beispiel:
Angenommen, $parameters.nums ist [81, 82, 83]
.
-
Map using a built-in function, str
Die Funktion
map(str, $parameters.nums)
gibt["81", "82", "83"]
zurück.Das Ergebnis der Map-Funktion ist die Liste der Strings, in denen jedes Element String ist, wird durch Anwenden der str Funktion auf das entsprechende Element in der Eingabeliste berechnet ($parameters.nums).
-
Map mit einer Substitutionsfunktion
-
Substitutionen:
add-10(port): $port + 10
-
Ausdruck:
Die
map($substitutions.add-10, $parameters.nums)
Funktion gibt eine Liste von Zahlen zurück:[ 91, 92, 93 ]
-
Das Ergebnis dieser Kartenfunktion 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.
quotewrap()
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 "ADM"
zurück.
replace()
Die Funktion replace()
hat drei Argumente:
Argument 1: ein string
oder eine Liste der folgenden integrierten Typen:
string
number
ipaddress
tcp-port
boolean
Argument 2: ein einzelner Wert oder eine Liste von Werten, deren Typ dem in Argument 1 angegebenen Typ entspricht
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 kehrt zurückabcxyz
.Alle Vorkommnisse von
def
werden durch ersetztxyz
. -
replace('abcdefabc', 'def')
kehrt zurückabcabc
.Da es kein Argument 3 gibt, wird
def
aus der resultierenden Zeichenfolge entfernt. -
replace('An#example@to%replace!characters', ['@', '#', '!', '%'], '_')
Funktion kehrt zurückAn_example_to_replace_characters
.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 kehrt zurück[10.10.10.1, 10.10.10.3]
.Da es kein Argument 3 gibt, werden
10.10.10.2
und10.10.10.4
aus der resultierenden Liste der IP-Adressen entfernt. -
replace([8080, 8081, 8082, 8083, 8084], 8083, 80)
Funktion kehrt zurück[8080, 8081, 8082, 80, 8084]
.Alle Vorkommnisse von
8083
werden durch ersetzt80
.
trim()
Die Funktion trim()
gibt eine Zeichenfolge zurück, in der die führenden und nachfolgenden Leerzeichen aus der Eingabezeichenfolge entfernt werden.
Beispiel:
Die Funktion trim(' abc ')
gibt abc
zurück.
truncate()
Die Funktion truncate()
hat zwei Argumente:
Argument 1: eine Zeichenfolge
Argument 2: eine 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 truncate('NetScaler Console', 6)
Renditen Citrix
.
distinct()
Die distinct()
Funktion extrahiert eindeutige Elemente aus einer Listeneingabe.
Beispiele:
Wenn $parameters.input_list
den Wert ['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX']
hat, gibt die Funktion distinct($parameters.input_list)
das Ergebnis ['ADM', 'ADC', 'VPX', 'CPX']
zurück.
url.encode()
Die url.encode()
Funktion gibt eine Zeichenfolge zurück, in 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.
url.decode()
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.
ist-ipv4 ()
Die Funktion is-ipv4()
verwendet 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.
ist-ipv6 ()
Die Funktion is-ipv6()
nimmt 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 ein String mit einem bestimmten Präfix beginnt. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
startswith(str, sub_str)
Diese Funktion gibt zurück True
, wenn die Zeichenfolge (str
) mit der Teilzeichenfolge (sub_str
) beginnt.
Beispiele:
- Die Funktion
startswith('Citrix', 'Ci')
gibtTrue
zurück. - Die Funktion
startswith('Citrix', 'iC')
gibtFalse
zurück. - Die Funktion
startswith('Citrix', 'Ab')
gibtFalse
zurück.
endswith()
Die Funktion endswith()
bestimmt, ob ein String mit einem bestimmten Suffix endet. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
endswith(str, sub_str)
Diese Funktion gibt zurück True
, wenn die Zeichenfolge (str
) mit der Teilzeichenfolge (sub_str
) endet.
Beispiele:
- Die Funktion
endswith('Citrix', 'ix')
gibtTrue
zurück. - Die Funktion
endswith('Citrix', 'Ix')
gibtFalse
zurück. - Die Funktion
endswith('Citrix', 'ab')
gibtFalse
zurück.
contains()
Die Funktion contains()
ermittelt, ob ein String einen bestimmten Teilstring enthält. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
Zulässige Argumenttypen:
string
number
tcp-port
boolean
ipaddress
contains(str, sub_str)
Diese Funktion gibt zurück True
, wenn der Teilstring (sub_str
) irgendwo in der Zeichenkette (str
) enthalten ist.
Beispiele:
- Die Funktion
contains('Citrix', 'tri')
gibtTrue
zurück. - Die Funktion
contains('Citrix', 'Ci')
gibtTrue
zurück. - Die Funktion
contains('Citrix', 'ti')
gibtFalse
zurück.
Sie können diese Funktion auch verwenden, um zu überprüfen, ob ein bestimmtes Element zur Liste gehört.
Beispiel:
list_of_strings = [“Citrix”, “Core”, ”Values”, ”Integrity”]
contains($parameters.list_of_strings, “Values”)
<!--NeedCopy-->
In diesem Beispiel gibt die Funktion contains()
True
zurück, weil die Liste das Element Values
enthält.
substring()
Verwenden Sie die Funktion substring()
, um einen Teilstring aus einem String zu extrahieren.
substring(str, start_index, end_index)
Diese Funktion erfordert die beiden obligatorischen Argumente und ein optionales Integer-Argument.
-
str
( Obligatorisch) -
start_index
( Obligatorisch) -
end_index
(Fakultativ)
Diese Funktion gibt den Teilstring aus dem string (str
) zurück, der sich zwischen den angegebenen Indexpositionen befindet. Wenn Sie die Endindexposition nicht angeben, extrahiert die Funktion den Teilstring vom Startindex bis zum Ende des Strings.
Hinweis
Wenn Sie
end_index
angeben, schließt die Teilzeichenfolge das Zeichen an der Positionend_index
aus.
Beispiel:
-
Die Funktion
substring('Citrix', 2)
gibttrix
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)
gibttr
zurück.In diesem Beispiel extrahiert die Funktion die Zeichen zwischen 2 und 4 Indexpositionen.
-
Die Funktion
substring('Citrix', -3)
gibtrix
zurück.Wenn Sie Zeichen extrahieren möchten, die sich am Ende der Zeichenfolge befinden, geben Sie einen negativen Wert für das
start_index
Argument an.In diesem Beispiel extrahiert die Funktion den Teilstring, der die letzten drei Zeichen in der Zeichenfolge enthält.
match()
Die Funktion match()
überprüft, ob eine Eingabezeichenfolge mit dem definierten Muster für reguläre Ausdrücke übereinstimmt. Diese Funktion akzeptiert Muster für reguläre Ausdrücke und Suchzeichenfolgen als Argumente. Optional können Sie auch einen booleschen Typ angeben, um die Groß- und Kleinschreibung zu ignorieren.
Beispiele:
-
Die
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “A2_B2”)
RenditenTrue
. -
Die
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_b2”)
RenditenFalse
. -
Die
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_B2”, $parameters.ignore_case)
RenditenTrue
.
sha256 ()
Verwenden Sie diese Funktion, um den SHA-256-Hash für eine beliebige Zeichenfolge zu berechnen. Diese Funktion akzeptiert eine Zeichenfolgeneingabe beliebiger Länge und gibt eine Hash-Zeichenfolge fester Länge (64 Zeichen) zurück.
Beispiel:
components:
-
name: lbvserver-comp
type: ns::lbvserver
properties:
name: sha256(lbserver-name)
servicetype: SSL
ipv46: 10.10.10.10
<!--NeedCopy-->
In diesem Beispiel wird lbserver-name
es als Hash-Zeichenfolge auf dem NetScaler-Objekt angezeigt.
Diese Funktion kann auch Ausdrücke als Eingabe akzeptieren.
Beispiel:
components:
-
name: lbvserver-comp
type: ns::lbvserver
properties:
name: sha256($parameters.lb-appname)
servicetype: SSL
ipv46: 10.10.10.10
<!--NeedCopy-->
relate()
Die Funktion relate()
bildet eine Liste von Wörterbuchobjekten aus einer Reihe von Listen.
Es braucht zwei Argumente:
Argument 1: Eine Liste von Zeichenketten, die Schlüsselnamen darstellen.
Argument 2: Eine Liste von Listen, wobei jede Liste die Werte der entsprechenden Schlüsselnamen in Argument 1 enthält. Jede Liste in Argument 2 muss dieselbe Länge haben. Die Anzahl der Listen in Argument 2 sollte der Anzahl der Zeichenketten in Argument 1 entsprechen.
Beispiel:
name: test_relate_3
description: "Hello World StyleBook."
namespace: com.citrix.adc.stylebooks
schema-version: "1.0"
version: "1.1"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
parameters:
-
name: namesofservers
description: "Provide the names of LB VServers"
type: string[]
-
name: listofips
description: "Provide the list of IP Addresses"
type: string[]
-
name: list_of_keys
type: string[]
default:
- "name"
- "ip"
substitutions:
list_of_values: [$parameters.namesofservers,$parameters.listofips]
components:
-
name: svc-comp
type: object
properties:
svcdetails: relate($parameters.list_of_keys,$substitutions.list_of_values)
-
name: lb-comp
type: ns::lbvserver
repeat: $components.svc-comp.properties.svcdetails
repeat-item: svcd
properties:
name: $svcd['name']
servicetype: HTTP
ipv46: $svcd['ip']
port: 80
<!--NeedCopy-->
In diesem Beispiel:
-
Der Abschnitt
parameters
hat eine Liste namenslist_of_keys
, diename
undip
enthält. -
Der Abschnitt
substitutions
hat eine Liste namenslist_of_values
, die die folgenden zwei Listen enthält:- Eine Liste von virtuellen Servernamen (
string
) - Eine Liste von IP-Adressen (
string
).
- Eine Liste von virtuellen Servernamen (
Die integrierte Funktion relate()
akzeptiert list_of_keys
und list_of_values
als Argumente. Die Funktion erstellt dann eine Liste von Wörterbuchobjekten, wobei jedes Objekt einen Namen aus der ersten Liste und eine IP-Adresse aus der zweiten Liste hat.
Wenn Sie die folgende Liste virtueller Server bereitstellen:
["lb1","lb2"]
<!--NeedCopy-->
und eine Liste der IP-Adressen virtueller Server als:
["1.1.1.1","2.2.3.3"]
<!--NeedCopy-->
Dierelate()
Funktion gibt dann die folgenden Listen zurück:
[{"name": "lb1", "ip": "1.1.1.1"},{"name": "lb2", "ip": "2.2.3.3"}]
<!--NeedCopy-->
Das StyleBook wiederholt diese Liste von Wörterbuchobjekten im Abschnitt components
, um die entsprechenden virtuellen Server zu erstellen.
mehrfach ()
Die Funktion multiple()
hat zwei Argumente:
Argument 1: a number
string
, boolean
, ipaddress
, tcp-port
, oder password
Argument 2: a number
Die Funktion multiple(argument1, argument2)
gibt eine Liste mit vielen Kopien von Argument 1 zurück. Die Anzahl der Kopien entspricht der Anzahl, die an Argument 2 übergeben wurde.
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.
In diesem Artikel
- str()
- int()
- bool()
- len()
- min()
- max()
- bin()
- oct()
- hex()
- lower()
- upper()
- sum()
- pow()
- ip()
- ip_network()
- network_ip()
- subnets()
- netmask_ip()
- is_netmask_ip ()
- broadcast_ip()
- cidr()
- is_cidr()
- is_in_network()
- base64.encode()
- base64.decode()
- exists()
- filter()
- if-then-else()
- join()
- split()
- map()
- quotewrap()
- replace()
- trim()
- truncate()
- distinct()
- url.encode()
- url.decode()
- ist-ipv4 ()
- ist-ipv6 ()
- startswith()
- endswith()
- contains()
- substring()
- match()
- sha256 ()
- relate()
- mehrfach ()