Citrix Application Delivery Management service

Fonctions intégrées

Les expressions dans StyleBooks peuvent utiliser des fonctions intégrées.

Par exemple, vous pouvez utiliser la fonction intégrée, str () pour transformer un nombre en chaîne.

str ($parameters.order)

Ou, vous pouvez utiliser la fonction intégrée, int () pour transformer une chaîne en un entier.

int ($parameters.priority)

Voici la liste des fonctions intégrées prises en charge dans les expressions StyleBook avec des exemples de leur utilisation :

str ()

La fonction str () transforme l’argument d’entrée en une valeur de chaîne.

Types d’arguments autorisés :

  • string
  • chiffre
  • Port TCP
  • booléen
  • Adresse IP

Exemples :

  • “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()

La fonction int() prend une chaîne, un nombre ou un tcpport comme argument et renvoie un entier.

Exemples :

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

bool()

La fonction bool() prend n’importe quel type comme argument. Si la valeur de l’argument est false, vide ou inexistante, cette fonction renvoie false.

Sinon, il retourne vrai.

Exemples :

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

len()

La fonction len() prend une chaîne ou une liste comme argument, et renvoie le nombre de caractères dans une chaîne ou le nombre d’éléments dans une liste.

Exemple 1 :

Si vous définissez une substitution comme suit :

items: [« 123”, « abc », « xyz »]

len($substitutions.items) returns 3

Exemple 2 :

len(“netscaler mas”) returns 13

Exemple 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()

La fonction min() prend une liste ou une série de nombres ou tcp-ports comme arguments, et renvoie le plus petit élément.

Exemples avec une série de numéros/ports tcp :

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

Exemples avec une liste de numéros/tcp-ports :

  • Support $parameters.ports est une liste de tcp-ports et a la valeur : [80, 81, 8080].

    min($parameters.ports) returns 80.

max()

La fonction max () prend une liste ou une série de nombres ou tcp-ports comme arguments, et renvoie l’élément le plus grand.

Exemples avec une série de numéros/ports tcp :

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

Exemples avec une liste de numéros/tcp-ports :

  • Support $parameters.ports est la liste des ports tcp-et a une valeur : [80, 81, 8080].

    max($parameters.ports) returns 8080.

bin()

La fonction bin() prend un nombre comme argument, et renvoie une chaîne qui représente le nombre au format binaire.

Exemples d’expressions :

bin(100) returns “0b1100100”

oct()

La fonction oct() prend un nombre comme argument, et renvoie une chaîne qui représente le nombre au format octal.

Exemples d’expressions :

oct(100) returns “0144”

hex()

La fonction hex() prend un nombre comme argument, et renvoie une chaîne minuscule qui représente le nombre au format hexadécimal.

Exemples d’expressions :

hex(100) returns “0x64”

lower()

La fonction lower() prend une chaîne comme argument et renvoie la même chaîne en minuscules.

Exemple :

lower(“MAS”) returns “mas”

upper()

La fonction upper() prend une chaîne comme argument et renvoie la même chaîne en majuscules.

Exemple :

upper(“netscaler_mas”) returns “NET SCALER_MAS”

sum()

La fonction sum() prend une liste de nombres ou tcpports comme arguments et renvoie la somme des nombres dans la liste.

Exemple 1 :

Si vous définissez une substitution comme suit : substitutions :

  • liste de numéros :

    • 11
    • 22
    • 55

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

Exemple 2 :

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

pow()

La fonction pow() prend deux nombres comme arguments et renvoie un nombre qui représente le premier argument soulevé à la puissance du second.

Exemple :

pow(3,2) returns 9

ip()

La fonction ip prend une chaîne ou une ipaddress comme argument renvoie l’adresse IP en fonction de la valeur d’entrée.

Exemples :

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

base64.encode()

La fonction base64.encode() prend un argument de chaîne et renvoie la chaîne encodée base64.

Exemple :

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

base64.decode()

La fonction base64.decode prend la chaîne codée base64 comme argument et renvoie la chaîne décodée.

Exemple :

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

exists()

La fonction existe prend un argument de n’importe quel type et renvoie un booléen. La valeur renvoyée est True si l’entrée a une valeur quelconque. La valeur renvoyée est False Si l’argument d’entrée n’a pas de valeur (c’est-à-dire pas de valeur).

Considérez que $parameters.monitor est un paramètre facultatif. Si vous fournissez une valeur à ce paramètre lors de la création d’un configpack, existe ($parameters.monitor) renvoie True.

