StyleBook-Konfiguration

Integrierte Funktionen

Ausdrücke in StyleBooks können integrierte Funktionen verwenden.

Beispielsweise können Sie die integrierte Funktionstr()verwenden, um eine Zahl in eine Zeichenfolge umzuwandeln.

str($parameters.order)

Oder Sie können die integrierte Funktion verwenden,int()嗯一张Zeichenfolge在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()

Diestr()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 Funktionstr(10)gibt10zurück.
  • Die Funktionstr(1.1.1.1)gibt1.1.1.1zurück.
  • Die Funktionstr(T rue)gibt"T rue"zurück.
  • Die Funktionstr(ADM)gibt"mas"zurück.

int()

Dieint()Funktion verwendet eine Zeichenfolge, eine Zahl, eine IP-Adresse odertcpportals Argument und gibt eine Ganzzahl zurück.

Beispiele:

  • Die Funktionint("10")gibt10zurück.
  • Die Funktionint(10)gibt10zurück.
  • Die Funktionint(ip('0.0.4.1'))gibt1025zurück.

bool()

Diebool()Funktion verwendet einen beliebigen Typ als Argument. Wenn der Argumentwert leer oder nicht vorhanden istfalse, wird diese Funktion zurückgegebenfalse.

Ansonsten kehrt es zurücktrue.

Beispiele:

  • Die Funktionbool(true)gibttruezurück.
  • Die Funktionbool(false)gibtfalsezurück.
  • Die Funktionbool($parameters.a)gibtfalsezurück, wenn$parameters.aden Wertfalsehat, leer oder nicht vorhanden ist.

len()

Dielen()Funktion verwendet Zeichenfolge歌唱r 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 Funktionlen($substitutions.items)gibt3zurück.

Beispiel 2:

Die Funktionlen("NetScaler ADM")gibt10zurück.

Beispiel 3:

Wenn$parameters.vipsdie Werte['1.1.1.1', '1.1.1.2', '1.1.1.3']hat, gibt die Funktionlen($parameters.vips)das Ergebnis3zurück.

min()

Die Funktionmin()verwendet entweder一张Liste奥得河风景明信片Reihe冯Zahlen oder TCP-Ports als Argumente und gibt das kleinste Element zurück.

Beispiele mit einer Reihe von Nummern/TCP-Ports:

  • Die Funktionmin(80, 100, 1000)gibt80zurück.
  • Die Funktionmin(-20, 100, 400)gibt-20zurück.
  • Die Funktionmin(-80, -20, -10)gibt-80zurück.
  • Die Funktionmin(0, 100, -400)gibt-400zurück.

Beispiele mit einer Liste von Nummern/TCP-Ports:

  • Support$parameters.portsist eine Liste von TCP-Ports und hat Werte:[80, 81, 8080].

    Die Funktionmin($parameters.ports)gibt80zurück.

max()

Die Funktionmax()verwendet entweder一张Liste奥得河风景明信片Reihe冯Zahlen oder TCP-Ports als Argumente und gibt das größte Element zurück.

Beispiele mit einer Reihe von Nummern/TCP-Ports:

  • Die Funktionmax(80, 100, 1000)gibt1000zurück.
  • Die Funktionmax(-20, 100, 400)gibt400zurück.
  • Die Funktionmax(-80, -20, -10)gibt-10zurück.
  • Die Funktionmax(0, 100, -400)gibt100zurück.

Beispiele mit einer Liste von Nummern/TCP-Ports:

  • Support$parameters.portsist eine Liste von TCP-Ports und hat Werte:[80, 81, 8080].

    Die Funktionmax($parameters.ports)gibt8080zurück.

bin()

Die Funktionbin()verwendet eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Binärformat darstellt.

Beispiele für Ausdrücke:

Die Funktionbin(100)gibt0b1100100zurück.

oct()

Die Funktionoct()verwendet eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Oktalformat darstellt.

Beispiele für Ausdrücke:

Die Funktionoct(100)gibt0144zurück.

hex()

Diehex()Funktion verwendet eine Zahl als Argument und gibt eine Kleinbuchstabenzeichenfolge zurück, die die Zahl im Hexadezimalformat darstellt.

Beispiele für Ausdrücke:

Die Funktionhex(100)gibt0x64zurück.

lower()

Die Funktionlower()verwendet eine Zeichenfolge als Argument und gibt die gleiche Zeichenfolge in Kleinbuchstaben zurück.

Beispiel:

Die Funktionlower("ADM")gibtadmzurück.

