StyleBook-Konfiguration

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 die Liste der integrierten Funktionen, die in StyleBook-Ausdrücken unterstützt werden, mit Beispielen, wie sie verwendet werden können:

str()

Die Funktion str() transformiert das Eingabeargument in einen String-Wert.

Zulässige Argumenttypen:

  • string
  • number
  • TCP-port
  • boolean
  • IP address

Beispiele:

  • Die Funktion "set-" + str(10) gibt "set-10" zurück.
  • Die Funktion str(10) gibt 10 zurück.
  • Die Funktion str(1.1.1.1) gibt 1.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 Funktion int() verwendet eine Zeichenfolge, eine Zahl, eine IP-Adresse oder tcpport als Argument und gibt eine Ganzzahl zurück.

Beispiele:

  • Die Funktion int("10") gibt 10 zurück.
  • Die Funktion int(10) gibt 10 zurück.
  • Die Funktion int(ip('0.0.4.1')) gibt 1025 zurück.

bool()

Die Funktion bool() 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) gibt true zurück.
  • Die Funktion bool(false) gibt false zurück.
  • Die Funktion bool($parameters.a) gibt false zurück, wenn $parameters.a den Wert false hat, leer oder nicht vorhanden ist.

len()

Die Funktion len() verwendet eine Zeichenfolge oder eine Liste als Argument und gibt die Anzahl der Zeichen in einer Zeichenfolge oder die Anzahl der Elemente in einer Liste zurück.

Beispiel 1:

Wenn Sie eine Substitution wie folgt definieren:

items: ["123", "abc", "xyz"]

Die Funktion len($substitutions.items) gibt 3 zurück.

Beispiel 2:

Die Funktion len("Citrix ADM") 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 Zahlen/TCP-Ports:

  • Die Funktion min(80, 100, 1000) gibt 80 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:

  • Support $parameters.ports ist eine Liste von tcp-ports und hat Werte: [80, 81, 8080].

    Die Funktion min($parameters.ports) gibt 80 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 Zahlen/TCP-Ports:

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

Beispiele mit einer Liste von Zahlen/TCP-Ports:

  • Unterstützung $parameters.ports ist Liste von tcp-ports und hat Werte: [80, 81, 8080].

    Die Funktion max($parameters.ports) gibt 8080 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 Funktion hex() 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 Funktion upper() verwendet eine Zeichenfolge als Argument und gibt dieselbe Zeichenfolge in Großbuchstaben zurück.

Beispiel:

Die Funktion upper("Citrix ADM") gibt CITRIX ADM zurück.

sum()

Die Funktion sum() 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 $parameters.ports den Wert [80, 81, 82] hat, gibt die Funktion sum($parameters.ports) das Ergebnis 243 zurück.

pow()

Die Funktion pow() 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 Funktion ip an:

    Die Funktion ip(3.1.1.1) gibt 3.1.1.1 zurück.

  • Geben Sie eine Zeichenfolge in der Funktion ip an:

    Die Funktion ip('2.1.1.1') gibt 2.1.1.1 zurück.

  • Geben Sie eine Ganzzahl in der Funktion ip an:

    • Die Funktion ip(12) gibt 0.0.0.12 zurück.

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

      Die Funktion ip('1025') gibt 0.0.4.1 zurück.

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

    • Addition: Die Funktion ip(1025) + ip(12) gibt 0.0.4.13 zurück.

    • Subtraktion: Die Funktion ip('1025') - ip(12) gibt 0.0.3.245 zurück.

    • Kombinieren Sie Addition und Subtraktion: Die ip('1.1.1.1') + ip('1.1.1.1') – ip(2) Renditen 2.2.2.0.

ip_network()

Die Funktion ip_network verwendet IP-Adresse und Netzwerkmaskenlänge als Argumente und gibt eine IP-Netzwerknotation zurück.

Example-1:

Die Funktion ip_network(1.1.1.1, 28) gibt 1.1.1.1/28 zurück.

Example-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.

Example-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 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.0die erste IP-Adresse im angegebenen Netzwerk.

subnets()

Die Funktion subnets() gibt die Liste der Subnetze des angegebenen IP-Netzwerks und der Netzwerkmaskenlä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 Funktion netmask_ip() gibt die Netzwerkmasken-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 Funktion is_netmask_ip() akzeptiert 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 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 ipnetwork als Eingabe. Und gibt True zurück, wenn der angegebene Wert mit der CIDR-Notation des IP-Netzwerks übereinstimmt.

Example-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.

Example-2:

Die Funktion is_cidr(1.1.1.1/28) gibt False zurück, da sich die CIDR-Notation des angegebenen Netzwerks von dem angegebenen Wert unterscheidet.

is_in_network()

Die Funktion is_in_network() akzeptiert die Werte ipnetwork und ipaddress. Und gibt True zurück, wenn die angegebene IP-Adresse im angegebenen IP-Netzwerk vorhanden ist.

Example-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.

Example-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 Funktion base64.encode() 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 Funktion base64.decode 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 $parameters.monitor ein optionaler Parameter ist. Wenn Sie beim Erstellen eines Konfigurationspakets einen Wert für diesen Parameter angeben, gibt die Funktion ($parameters.monitor) den Wert True zurück.

Ansonsten kehrt es zurück False.

filter()