Sinon, il renvoie False.

filter()

La fonction filter() prend deux arguments.

Argument 1 : fonction de substitution qui prend un argument et renvoie une valeur booléenne.

Argument 2 : une liste.

La fonction renvoie un sous-ensemble de la liste d’origine où chaque élément est évalué à « True » lorsqu’il est passé à la fonction de substitution dans le premier argument.

Exemple :

Supposons que nous ayons défini une fonction de substitution comme suit.

substitutions :

x(a): $a != 81

Cette fonction renvoie True si la valeur d’entrée n’est pas égale à 81. Sinon, il renvoie False.

Supposons :

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

filter ($substitutions.x, $parameters.ports) renvoie [80, 89] en supprimant toutes les occurrences de 81 de la liste.

if-then-else()

La fonction if-then-else() prend trois arguments.

Argument 1 : Expression booléenne

Argument 2 : Toute expression

Argument 3 : Toute expression (facultatif)

Si l’expression de l’argument 1 est évaluée à True, la fonction renvoie la valeur de l’expression fournie en argument 2.

Sinon, si l’argument 3 est fourni, la fonction renvoie la valeur de l’expression dans l’argument 3.

Si l’argument 3 n’est pas fourni, la fonction ne renvoie aucune valeur.

Exemple 1 :

if-then-else($parameters.servicetype == HTTP, 80, 443) returns “80” if $parameters.servicetype has value “HTTP.” Sinon, la fonction renvoie “443”.

Exemple 2 :

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

Sinon, la fonction renvoie la valeur de « $parameters.sport. »

Exemple 3 :

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

Sinon, la fonction ne renvoie aucune valeur.

join()

La fonction join() prend deux arguments :

Argument 1 : liste de nombres, ports tcp, chaînes ou adresses IP

Argument 2 : chaîne de délimiteur (facultatif)

La fonction joint les éléments de la liste fournie comme argument un dans une chaîne, où chaque élément est séparé par la chaîne de délimiteur fournie en argument deux. Si l’argument deux n’est pas fourni, alors les éléments de la liste sont joints ensemble en une seule chaîne.

Exemple :

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

    • Avec l’argument de délimiteur :

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

    • Sans argument de délimiteur :

      join($parameters.ports) returns “818283”

map()

La fonction de map prend deux arguments ;

Argument 1 : N’importe quelle fonction

Argument 2 : Une liste d’éléments.

La fonction renvoie une liste où chaque élément de la liste est le résultat de l’application de la mapfunction (argument un) à l’élément correspondant dans l’argument deux.

Fonctions autorisées dans l’argument 1 :

  • Fonctions intégrées qui prennent un argument :

    base64.encode, base64.decode, bin, bool, exists, hex, int, ip, len, lower, upper, oct, quotewrap, str, trim, upper, url.encode, url.decode

  • Fonctions de substitution qui prennent au moins un argument.

Exemple :

Supposons que $parameters.nums soit [81, 82, 83].

  • Mapper à l’aide d’une fonction intégrée, str

    map(str, $parameters.nums) renvoie [“81”, “82”, “83”]

    Le résultat de la fonction map est la liste des chaînes où chaque élément est une chaîne est calculée en appliquant la fonction str sur l’élément correspondant dans la liste d’entrée ($parameters.nums).

  • Mapper à l’aide d’une fonction de substitution

    • Substitutions :

      add-10(port): $port + 10

    • Expression :

      map($substitutions.add-10,

      $parameters.nums) retourne une liste de nombres : [ 91, 92, 93 ]

Le résultat de cette fonction de carte est une liste de nombres, chaque élément est calculé en appliquant la fonction de substitution $substitutions.add-10 sur l’élément correspondant dans la liste d’entrée ($parameters.nums).

quotewrap()

La fonction quotewrap prend une chaîne comme argument et renvoie une chaîne après avoir ajouté un caractère guillemet avant et après la valeur d’entrée.

Exemple :

quotewrap(“mas”) renvoie ““mas””

replace()

La fonction replace prend trois arguments :

Argument 1 : chaîne

Argument 2 : chaîne

Argument 3 : chaîne (facultatif)

La fonction remplace toutes les occurrences de l’argument deux par l’argument trois dans l’argument un.

Si l’argument trois n’est pas fourni, toutes les occurrences de l’argument deux sont supprimées de l’argument un (en d’autres termes, remplacées par une chaîne vide).

