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 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 Zeichenfolgewert um.
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(True)
gibt"True"
zurück. - Die Funktion
str(NetScaler Console)
gibt"NetScaler Console"
zurück.
int()
Die Funktion int()
akzeptiert eine Zeichenfolge, Zahl, IP-Adresse oder einen 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 Funktion bool()
akzeptiert einen beliebigen Typ als Argument. 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)
gibttrue
zurück. - Die Funktion
bool(false)
gibtfalse
zurück. - Die Funktion
bool($parameters.a)
gibtfalse
zurück, wenn$parameters.a
false
, 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 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.
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)
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 Zahlen/TCP-Ports:
-
Angenommen,
$parameters.ports
ist eine Liste von TCP-Ports und hat die Werte:[80, 81, 8080]
.Die Funktion
min($parameters.ports)
gibt80
zurü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)
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 Zahlen/TCP-Ports:
-
Angenommen,
$parameters.ports
ist eine Liste von TCP-Ports und hat die Werte:[80, 81, 8080]
.Die Funktion
max($parameters.ports)
gibt8080
zurü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("NetScaler Console")
gibt NetScaler Console
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 Console")
gibt NetScaler Console
zurück.
sum()
Die Funktion sum()
akzeptiert 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: 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, 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.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
ip
-Funktion an:-
Die Funktion
ip(12)
gibt0.0.0.12
zurü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.1
zurück.
Diese Funktion unterstützt auch die Ganzzahl-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 von Addition und Subtraktion: Die Funktion
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)
gibt2.2.2.0
zurück.
-
ip_network()
Die Funktion ip_network
akzeptiert 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:
Betrachten 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:
Betrachten 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 Funktion network_ip()
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 ist 1.1.1.0
die erste IP-Adresse im angegebenen Netzwerk.
subnets()
Die Funktion subnets()
gibt die Liste der Subnetze aus dem angegebenen IP-Netzwerk 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 Netzmaskenlänge zurück. Die Ausgabe kann wie folgt aussehen:
[1.1.1.0/30', '1.1.1.4/30', '1.1.1.8/30', '1.1.1.12/30']
netmask_ip()
Die Funktion netmask_ip()
gibt die Netzmasken-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 Netzmasken-IP-Adresse.
is_netmask_ip()
Die Funktion is_netmask_ip()
akzeptiert eine ipaddress
als Eingabe. Sie gibt True
zurück, wenn der angegebene Wert eine gültige Netzmasken-IP-Adresse ist.
Beispiel 1:
Die Funktion is_netmask_ip(255.255.255.240)
gibt True
zurück, da der angegebene Wert eine gültige Netzmasken-IP-Adresse ist.
Beispiel 2:
Die Funktion is_netmask_ip(255.255.255.232)
gibt False
zurück, da der angegebene Wert keine gültige Netzmasken-IP-Adresse ist.
broadcast_ip()
Die Funktion broadcast_ip()
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 Funktion cidr()
gibt die CIDR-Notation für das angegebene IP-Netzwerk zurück.
Beispiel:
Die Funktion cidr(1.1.1.1/28)
gibt 1.1.1.0/28
zurück. Für das angegebene IP-Netzwerk ist 1.1.1.0/28
die CIDR-Notation.
is_cidr()
Die Funktion is_cidr()
akzeptiert ein ipnetwork
als Eingabe. Sie gibt True
zurück, wenn der angegebene Wert mit der CIDR-Notation des IP-Netzwerks übereinstimmt.
Beispiel 1:
Die Funktion is_cidr(1.1.1.0/24)
gibt True
zurück, da der angegebene Wert die CIDR-Notation des angegebenen Netzwerks ist.
Beispiel 2:
Die Funktion is_cidr(1.1.1.1/28)
gibt False
zurück, da die CIDR-Notation des angegebenen Netzwerks vom angegebenen Wert abweicht.
is_in_network()
Die Funktion is_in_network()
akzeptiert ipnetwork
- und ipaddress
-Werte. Sie gibt True
zurück, wenn die angegebene IP-Adresse im angegebenen IP-Netzwerk vorhanden ist.
Beispiel 1:
Die Funktion is_in_network(1.1.1.1/24, 1.1.1.121)
gibt True
zurück, da die Adresse 1.1.1.121
Teil des Netzwerks 1.1.1.1/24
ist.
Beispiel 2:
Die Funktion is_in_network(1.1.1.1/28, 2.1.1.1)
gibt False
zurück, da die Adresse 2.1.1.1
nicht Teil des Netzwerks 1.1.1.1/28
ist.
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: Ein boolescher Ausdruck
Argument 2: Ein beliebiger Ausdruck
Argument 3: Ein 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: Eine Liste von number
, tcp-port
, string
, ipaddress
Argument 2: Eine Trennzeichenfolge (optional)
Diese Funktion verbindet die Elemente der als Argument 1 angegebenen Liste zu einer Zeichenfolge, wobei jedes Element durch die als Argument 2 angegebene Trennzeichenfolge getrennt wird. Wenn Argument 2 nicht angegeben ist, werden die Elemente in der Liste zu einer Zeichenfolge verbunden.
Beispiel:
-
$parameters.ports
ist[81, 82, 83]
.-
Mit Trennzeichenargument:
Die Funktion
join($parameters.ports, '-')
gibt81-82-83
zurück. -
Ohne Trennzeichenargument:
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 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 die Liste von Zeichenfolgen, wobei jede Zeichenfolge durch Anwendung 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. Jedes Element wird durch Anwendung der Substitutionsfunktion $substitutions.add-10
auf das entsprechende Element in der Eingabeliste ($parameters.nums)
berechnet.
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("NetScaler Console")
gibt "NetScaler Console"
zurück.
replace()
Die Funktion replace()
akzeptiert drei Argumente:
Argument 1: Eine string
oder Liste der folgenden integrierten Typen:
string
number
ipaddress
tcp-port
boolean
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 ist, werden alle Vorkommen von Argument 2 aus Argument 1 entfernt.
Beispiel:
-
Die Funktion
replace('abcdef', 'def', 'xyz')
gibtabcxyz
zurück.Alle Vorkommen von
def
werden durchxyz
ersetzt. -
Die Funktion
replace('abcdefabc', 'def')
gibtabcabc
zurück.Da kein Argument 3 vorhanden ist, wird
def
aus der resultierenden Zeichenfolge entfernt. -
Die Funktion
replace('An#example@to%replace!characters', ['@', '#', '!', '%'], '_')
gibtAn_example_to_replace_characters
zurück.Die Ausgabezeichenfolge enthält Unterstriche (_) anstelle der in
['@', '#', '!', '%']
angegebenen Zeichen. -
Die Funktion
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])
gibt[10.10.10.1, 10.10.10.3]
zurück.Da kein Argument 3 vorhanden ist, werden
10.10.10.2
und10.10.10.4
aus der resultierenden Liste der IP-Adressen entfernt. -
Die Funktion
replace([8080, 8081, 8082, 8083, 8084], 8083, 80)
gibt[8080, 8081, 8082, 80, 8084]
zurück.Alle Vorkommen von
8083
werden durch80
ersetzt.
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: 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 Funktion truncate('Stylebooks', 6)
gibt Styleb
zurück.
distinct()
Die Funktion distinct()
extrahiert eindeutige Elemente aus einer Listeneingabe.
Beispiele:
Wenn $parameters.input_list
['ADC', 'VPX', 'ADC', 'CPX']
ist, gibt die Funktion distinct($parameters.input_list)
['ADC', 'VPX', 'CPX']
zurück.
url.encode()
Die Funktion url.encode()
gibt eine Zeichenfolge zurück, bei der Zeichen gemäß dem ASCII-Zeichensatz nach 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, 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 Unterzeichenfolge (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 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 Unterzeichenfolge (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()
bestimmt, ob eine Zeichenfolge eine bestimmte Unterzeichenfolge enthält. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
Zulässige Argumenttypen:
string
number
tcp-port
boolean
ipaddress
contains(str, sub_str)
Diese Funktion gibt True
zurück, wenn die Unterzeichenfolge (sub_str
) irgendwo innerhalb der Zeichenfolge (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 zu der 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, da die Liste das Element Values
enthält.
substring()
Verwenden Sie die Funktion substring()
, um eine Unterzeichenfolge aus einer Zeichenfolge zu extrahieren.
substring(str, start_index, end_index)
Diese Funktion erfordert zwei obligatorische Argumente und ein optionales Ganzzahlargument.
-
str
(Obligatorisch) -
start_index
(Obligatorisch) -
end_index
(Optional)
Diese Funktion gibt die Unterzeichenfolge aus der Zeichenfolge (str
) zurück, die sich zwischen den angegebenen Indexpositionen befindet. Wenn Sie die Endindexposition nicht angeben, extrahiert die Funktion die Unterzeichenfolge vom Startindex bis zum Ende der Zeichenfolge.
Hinweis
Wenn Sie
end_index
angeben, schließt die Unterzeichenfolge das Zeichen an derend_index
-Position 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
start_index
-Position hat. -
Die Funktion
substring('Citrix', 2, 4)
gibttr
zurück.In diesem Beispiel extrahiert die Funktion die Zeichen zwischen den Indexpositionen 2 und 4.
-
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 Argument
start_index
an.In diesem Beispiel extrahiert die Funktion die Unterzeichenfolge, die die letzten drei Zeichen in der Zeichenfolge enthält.
match()
Die Funktion match()
überprüft, ob eine Eingabezeichenfolge dem definierten regulären Ausdrucksmuster entspricht. Diese Funktion akzeptiert ein reguläres Ausdrucksmuster und Suchzeichenfolgen als Argumente. Optional können Sie auch einen booleschen Typ angeben, um die Groß-/Kleinschreibung von Mustern zu ignorieren.
Beispiele:
-
Die Funktion
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “A2_B2”)
gibtTrue
zurück. -
Die Funktion
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_b2”)
gibtFalse
zurück. -
Die Funktion
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_B2”, $parameters.ignore_case)
gibtTrue
zurück.
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 erscheint lbserver-name
als Hash-Zeichenfolge auf dem NetScaler-Objekt.
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()
erstellt eine Liste von Wörterbuchobjekten aus einer Menge von Listen.
Sie akzeptiert zwei Argumente:
Argument 1: Eine Liste von Zeichenfolgen, 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 Zeichenfolgen 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
enthält eine Liste namenslist_of_keys
, diename
undip
enthält. -
Der Abschnitt
substitutions
enthält eine Liste namenslist_of_values
, die die folgenden zwei Listen enthält:- Eine Liste von Namen virtueller Server (
string
) - Eine Liste von IP-Adressen (
string
).
- Eine Liste von Namen virtueller Server (
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 von IP-Adressen virtueller Server als:
["1.1.1.1","2.2.3.3"]
<!--NeedCopy-->
Die Funktion relate()
gibt dann die folgenden Listen zurück:
[\{"name": "lb1", "ip": "1.1.1.1"},\{"name": "lb2", "ip": "2.2.3.3"}]
<!--NeedCopy-->
Das StyleBook iteriert über diese Liste von Wörterbuchobjekten im Abschnitt components
, um die entsprechenden virtuellen Server zu erstellen.
multiple()
Die Funktion multiple()
akzeptiert zwei Argumente:
Argument 1: Eine number
, string
, boolean
, ipaddress
, tcp-port
oder password
Argument 2: Eine number
Die Funktion multiple(argument1, argument2)
gibt eine Liste mit vielen Kopien von Argument 1 zurück. Die Anzahl der Kopien entspricht der an Argument 2 übergebenen Zahl.
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.
reverse()
Die Funktion reverse()
akzeptiert eine Liste von Elementen als Argument und gibt eine Liste mit denselben Elementen, aber in umgekehrter Reihenfolge zurück.
Das Argument kann eine Liste der folgenden integrierten Typen sein:
- string
- number
- ipaddress
- ipnetwork
- tcp-port
- boolean
- password
- object
- file
- certfile
- keyfile
- certkey
Beispiele:
-
reverse([10.102.20.1, 10.102.20.2, 10.102.20.3])
gibt[10.102.20.3, 10.102.20.2, 10.102.20.1]
zurück. -
reverse([80,81,82,81])
gibt[81,82,81,80]
zurück. -
reverse([‘app-mx’,’app-cx’,’conf-27’,’app3’])
gibt[‘app3’,’conf-27’,’app-cx’,’app-mx’]
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()
- is-ipv4()
- is-ipv6()
- startswith()
- endswith()
- contains()
- substring()
- match()
- sha256()
- relate()
- multiple()
- reverse()