Die Funktion filter() 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, bei der jedes Element als True ausgewertet wird, wenn es an die Substitutionsfunktion im ersten Argument übergeben 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].

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() 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 Funktion if-then-else($parameters.servicetype == HTTP, 80, 443) gibt 80 zurück, wenn $parameters.servicetype den Wert HTTP hat. 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:

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() 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 Funktion join($parameters.ports, '-') gibt 81-82-83 zurück.

    • Ohne Trennzeichen Argument:

      Die Funktion join($parameters.ports) gibt 818283 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 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:

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 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, wobei jedes Element durch Anwendung der Substitutionsfunktion $substitutions.add-10 auf das entsprechende Element in der Eingabeliste ($parameters.nums) berechnet 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 "mas" zurück.

replace()

Die Funktion replace() 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 Funktion replace('abcdef', 'def', 'xyz') gibt abcxyz zurück.

    Alle Vorkommnisse von def werden durch xyz ersetzt.

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

    Da es kein drittes Argument gibt, wird def 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 Funktion replace('An#example@to%replace!characters', $parameters.spl_chars, '_') gibt An_example_to_replace_characters zurück.

Die Ausgabezeichenfolge hat einen Unterstreichungsstrich (_) anstelle der in der Liste $parameters.spl_chars angegebenen Zeichen.

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: Zeichenfolge

Argument 2: Zahl

Die Funktion gibt einen String zurück, bei dem die Eingabezeichenfolge in Argument eins auf die durch Argument zwei angegebene Länge gekürzt wird.

Beispiel:

truncate('Citrix ADM', 6) gibt Citrix zurück.

distinct()

Die Funktion distinct() 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 Funktion url.encode() 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.

is-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.

is-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') gibt True zurück.
  • Die Funktion startswith('Citrix', 'iC') gibt False zurück.
  • Die Funktion startswith('Citrix', 'Ab') gibt False 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') gibt True zurück.
  • Die Funktion endswith('Citrix', 'Ix') gibt False zurück.
  • Die Funktion endswith('Citrix', 'ab') gibt False zurück.

contains()

Die Funktion contains() ermittelt, ob ein String einen bestimmten Teilstring enthält. Diese Funktion erfordert zwei obligatorische Zeichenfolgenargumente.

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') gibt True zurück.
  • Die Funktion contains('Citrix', 'Ci') gibt True zurück.
  • Die Funktion contains('Citrix', 'ti') gibt False 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() den Wert True zurück, weil die Liste das Values-Element enthält.

Zulässige Argumenttypen:

  • string
  • number
  • TCP-port
  • boolean
  • IP address

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 Position end_index aus.

Beispiel:

  • Die Funktion substring('Citrix', 2) gibt trix zurück.

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

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

  • Die Funktion substring('Citrix', 2, 4) gibt tr zurück.

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

  • Die Funktion substring('Citrix', -3) gibt rix zurück.

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

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

‘Spiel () ‘

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:

  • match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “A2_B2”) gibt True zurück.

  • match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_b2”) gibt False zurück.

  • match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_B2”, $parameters.ignore_case) gibt True 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 wird lbserver-name als Hashzeichenfolge im ADC-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-->

‘verwandt () ‘

Verwenden Sie diese Funktion, um aus einer Menge von Listen ein Dictionary-Objekt zu bilden. Es akzeptiert zwei Argumente. Das erste Argument ist eine Liste von Schlüsselnamen für das Dictionary-Objekt. Das zweite Argument ist eine Liste von Listen, wobei jede Liste die Werte für den entsprechenden Schlüsselnamen in der Liste des ersten Arguments enthält.

Beispiel:

parameters:
    -
        name: server1
        type: string[]
    -
        name: server2
        type: string[]
    -
        name: list_of_keys
        type: string[]
        default:
            - "name"
            - "type"
            - "ip"
            - "port"

substitutions:
    list_of_servers: [$parameters.server1,$parameters.server2]

components:
    -
        name: svc-comp
        type: object
        properties:
            svcdetails: relate($parameters.list_of_keys,$substitutions.list_of_servers)
    -
        name: lb-comp
        type: ns::lbvserver
        repeat: $components.svc-comp.properties.svcdetails
        repeat-item: svcd
        properties:
            name: $svcd['name']
            servicetype: $svcd['type']
            ipv46: $svcd['ip']
            port: $svcd['port']
<!--NeedCopy-->

Dieses Beispiel hat zwei Listen:

  • In dem Abschnitt parameters ist list_of_keys definiert, es enthält name, type, ip und port. Beim Erstellen eines Konfigurationspakets stellt der StyleBook-Benutzer diese Werte bereit.
  • Der Abschnitt substitutions enthält list_of_servers, auf die Sie die Werte anwenden möchten.

Die Funktionrelate() übernimmt die Eingabe von list_of_keys und gilt für entsprechende Elemente in list_of_servers.

Wenn der StyleBook-Benutzer die folgenden Werte angibt:

[["lb1","http","1.1.2.2","80"],["lb2","ssl","2.2.3.3","443"]]
<!--NeedCopy-->

Die Funktion relate() gibt jeweils Folgendes an jeden Server zurück:

[{"name":"lb1","type":"http","ip":"1.1.2.2","port":"80"},{"name":"lb2","type":"ssl","ip":"2.2.3.3","port":"443"}
<!--NeedCopy-->