upper()

Dieupper()Funktion verwendet eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Großbuchstaben zurück.

Beispiel:

Die Funktionupper("NetScaler ADM")gibtNetScaler ADMzurück.

sum()

Diesum()Funktion nimmt eine Liste von Zahlen odertcpportsals 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 Funktionsum($substitutions.list-of-numbers)gibt88zurück.

Beispiel 2:

Wenn ja$parameters.ports[80, 81, 82], kehrt diesum($parameters.ports)Funktion zurück243.

pow()

Diepow()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 Funktionpow(3,2)gibt9zurück.

ip()

Die Funktionip()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 deripFunktion an:

    Die Funktionip(3.1.1.1)gibt3.1.1.1zurück.

  • Geben Sie eine Zeichenfolge in deripFunktion an:

    Die Funktionip('2.1.1.1')gibt2.1.1.1zurück.

  • Geben Sie eine Ganzzahl in der Funktionipan:

    • Die Funktionip(12)gibt0.0.0.12zurück.

    • Wenn Sie eine Ganzzahl als String in deripFunktion angeben, wird eine entsprechende IP-Adresse der Eingabe zurückgegeben.

      Die Funktionip('1025')gibt0.0.4.1zurück.

    Diese Funktion unterstützt auch die Integer-Additions- und Subtraktionsoperationen und gibt eine resultierende IP-Adresse zurück.

    • Addition: Die Funktionip(1025) + ip(12)gibt0.0.4.13zurück.

    • Subtraktion: Die Funktionip('1025') - ip(12)gibt0.0.3.245zurück.

    • Kombinieren Sie Addition und Subtraktion: Dieip('1.1.1.1') + ip('1.1.1.1') – ip(2)Renditen2.2.2.0.

ip_network()

Dieip_networkFunktion verwendet IP-Adresse und Netzmaskenlänge als Argumente und gibt eine IP-Netzwerknotation zurück.

Example-1:

Die Funktionip_network(1.1.1.1, 28)gibt1.1.1.1/28zurück.

Example-2:

Erwägen Sie den Wert1.1.1.1für$parameters.ipaddr. Die Funktionip_network($parameters.ipaddr, 30)gibt1.1.1.1/30zurück.

Example-3:

Erwägen Sie den Wert24für$parameters.netmask-len. Die Funktionip_network(23.1.12.76, $parameters.netmask-len)gibt23.1.12.76/24zurück.

network_ip()

Dienetwork_ip()Funktion gibt die erste IP-Adresse des angegebenen IP-Netzwerks zurück.

Beispiel:

Die Funktionnetwork_ip(1.1.1.1/28)gibt1.1.1.0zurück. In diesem Beispiel1.1.1.0ist die erste IP-Adresse im angegebenen Netzwerk.

subnets()

Diesubnets()Funktion gibt die Liste der Subnetze des angegebenen IP-Netzwerks und der Netzmaskenlänge zurück.

Beispiel:

