Integrierte Funktionen

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

Zum Beispiel können Sie die integrierte Funktion str() verwenden, um eine Zahl in eine Zeichenfolge zu transformieren.

str($parameters.order)

Oder Sie können die integrierte Funktion int() verwenden, um eine Zeichenfolge in eine ganze Zahl zu transformieren.

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() wandelt das Eingabeargument in einen Zeichenfolgenwert um.

Zulässige Argumenttypen:

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

Beispiele:

  • “set-“ + str(10) returns “set-10”
  • str(10) returns “10”
  • str(1.1.1.1) returns “1.1.1.1”
  • str(T rue) returns “T rue”
  • str(mas) returns “mas”

int()

Die int() Funktion nimmt einen String, eine Zahl oder tcpport als Argument und gibt eine ganze Zahl zurück.

Beispiele:

  • int(“10”) returns 10
  • int(10) returns 10

bool()

Die bool() Funktion nimmt einen beliebigen Typ als Argument. Wenn der Argumentwert falsch, leer oder nicht vorhanden ist, gibt diese Funktion false zurück.

Andernfalls wird true zurückgegeben.

Beispiele:

  • bool(true) returns “true”
  • bool(false) returns “false”
  • bool($parameters.a) returns false if the
  • $parameters.a is false, empty, or not present.

len()

Die Funktion len() nimmt 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”]

len($substitutions.items) returns 3

Beispiel 2:

len(“netscaler mas”) returns 13

Beispiel 3:

len($parameters.vips) returns 3 if $parameters.vip is assigned a value [‘1.1.1.1’, ‘1.1.1.2’, ‘1.1.1.3’]

min()

Die min() Funktion nimmt 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:

  • min(80, 100, 1000) returns 80
  • min(-20, 100, 400) returns -20
  • min(-80, -20, -10) returns -80
  • min(0, 100, -400) returns -400

Beispiele mit einer Liste von Zahlen/TCP-Ports:

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

    min($parameters.ports) returns 80.

max()

Die Funktion max() nimmt 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:

  • max(80, 100, 1000) returns 1000
  • max(-20, 100, 400) returns 400
  • max(-80, -20, -10) returns -10
  • max(0, 100, -400) returns 100

Beispiele mit einer Liste von Zahlen/TCP-Ports:

  • Die Unterstützung $parameters.ports ist die Liste der tcp-ports und hat den Wert: [80, 81, 8080].

    max($parameters.ports) returns 8080.

bin()

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

Beispiele für Ausdrücke:

bin(100) returns “0b1100100”

oct()

Die Funktion oct() nimmt eine Zahl als Argument und gibt eine Zeichenfolge zurück, die die Zahl im Oktalformat darstellt.

Beispiele für Ausdrücke:

oct(100) returns “0144”

hex()

Die hex() -Funktion nimmt eine Zahl als Argument und gibt eine Kleinbuchstabe zurück, die die Zahl im hexadezimalen Format darstellt.

Beispiele für Ausdrücke:

hex(100) returns “0x64”

lower()

Die lower() Funktion nimmt eine Zeichenfolge als Argument und gibt die gleiche Zeichenfolge in Kleinbuchstaben zurück.

Beispiel:

lower(“MAS”) returns “mas”

upper()

Die Funktion upper() nimmt eine Zeichenfolge als Argument und gibt die gleiche Zeichenfolge in Großbuchstaben zurück.

Beispiel:

upper(“netscaler_mas”) returns “NET SCALER_MAS”

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

    sum($substitutions.list-of-numbers) returns 88

Beispiel 2:

If $parameters.ports is [80, 81, 82], sum($parameters.ports) returns 243

pow()

Die Funktion pow() nimmt zwei Zahlen als Argumente und gibt eine Zahl zurück, die das erste Argument auf die Potenzstärke des zweiten darstellt.

Beispiel:

pow(3,2) returns 9

ip()

Die IP-Funktion nimmt eine Zeichenfolge oder eine IP-Adresse als Argument gibt die IP-Adresse basierend auf dem Eingabewert zurück.

Beispiele:

  • ip(“2.1.1.1”) returns “2.1.1.1”
  • ip(3.1.1.1) returns “3.1.1.1”

base64.encode()

Die base64.encode() Funktion nimmt ein String-Argument und gibt die base64-codierte Zeichenfolge zurück.

Beispiel:

base64.encode(“abcd”) returns “YWJjZA==”

base64.decode()

Die base64.decode-Funktion nimmt base64-codierte Zeichenfolge als Argument und gibt die decodierte Zeichenfolge zurück.

Beispiel:

base64.decode(“YWJjZA==”) returns “abcd”

exists()

Die Funktion exists nimmt ein Argument eines beliebigen Typs und gibt einen Booleschen Wert zurück. Der Rückgabewert ist True, wenn die Eingabe einen beliebigen Wert hat. Der Rückgabewert ist False Wenn das Eingabeargument keinen Wert hat (d. h. keinen Wert).

