Integrierte Funktionen
Ausdrücke in StyleBooks können integrierte Funktionen nutzen.
Beispielsweise können Sie die integrierte Funktion verwenden, str()
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
IP address
Beispiele:
- Die
"set-" + str(10)
Funktion kehrt zurück"set-10"
. - Die
str(10)
Funktion kehrt zurück10
. - Die
str(1.1.1.1)
Funktion kehrt zurück1.1.1.1
. - Die
str(T rue)
Funktion kehrt zurück"T rue"
. - Die
str(ADM)
Funktion kehrt zurück"mas"
.
int()
Die int()
Funktion verwendet eine Zeichenfolge, eine Zahl, eine IP-Adresse oder tcpport
als Argument und gibt eine Ganzzahl zurück.
Beispiele:
- Die
int("10")
Funktion kehrt zurück10
. - Die
int(10)
Funktion kehrt zurück10
. - Die
int(ip('0.0.4.1'))
Funktion kehrt zurück1025
.
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
bool(true)
Funktion kehrt zurücktrue
. - Die
bool(false)
Funktion kehrt zurückfalse
. - Die
bool($parameters.a)
Funktion gibt zurückfalse
,false
wenn der leer$parameters.a
ist 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 len($substitutions.items)
Funktion kehrt zurück 3
Beispiel 2:
Die len("Citrix ADM")
Funktion kehrt zurück 10
.
Beispiel 3:
Wenn $parameters.vips
Werte vorhanden sind ['1.1.1.1', '1.1.1.2', '1.1.1.3']
, wird die len($parameters.vips)
Funktion zurückgegeben 3
.
min()
Die min()
Funktion 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:
- Die
min(80, 100, 1000)
Funktion kehrt zurück80
. - Die
min(-20, 100, 400)
Funktion kehrt zurück-20
. - Die
min(-80, -20, -10)
Funktion kehrt zurück-80
. - Die
min(0, 100, -400)
Funktion kehrt zurück-400
.
Beispiele mit einer Liste von Zahlen/TCP-Ports:
-
Support
$parameters.ports
ist eine Liste vontcp-ports
und hat Werte:[80, 81, 8080]
.Die
min($parameters.ports)
Funktion kehrt zurück80
.
max()
Die max()
Funktion 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:
- Die
max(80, 100, 1000)
Funktion kehrt zurück1000
. - Die
max(-20, 100, 400)
Funktion kehrt zurück400
. - Die
max(-80, -20, -10)
Funktion kehrt zurück-10
. - Die
max(0, 100, -400)
Funktion kehrt zurück100
.
Beispiele mit einer Liste von Zahlen/TCP-Ports:
-
Unterstützung
$parameters.ports
ist Liste vontcp-ports
und hat Werte:[80, 81, 8080]
.Die
max($parameters.ports)
Funktion kehrt zurück8080
.
bin()
Die bin()
Funktion verwendet eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Binärformat darstellt.
Beispiele für Ausdrücke:
Die bin(100)
Funktion kehrt zurück 0b1100100
.
oct()
Die oct()
Funktion verwendet eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Oktalformat darstellt.
Beispiele für Ausdrücke:
Die oct(100)
Funktion kehrt zurück 0144
.
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 hex(100)
Funktion kehrt zurück 0x64
.
lower()
Die lower()
Funktion verwendet eine Zeichenfolge als Argument und gibt die gleiche Zeichenfolge in Kleinbuchstaben zurück.
Beispiel:
Die lower("ADM")
Funktion kehrt zurück adm
.
upper()
Die upper()
Funktion verwendet eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Großbuchstaben zurück.
Beispiel:
Die upper("Citrix ADM")
Funktion kehrt zurück CITRIX ADM
.
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 sum($substitutions.list-of-numbers)
Funktion kehrt zurück 88
.
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 pow(3,2)
Funktion kehrt zurück 9
.
ip()
Die ip()
Funktion 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
ip(3.1.1.1)
Funktion kehrt zurück3.1.1.1
. -
Geben Sie eine Zeichenfolge in der
ip
Funktion an:Die
ip('2.1.1.1')
Funktion kehrt zurück2.1.1.1
-
Geben Sie eine Ganzzahl in der
ip
Funktion an:-
Die
ip(12)
Funktion kehrt zurück0.0.0.12
. -
Wenn Sie eine Ganzzahl als String in der
ip
Funktion angeben, wird eine entsprechende IP-Adresse der Eingabe zurückgegeben.Die
ip('1025')
Funktion kehrt zurück0.0.4.1
.
Diese Funktion unterstützt auch die Integer-Additions- und Subtraktionsoperationen und gibt eine resultierende IP-Adresse zurück.
-
Zusatz: Die
ip(1025) + ip(12)
Funktion kehrt zurück0.0.4.13
. -
Subtraktion: Die
ip('1025') - ip(12)
Funktion kehrt zurück0.0.3.245
. -
Kombinieren Sie Addition und Subtraktion: Die
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)
Renditen2.2.2.0
.
-
base64.encode()
Die base64.encode()
Funktion verwendet ein String-Argument und gibt die Base64-codierte Zeichenfolge zurück.
Beispiel:
Die base64.encode("abcd")
Funktion kehrt zurück YWJjZA==
.
base64.decode()
Die base64.decode
Funktion verwendet eine Base64-codierte Zeichenfolge als Argument und gibt die dekodierte Zeichenfolge zurück.
Beispiel:
Die base64.decode("YWJjZA==")
Funktion kehrt zurück abcd
.
exists()
Die exists()
Funktion 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: 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 if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport)
Funktion gibt den Wert von $parameters.hport
if $parameters.servicetype
has value zurück HTTP
.
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 join()
Funktion hat zwei Argumente:
Argument 1: Liste von Zahlen tcp-ports
, Strings oder IP-Adressen
Argument 2: Trennzeichenfolge (optional)
Diese Funktion verbindet die Elemente der Liste, die als Argument eins bereitgestellt werden, in einer Zeichenfolge, wobei jedes Element durch die als Argument zweite angegebene Begrenzungszeichenfolge getrennt ist. Wenn Argument zwei nicht angegeben wird, werden die Elemente in der Liste als eine Zeichenfolge verbunden.
Beispiel:
-
$parameters.ports
ist[81, 82, 83]
.-
Mit Trennzeichen Argument:
Die
join($parameters.ports, '-')
Funktion kehrt zurück81-82-83
. -
Ohne Trennzeichen Argument:
Die
join($parameters.ports)
Funktion kehrt zurück818283
.
-
spalten ()
Die split()
Funktion 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
split('Example_string_split', 's')
Funktion kehrt zurück['Example_','tring_','plit']
. -
Die
split('Example string split')
Funktion kehrt zurück['Example','string','split']
. -
Die
split('Example string split', '')
Funktion kehrt zurück['Example','string','split']
. -
Die
split('Example string')
Funktion kehrt zurück['Example','string']
.Diese Funktion betrachtet kontinuierliche Räume als ein Leerzeichen.
map()
Die map()
Funktion 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 map()
Funktion (Argument eins) auf das entsprechende Element in Argument zwei 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:
Suppose $parameters.nums is [81, 82, 83]
.
-
Map using a built-in function, str
Die
map(str, $parameters.nums)
Funktion kehrt zurück["81", "82", "83"]
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).
-
Zuordnung 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 Map-Funktion ist eine Liste von Zahlen, wobei jedes Element durch Anwendung der Substitutionsfunktion $substitutions.add-10
auf das entsprechende Element in der Eingabeliste berechnet wird ($parameters.nums)
.
quotewrap()
Die quotewrap()
Funktion 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 quotewrap("ADM")
Funktion kehrt zurück "mas"
replace()
Die replace()
Funktion hat drei Argumente:
Argument 1: Zeichenfolge
Argument 2: String oder Liste
Argument 3: Zeichenfolge (optional)
Die Funktion ersetzt alle Vorkommen von Argument zwei durch Argument drei in Argument eins.
Wenn Argument drei nicht angegeben wird, werden alle Vorkommen von Argument zwei aus dem ersten Argument entfernt (mit anderen Worten, durch eine leere Zeichenfolge ersetzt).
Ersetzen Sie eine Teilzeichenfolge durch eine andere Teilzeichenfolge:
-
Die
replace('abcdef', 'def', 'xyz')
Funktion kehrt zurückabcxyz
.Alle Vorkommnisse von
def
werden durch ersetztxyz
. -
replace('abcdefabc', 'def')
kehrt zurückabcabc
.Da es kein drittes Argument gibt,
def
wird aus der resultierenden Zeichenfolge entfernt.
Geben Sie die Liste der Zeichen 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 replace('An#example@to%replace!characters', $parameters.spl_chars, '_')
Funktion kehrt zurück An_example_to_replace_characters
.
Die Ausgabezeichenfolge hat einen unterstreichen (_
) anstelle der in der $parameters.spl_chars
Liste angegebenen Zeichen.
trim()
Die trim()
Funktion gibt eine Zeichenfolge zurück, in der die führenden und nachfolgenden Leerzeichen aus der Eingabezeichenfolge entfernt werden.
Beispiel:
Die trim(' abc ')
Funktion kehrt zurück abc
.
truncate()
Die truncate()
Funktion hat zwei Argumente:
Argument 1: Zeichenfolge
Argument 2: Zahl
Die Funktion gibt einen String zurück, wo die Eingabezeichenfolge in Argument 1 auf die Länge durch Argument zwei angegeben abgeschnitten wird.
Beispiel:
Die truncate('Citrix ADM', 6)
Renditen Citrix
.
deutlich ()
Die distinct()
Funktion extrahiert eindeutige Elemente aus einer Listeneingabe.
Beispiele:
Wenn ja $parameters.input_list
['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX']
, kehrt die distinct($parameters.input_list)
Funktion zurück ['ADM', 'ADC', 'VPX', 'CPX']
.
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 url.encode("a/b/c")
Funktion kehrt zurück a%2Fb%2Fc
.
url.decode ()
Die url.decode()
Funktion gibt eine Zeichenfolge zurück, in der das URL-codierte Argument gemäß RFC 3986 in eine reguläre Zeichenfolge decodiert wird.
Beispiel:
Die url.decode("a%2Fb%2Fc")
Funktion kehrt zurück a/b/c
.
is-ipv4()
Die is-ipv4()
Funktion verwendet eine IP-Adresse als Argument und gibt den booleschen Wert zurück, True
wenn die IP-Adresse im IPv4-Format vorliegt.
Die is-ipv4(10.10.10.10)
Funktion kehrt zurück True
is-ipv6()
Die is-ipv6()
Funktion nimmt eine IP-Adresse als Argument und gibt den booleschen Wert zurück, True
wenn die IP-Adresse im IPv6-Format vorliegt.
Die is-ipv6(2001:DB8::)
Funktion kehrt zurück True
Beginnt mit ()
Die startswith()
Funktion bestimmt, ob eine Zeichenfolge mit einem gegebenen 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
startswith('Citrix', 'Ci')
Funktion kehrt zurückTrue
. - Die
startswith('Citrix', 'iC')
Funktion kehrt zurückFalse
- Die
startswith('Citrix', 'Ab')
Funktion kehrt zurückFalse
endet mit ()
Die endswith()
Funktion bestimmt, ob eine Zeichenfolge mit einem gegebenen 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
endswith('Citrix', 'ix')
Funktion kehrt zurückTrue
. - Die
endswith('Citrix', 'Ix')
Funktion kehrt zurückFalse
. - Die
endswith('Citrix', 'ab')
Funktion kehrt zurückFalse
.
enthält ()
Die contains()
Funktion bestimmt, ob ein String eine bestimmte Teilzeichenfolge enthält. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.
contains(str, sub_str)
Diese Funktion gibt zurück True
, wenn die Teilzeichenfolge (sub_str
) irgendwo innerhalb der Zeichenfolge (str
) enthalten ist.
Beispiel:
- Die
contains('Citrix', 'tri')
Funktion kehrt zurückTrue
. - Die
contains('Citrix', 'Ci')
Funktion kehrt zurückTrue
. - Die
contains('Citrix', 'ti')
Funktion kehrt zurückFalse
Teilzeichenfolge ()
Verwenden Sie die substring()
Funktion, um eine Teilzeichenfolge aus einer Zeichenfolge zu extrahieren.
substring(str, start_index, end_index)
Diese Funktion erfordert die beiden obligatorischen Argumente und ein optionales ganzzahliges Argument.
-
str
( Obligatorisch) -
start_index
( Obligatorisch) -
end_index
Optional:
Diese Funktion gibt die Teilzeichenfolge aus der Zeichenfolge (str
), 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 angeben
end_index
, schließt die Teilzeichenfolge das Zeichen an derend_index
Position aus.
Beispiel:
-
Die
substring('Citrix', 2)
Funktion kehrt zurücktrix
-
Die
substring('Citrix', 10)
Funktion gibt zurück ("
)In diesem Beispiel gibt die Funktion eine leere Zeichenfolge zurück, da sie eine ungültige
start_index
Position hat. -
Die
substring('Citrix', 2, 4)
Funktion kehrt zurücktr
In diesem Beispiel extrahiert die Funktion die Zeichen zwischen 2 und 4 Indexpositionen.
-
Die
substring('Citrix', -3)
Funktion kehrt zurückrix
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 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()
- spalten ()
- map()
- quotewrap()
- replace()
- trim()
- truncate()
- deutlich ()
- url.encode ()
- url.decode ()
- is-ipv4()
- is-ipv6()
- Beginnt mit ()
- endet mit ()
- enthält ()
- Teilzeichenfolge ()