Remplacez une sous-chaîne par une autre sous-chaîne :

  • replace(‘abcdef’, ‘def’, ‘xyz’) renvoie “abcxyz”.
    • Toutes les occurrences de « def » sont remplacées par « xyz ».
  • replace(‘abcdefabc’, ‘def’) renvoie “abcabc”.
    • Comme il n’y a pas de troisième argument, « def » est supprimé de la chaîne résultante.

trim()

La fonction trim renvoie une chaîne dans laquelle les espaces de début et de fin sont supprimés de la chaîne d’entrée.

Exemple :

trim(‘ abc ‘) renvoie “abc”

truncate()

La fonction truncate prend deux arguments :

Argument 1 : chaîne

Argument 2 : nombre

La fonction renvoie une chaîne dans laquelle la chaîne d’entrée dans l’argument un est tronquée à la longueur spécifiée par l’argument deux.

Exemple :

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

url.encode

La fonction url.encode renvoie une chaîne dans laquelle les caractères sont transformés en utilisant un jeu de caractères ASCII selon RFC 3986.

Exemple :

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

url.decode

La fonction url.decode renvoie une chaîne dans laquelle l’argument encodé URL est décodé dans une chaîne régulière selon RFC 3986.

Exemple :

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

is_ipv4()

La fonction is_ipv4() prend une adresse IP comme argument et renvoie « true » si l’adresse IP est au format IPv4.

is_ipv4(10.10.10.10) renvoie “True”

is_ipv6()

La fonction is_ipv6() prend une adresse IP comme argument et renvoie « true » si l’adresse IP est au format IPv6.

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

startswith()

La fonction startswith() détermine si une chaîne commence par un préfixe donné. Cette fonction nécessite deux arguments de chaîne obligatoires.

startswith(str, sub_str)

Cette fonction retourne True lorsque la chaîne (str) commence par la sous-chaîne (sub_str).

Exemple :

  • startswith('Citrix', 'Ci') - renvoie True
  • startswith('Citrix', 'iC') - renvoie False
  • startswith('Citrix', 'Ab') - renvoie False

endswith()

La fonction endswith() détermine si une chaîne se termine par un suffixe donné. Cette fonction nécessite deux arguments de chaîne obligatoires.

endswith(str, sub_str)

Cette fonction retourne True lorsque la chaîne (str) se termine par la sous-chaîne (sub_str).

Exemple :

  • endswith('Citrix', 'ix') - renvoie True
  • endswith('Citrix', 'Ix') - renvoie False
  • endswith('Citrix', 'ab') - renvoie False

contains()

La fonction contains() détermine si une chaîne contient une sous-chaîne donnée. Cette fonction nécessite deux arguments de chaîne obligatoires.

contains(str, sub_str)

Cette fonction renvoie True lorsque la sous-chaîne (sub_str) est contenue n’importe où à l’intérieur de la chaîne (str).

Exemple :

  • contains('Citrix', 'tri') - renvoie True
  • contains('Citrix', 'Ci') - renvoie True
  • contains('Citrix', 'ti') - renvoie False

substring()

Utilisez la fonction substring() pour extraire une sous-chaîne d’une chaîne.

substring(str, start_index, end_index)

Cette fonction nécessite les deux arguments obligatoires et un argument entier facultatif.

  • str (Obligatoire)
  • start_index (Obligatoire)
  • end_index (Facultatif)

Cette fonction renvoie la sous-chaîne de la chaîne (str) qui se trouve entre les positions d’index spécifiées. Si vous ne spécifiez pas la position de l’index de fin, la fonction extrait la sous-chaîne de l’index de début à la fin de la chaîne.

Remarque

Lorsque vous spécifiez end_index, la sous-chaîne exclut le caractère à la position end_index.

Exemple :

  • substring('Citrix', 2) - renvoie trix

  • substring('Citrix', 10) - renvoie (")

    Dans cet exemple, fonction renvoie une chaîne vide. Parce que la position start_index n’est pas valide.

  • substring('Citrix', 2, 4) - renvoie tr

    Dans cet exemple, la fonction extrait les caractères entre 2 et 4 positions d’index.

  • substring('Citrix', -3) - renvoie rix

    Si vous souhaitez extraire les caractères qui se trouvent à la fin de la chaîne, spécifiez une valeur négative pour l’argument start_index.

    Dans cet exemple, la fonction extrait la sous-chaîne qui inclut les trois derniers caractères de la chaîne.