Beachten Sie, dass $parameters.monitor ein optionaler Parameter ist. Wenn Sie diesen Parameter beim Erstellen eines configpacks einen Wert angeben, gibt exists ($parameters.monitor) True zurück.

Andernfalls wird False zurückgegeben.

filter()

Die Funktion filter() nimmt zwei Argumente an.

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, in der jedes Element auf 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 81 ist. Andernfalls wird False zurückgegeben.

Angenommen,…

$parameters.ports is [81, 80, 81, 89]

filter($substitutions.x, $parameters.ports) returns [80, 89] by removing all occurrences of 81 from the list.

if-then-else()

Die Funktion if-then-else() nimmt drei Argumente.

Argument 1: Boolescher Ausdruck

Argument 2: Beliebiger Ausdruck

Argument 3: Beliebiger Ausdruck (optional)

Wenn der Ausdruck in Argument 1 den Wert True ergibt, gibt die Funktion den Wert des als Argument 2 angegebenen 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, gibt die Funktion keinen Wert zurück.

Beispiel 1:

if-then-else($parameters.servicetype == HTTP, 80, 443) returns “80” if $parameters.servicetype has value “HTTP.” Andernfalls gibt die Funktion 443” zurück.

Beispiel 2:

if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) returns the value of “$parameters.hport” if $parameters.servicetype has value “HTTP.”

Andernfalls gibt die Funktion den Wert von $parameters.sport.

Beispiel 3:

if-then-else($parameters.servicetype == HTTP, 80) returns “80” if $parameters.servicetype has value “HTTP.”

Andernfalls gibt die Funktion keinen Wert zurück.

join()

Die Funktion join() nimmt zwei Argumente:

Argument 1: Liste von Zahlen, tcp-ports, Strings oder ipaddresses

Argument 2: Trennzeichenfolge (optional)

Die Funktion verbindet die Elemente der Liste, die als Argument 1 zur Verfügung gestellt wird, in einer Zeichenfolge, wobei jedes Element durch die Trennzeichenfolge getrennt wird, die als Argument zwei bereitgestellt wird. Wenn Argument zwei nicht angegeben wird, werden Elemente in der Liste als eine Zeichenfolge miteinander verbunden.

Beispiel:

  • $parameters.ports is [81, 82, 83].

    • Mit Trennzeichen Argument:

      join($parameters.ports, ‘-‘) returns “81-82-83”

    • Ohne Trennzeichen Argument:

      join($parameters.ports) returns “818283”

map()

Die Kartenfunktion nimmt zwei Argumente an;

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 mapfunction (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

    map(str, $parameters.nums) returns [“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:

      map($substitutions.add-10,

      $parameters.nums) returns a list of numbers: [ 91, 92, 93 ]

Das Ergebnis dieser Kartenfunktion ist eine Liste von Zahlen, jedes Element wird berechnet, indem die Substitutionsfunktion $substitutions.add-10 auf das entsprechende Element in der Eingabeliste ($parameters.nums) angewendet wird.

quotewrap()

Die quotewrap Funktion nimmt eine Zeichenfolge als Argument und gibt eine Zeichenfolge zurück, nachdem doppelte Anführungszeichen vor und nach dem Eingabewert hinzugefügt wurde.

Beispiel:

quotewrap(“mas”) returns ““mas””

replace()

Die Funktion replace verwendet drei Argumente:

Argument 1: Zeichenfolge

Argument 2: Zeichenfolge

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 Argument 1 entfernt (mit anderen Worten, durch leere Zeichenfolge ersetzt).

Ersetzen Sie eine Teilzeichenfolge durch eine andere Teilzeichenfolge:

  • replace(‘abcdef’, ‘def’, ‘xyz’) returns “abcxyz”.
    • Alle Vorkommen von def werden durch xyz ersetzt.
  • replace(‘abcdefabc’, ‘def’) returns “abcabc”.
    • Da es kein drittes Argument gibt, wird def aus der resultierenden Zeichenfolge entfernt.

trim()

Die Trim-Funktion gibt einen String zurück, in dem die führenden und nachfolgenden Leerzeichen aus der Eingabezeichenfolge entfernt werden.

Beispiel:

trim(‘ abc ‘) returns “abc”

truncate()

Die Funktion truncate nimmt zwei Argumente an:

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:

truncate(‘netscaler mas’, 9) returns “netscaler”

url.encode

Die Funktion url.encode gibt einen String zurück, in dem Zeichen mit ASCII-Zeichensatz gemäß RFC 3986 transformiert werden.

Beispiel:

url.encode(“a/b/c”) returns “a%2Fb%2Fc”

url.decode

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

Beispiel:

url.decode(“a%2Fb%2Fc”) returns “a/b/c”

is_ipv4()

Die Funktion is_ipv4() verwendet eine IP-Adresse als Argument und gibt true zurück, wenn die IP-Adresse im IPv4-Format ist.

is_ipv4(10.10.10.10) returns “True”

is_ipv6()

Die Funktion is_ipv6() verwendet eine IP-Adresse als Argument und gibt true zurück, wenn die IP-Adresse im IPv6-Format ist.

is_ipv6(2001:DB8::) returns “True”