Die Funktionsubnets(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()

Dienetmask_ip()Funktion gibt die Netmask-IP-Adresse für das angegebene IP-Netzwerk zurück.

Beispiel:

Die Funktionnetmask_ip(1.1.1.1/28)gibt255.255.255.240zurück. Für das angegebene IP-Netzwerk ist255.255.255.240die IP-Adresse der Netzwerkmaske.

is_netmask_ip ()

Dieis_netmask_ip()Funktion akzeptiert einenipaddressals Eingabe. Und gibtTruezurück, wenn der angegebene Wert eine gültige Netzwerkmasken-IP-Adresse ist.

Beispiel 1:

Die Funktionis_netmask_ip(255.255.255.240)gibtTruezurück, weil der angegebene Wert eine gültige Netzwerkmasken-IP-Adresse ist.

Beispiel 2:

Die Funktionis_netmask_ip(255.255.255.232)gibtFalsezurück, weil der angegebene Wert keine gültige Netzwerkmasken-IP-Adresse ist.

broadcast_ip()

Diebroadcast_ip()Funktion gibt die Broadcast-IP-Adresse für das angegebene IP-Netzwerk zurück.

Beispiel:

Die Funktionbroadcast_ip(1.1.1.1/28)gibt1.1.1.15zurück. Für das angegebene IP-Netzwerk ist1.1.1.15die Broadcast-IP-Adresse.

cidr()

Diecidr()Funktion gibt die CIDR-Notation für das angegebene IP-Netzwerk zurück.

Beispiel:

Diecidr(1.1.1.1/28)Funktion gibt den zurück1.1.1.0/28. Für das angegebene IP-Netzwerk ist1.1.1.0/28die CIDR-Notation.

is_cidr()

Dieis_cidr()Funktion akzeptiert einenipnetworkals Eingabe. Und es gibt zurück,Trueob der angegebene Wert mit der CIDR-Notation des IP-Netzwerks übereinstimmt.

Example-1:

Dieis_cidr(1.1.1.0/24)Funktion wird zurückgegeben,Trueda der angegebene Wert die CIDR-Notation des angegebenen Netzwerks ist.

Example-2:

Dieis_cidr(1.1.1.1/28)Funktion wird zurückgegeben,Falseda sich die CIDR-Notation des angegebenen Netzwerks von dem angegebenen Wert unterscheidet.

is_in_network()

Dieis_in_network()Funktion akzeptiertipnetworkundipaddresswertet. Und es gibt zurück,Trueob die angegebene IP-Adresse im angegebenen IP-Netzwerk vorhanden ist.

Example-1:

Dieis_in_network(1.1.1.1/24, 1.1.1.121)Funktion wird zurückgegebenTrue, da die1.1.1.121Adresse Teil des1.1.1.1/24Netzwerks ist.

Example-2:

Die Funktionis_in_network(1.1.1.1/28, 2.1.1.1)gibtFaslezurück, da die Adresse2.1.1.1nicht Teil des Netzwerks1.1.1.1/28ist.

base64.encode()

Diebase64.encode()Funktion verwendet ein String-Argument und gibt die Base64-codierte Zeichenfolge zurück.

Beispiel:

Die Funktionbase64.encode("abcd")gibtYWJjZA==zurück.

base64.decode()

Diebase64.decodeFunktion verwendet eine Base64-codierte Zeichenfolge als Argument und gibt die dekodierte Zeichenfolge zurück.

Beispiel:

Die Funktionbase64.decode("YWJjZA==")gibtabcdzurück.

exists()

Die Funktionexists()verwendet ein Argument eines beliebigen Typs und gibt einen booleschen Wert zurück. Der Rückgabewert istTrue, wenn die Eingabe einen Wert hat. Der Rückgabewert istFalseWenn das Eingabeargument keinen Wert hat (also keinen Wert).

Bedenken Sie, dass der ein optionaler Parameter$parameters.monitorist. Wenn Sie beim Erstellen eines Konfigurationspakets einen Wert für diesen Parameter angeben, gibt die($parameters.monitor)Funktion zurückTrue.

Ansonsten kehrt es zurückFalse.

filter()

Diefilter()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 ElementTruebei 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 ist81. Ansonsten kehrt es zurückFalse.

Nehmen wir an,$parameters.portsist es[81, 80, 81, 89].

Diefilter($substitutions.x, $parameters.ports)Rückgabe,[80, 89]indem alle Vorkommen von81aus der Liste entfernt werden.

if-then-else()

Die Funktionif-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 wirdTrue, 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ückno.

Beispiel 1:

Dieif-then-else($parameters.servicetype == HTTP, 80, 443)Funktion gibt zurück80, wenn Wert$parameters.servicetypehatHTTP. Andernfalls wird die Funktion zurückgegeben443.

Beispiel 2:

Die Funktionif-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport)gibt den Wert$parameters.hportzurück, wenn$parameters.servicetypeden WertHTTPhat.

Andernfalls gibt die Funktion den Wert von zurück$parameters.sport.

Beispiel 3:

Dieif-then-else($parameters.servicetype == HTTP, 80)gibt zurück80, wenn Wert$parameters.servicetypehatHTTP.

Andernfalls gibt die Funktion keinen Wert zurück.

join()

Die Funktionjoin()hat zwei Argumente:

Argument 1: eine Liste vonnumber,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.portsist[81, 82, 83].

    • Mit Trennzeichen Argument:

      Die Funktionjoin($parameters.ports, '-')gibt81-82-83zurück.

    • Ohne Trennzeichen Argument:

      Die Funktionjoin($parameters.ports)gibt818283zurück.

split()

Die Funktionsplit()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 Funktionsplit('Example_string_split', 's')gibt['Example_','tring_','plit']zurück.

  • Die Funktionsplit('Example string split')gibt['Example','string','split']zurück.

  • Die Funktionsplit('Example string split', '')gibt['Example','string','split']zurück.

  • Die Funktionsplit('Example string')gibt['Example','string']zurück.

    Diese Funktion betrachtet kontinuierliche Räume als ein Leerzeichen.

map()

Die Funktionmap()benotigt请来两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 Funktionmap()(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 Funktionmap(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:

      Diemap($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-10auf das entsprechende Element in der Eingabeliste($parameters.nums)angewendet wird.

quotewrap()

Die Funktionquotewrap()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 Funktionquotewrap("ADM")gibt"mas"zurück.

replace()

Die Funktionreplace()hat drei Argumente:

Argument 1: einstringoder 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 Funktionreplace()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 vondefwerden durch ersetztxyz.

  • replace('abcdefabc', 'def')kehrt zurückabcabc.

    Da es kein Argument 3 gibt, wirddefaus der resultierenden Zeichenfolge entfernt.

  • replace('An#example@to%replace!characters', ['@', '//m.giftsix.com/docs/de-de/citrix-application-delivery-management-service/stylebooks/stylebooks-grammar/#', '!', '%'], '_')Funktion kehrt zurückAn_example_to_replace_characters.

    Die Ausgabezeichenfolge enthält einen Unterstrich (_) anstelle der in['@', '//m.giftsix.com/docs/de-de/citrix-application-delivery-management-service/stylebooks/stylebooks-grammar/#', '!', '%']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, werden10.10.10.2und10.10.10.4aus 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 von8083werden durch ersetzt80.

trim()

Die Funktiontrim()gibt eine Zeichenfolge zurück, in der die führenden und nachfolgenden Leerzeichen aus der Eingabezeichenfolge entfernt werden.

Beispiel:

Die Funktiontrim(' abc ')gibtabczurück.

truncate()

Die Funktiontruncate()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:

Dietruncate('NetScaler ADM', 6)RenditenCitrix.

distinct()

Diedistinct()Funktion extrahiert eindeutige Elemente aus einer Listeneingabe.

Beispiele:Wenn$parameters.input_listden Wert['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX']hat, gibt die Funktiondistinct($parameters.input_list)das Ergebnis['ADM', 'ADC', 'VPX', 'CPX']zurück.

url.encode()

Dieurl.encode()Funktion gibt eine Zeichenfolge zurück, in die Zeichen mithilfe des ASCII-Zeichensatzes gemäß RFC 3986 transformiert werden.

Beispiel:

Die Funktionurl.encode("a/b/c")gibta%2Fb%2Fczurück.

url.decode()

Die Funktionurl.decode()gibt eine Zeichenfolge zurück, in der das URL-codierte Argument gemäß RFC 3986 in eine reguläre Zeichenfolge decodiert wird.

Beispiel:

Die Funktionurl.decode("a%2Fb%2Fc")gibta/b/czurück.

is-ipv4()

Die Funktionis-ipv4()verwendet eine IP-Adresse als Argument und gibt den booleschen WertTruezurück, wenn die IP-Adresse im IPv4-Format vorliegt.

Die Funktionis-ipv4(10.10.10.10)gibtTruezurück.

is-ipv6()

Die Funktionis-ipv6()nimmt eine IP-Adresse als Argument und gibt den booleschen WertTruezurück, wenn die IP-Adresse im IPv6-Format vorliegt.

Die Funktionis-ipv6(2001:DB8::)gibtTruezurück.

startswith()

Die Funktionstartswith()bestimmt, ob ein String mit einem bestimmten Präfix beginnt. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.

startswith(str, sub_str)

Diese Funktion gibt zurückTrue, wenn die Zeichenfolge (str) mit der Teilzeichenfolge (sub_str) beginnt.

Beispiele:

  • Die Funktionstartswith('Citrix', 'Ci')gibtTruezurück.
  • Die Funktionstartswith('Citrix', 'iC')gibtFalsezurück.
  • Die Funktionstartswith('Citrix', 'Ab')gibtFalsezurück.

endswith()

Die Funktionendswith()bestimmt, ob ein String mit einem bestimmten Suffix endet. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.

endswith(str, sub_str)

Diese Funktion gibt zurückTrue, wenn die Zeichenfolge (str) mit der Teilzeichenfolge (sub_str) endet.

Beispiele:

  • Die Funktionendswith('Citrix', 'ix')gibtTruezurück.
  • Die Funktionendswith('Citrix', 'Ix')gibtFalsezurück.
  • Die Funktionendswith('Citrix', 'ab')gibtFalsezurück.

contains()

Die Funktioncontains()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ückTrue, wenn der Teilstring (sub_str) irgendwo in der Zeichenkette (str) enthalten ist.

Beispiele:

  • Die Funktioncontains('Citrix', 'tri')gibtTruezurück.
  • Die Funktioncontains('Citrix', 'Ci')gibtTruezurück.
  • Die Funktioncontains('Citrix', 'ti')gibtFalsezurü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”)

In diesem Beispiel gibt die Funktioncontains()Truezurück, weil die Liste das ElementValuesenthält.

substring()

Verwenden Sie die Funktionsubstring(), 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 Sieend_indexangeben, schließt die Teilzeichenfolge das Zeichen an der Positionend_indexaus.

Beispiel:

  • Die Funktionsubstring('Citrix', 2)gibttrixzurück.

  • Die Funktionsubstring('Citrix', 10)gibt (") zurück.

    In diesem Beispiel gibt die Funktion eine leere Zeichenfolge zurück, da sie eine ungültige Positionstart_indexhat.

  • Die Funktionsubstring('Citrix', 2, 4)gibttrzurück.

    In diesem Beispiel extrahiert die Funktion die Zeichen zwischen 2 und 4 Indexpositionen.

  • Die Funktionsubstring('Citrix', -3)gibtrixzurück.

    Wenn Sie Zeichen extrahieren möchten, die sich am Ende der Zeichenfolge befinden, geben Sie einen negativen Wert für dasstart_indexArgument an.

    In diesem Beispiel extrahiert die Funktion den Teilstring, der die letzten drei Zeichen in der Zeichenfolge enthält.

match()

Die Funktionmatch()ü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:

  • Diematch(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “A2_B2”)RenditenTrue.

  • Diematch(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_b2”)RenditenFalse.

  • Diematch(“^[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-comptype:ns::lbvserverproperties:name:sha256(lbserver-name)servicetype:SSLipv46:10.10.10.10

In diesem Beispiel wirdlbserver-nameals Hashzeichenfolge im ADC-Objekt angezeigt。

Diese Funktion kann auch Ausdrücke als Eingabe akzeptieren.

Beispiel:

components:-name:lbvserver-comptype:ns::lbvserverproperties:name:sha256($parameters.lb-appname)servicetype:SSLipv46:10.10.10.10

relate()

Die Funktionrelate()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_3description:"HelloWorldStyleBook."名称空间:com.citrix.adc.stylebooksschema-version:"1.0"version:"1.1"import-stylebooks:-名称空间:netscaler.nitro.configprefix:nsversion:"10.5"-名称空间:com.citrix.adc.stylebooksprefix:stlbversion:"1.0"parameters:-name:namesofserversdescription:"ProvidethenamesofLBVServers"type:string[]-name:listofipsdescription:"ProvidethelistofIPAddresses"type:string[]-name:list_of_keystype:string[]default:-"name"-"ip"substitutions:list_of_values:[$parameters.namesofservers,$parameters.listofips]components:-name:svc-comptype:objectproperties:svcdetails:relate($parameters.list_of_keys,$substitutions.list_of_values)-name:lb-comptype:ns::lbvserverrepeat:$components.svc-comp.properties.svcdetailsrepeat-item:svcdproperties:name:$svcd['name']servicetype:HTTPipv46:$svcd['ip']port:80

In diesem Beispiel:

  • Der Abschnittparametershat eine Liste namenslist_of_keys, dienameundipenthält.

  • Der Abschnittsubstitutionshat eine Liste namenslist_of_values, die die folgenden zwei Listen enthält:

    • Eine Liste von virtuellen Servernamen (string)
    • Eine Liste von IP-Adressen (string).

Die integrierte Funktionrelate()akzeptiertlist_of_keysundlist_of_valuesals 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"]

und eine Liste der IP-Adressen virtueller Server als:

["1.1.1.1","2.2.3.3"]

Dierelate()Funktion gibt dann die folgenden Listen zurück:

[{"name":"lb1","ip":"1.1.1.1"},{"name":"lb2","ip":"2.2.3.3"}]

Das StyleBook wiederholt diese Liste von Wörterbuchobjekten im Abschnittcomponents, um die entsprechenden virtuellen Server zu erstellen.

mehrfach ()

Die Funktionmultiple()hat zwei Argumente:

Argument 1: anumberstring,boolean,ipaddress,tcp-port, oderpassword

Argument 2: anumber

Die Funktionmultiple(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 Funktionmultiple(10.10.10.10, 3)gibt[10.10.10.10, 10.10.10.10, 10.10.10.10]zurück.

  • Die Funktionmultiple(8080, 4)gibt[8080, 8080, 8080, 8080]zurück.