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 str() fonction transforme l’argument input en une valeur de chaîne.

Types d’arguments autorisés :

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

Exemples :

  • La "set-" + str(10) fonction renvoie "set-10".
  • La str(10) fonction renvoie 10.
  • La str(1.1.1.1) fonction renvoie 1.1.1.1.
  • La str(T rue) fonction renvoie "T rue".
  • La str(ADM) fonction renvoie "mas".

int()

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

Exemples :

  • La int("10") fonction renvoie 10.
  • La int(10) fonction renvoie 10.
  • La int(ip('0.0.4.1')) fonction renvoie 1025.

bool()

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

Sinon, il retourne true.

Exemples :

  • La bool(true) fonction renvoie true.
  • La bool(false) fonction renvoie false.
  • La bool($parameters.a) fonction renvoie false si le $parameters.a est false, vide ou absent.

len()

La len() fonction 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 d’une liste.

Exemple 1 :

Si vous définissez une substitution comme suit :

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

La len($substitutions.items) fonction renvoie 3

Exemple 2 :

La len("Citrix ADM") fonction renvoie 10.

Exemple 3 :

Si $parameters.vips a des valeurs ['1.1.1.1', '1.1.1.2', '1.1.1.3'], la len($parameters.vips) fonction renvoie 3.

min()

La min() fonction prend soit une liste, soit 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 :

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

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

  • $parameters.ports Le support est une liste de tcp-ports et a des valeurs : [80, 81, 8080].

    La min($parameters.ports) fonction renvoie 80.

max()

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

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

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

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

  • $parameters.ports Le support est la liste de tcp-ports et a des valeurs : [80, 81, 8080].

    La max($parameters.ports) fonction renvoie 8080.

bin()

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

Exemples d’expressions :

La bin(100) fonction renvoie 0b1100100.

oct()

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

Exemples d’expressions :

La oct(100) fonction renvoie 0144.

hex()

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

Exemples d’expressions :

La hex(100) fonction renvoie 0x64.

lower()

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

Exemple :

La lower("ADM") fonction renvoie adm.

upper()

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

Exemple :

La upper("Citrix ADM") fonction renvoie CITRIX ADM.

sum()

La sum() fonction 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 :

list-of-numbers = [11, 22, 55]

La sum($substitutions.list-of-numbers) fonction renvoie 88.

Exemple 2 :

Si $parameters.ports c’est [80, 81, 82], la sum($parameters.ports) fonction renvoie 243.

pow()

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

Exemple :

La pow(3,2) fonction renvoie 9.

ip()

La ip() fonction prend un entier, une chaîne ou une adresse IP comme argument et renvoie l’adresse IP en fonction de la valeur d’entrée.

Exemples :

  • Spécifiez une adresse IP dans la ip fonction :

    La ip(3.1.1.1) fonction renvoie 3.1.1.1.

  • Spécifiez une chaîne dans la ip fonction :

    La ip('2.1.1.1') fonction renvoie 2.1.1.1

  • Spécifiez un entier dans la ip fonction :

    • La ip(12) fonction renvoie 0.0.0.12.

    • Lorsque vous spécifiez un entier en tant que chaîne dans la ip fonction, il renvoie une adresse IP équivalente de l’entrée.

      La ip('1025') fonction renvoie 0.0.4.1.

    Cette fonction prend également en charge les opérations d’addition et de soustraction entières et renvoie une adresse IP résultante.

    • Addition : La ip(1025) + ip(12) fonction renvoie 0.0.4.13.

    • Soustraction : La ip('1025') - ip(12) fonction renvoie 0.0.3.245.

    • Combiner l’addition et la soustraction : Les ip('1.1.1.1') + ip('1.1.1.1') – ip(2) retours 2.2.2.0.

ip_network ()

La ip_network fonction prend l’adresse IP et la longueur du masque réseau comme arguments et renvoie une notation de réseau IP.

Example-1:

La ip_network(1.1.1.1, 28) fonction renvoie 1.1.1.1/28.

Example-2:

Considérez le réseau 1.1.1.1/30. La ip_network($parameters.ipaddr, 30) fonction renvoie 1.1.1.1.

Example-3:

Considérez le réseau 23.1.12.76/24. La ip_network(23.1.12.76, $parameters.netmask-len) fonction renvoie 24.

network_ip ()

La network_ip() fonction renvoie la première adresse IP du réseau IP spécifié.

Exemple :

La network_ip(1.1.1.1/28) fonction renvoie 1.1.1.0. Dans cet exemple, 1.1.1.0 est la première adresse IP du réseau donné.

sous-réseaux ()

La subnets() fonction renvoie la liste des sous-réseaux à partir du réseau IP spécifié et de la longueur du masque de réseau.

Exemple :

La subnets(1.1.1.1/28, 30) fonction renvoie la liste des sous-réseaux à partir du réseau IP et de la longueur du masque de réseau donnés. La sortie peut être la suivante :

[1.1.1.0/30', '1.1.1.4/30', '1.1.1.8/30', '1.1.1.12/30']

netmask_ip ()

La netmask_ip() fonction renvoie l’adresse IP du masque de réseau pour le réseau IP spécifié.

Exemple :

La netmask_ip(1.1.1.1/28) fonction renvoie 255.255.255.0. Dans le réseau IP donné, 255.255.255.0 est l’adresse IP du masque de réseau.

broadcast_ip ()

La broadcast_ip() fonction renvoie l’adresse IP de diffusion pour le réseau IP spécifié.

Exemple :

La broadcast_ip(1.1.1.1/28) fonction renvoie 1.1.1.15. Dans le réseau donné, 1.1.1.1 est l’adresse IP de diffusion.

cidr ()

La cidr() fonction renvoie la notation CIDR pour le réseau IP spécifié.

Exemple :

La cidr(1.1.1.1/28) fonction renvoie le 1.1.1.0/28. Dans le réseau donné, 1.1.1.0/28 est la notation CIDR.

is_cidr ()

La is_cidr() fonction accepte un ipnetwork comme entrée. Et, il renvoie True si la valeur spécifiée correspond à la notation CIDR du réseau IP.

Example-1:

La is_cidr(1.1.1.0/24) fonction renvoie True car la valeur spécifiée est la notation CIDR du réseau donné.

Example-2:

La is_cidr(1.1.1.1/28) fonction renvoie False car la notation CIDR du réseau donné est différente de la valeur spécifiée.

is_in_network ()

La is_in_network() fonction accepte ipnetwork et ipaddress valeurs. Et, il renvoie True si l’adresse IP spécifiée existe dans le réseau IP spécifié.

Example-1:

La is_in_network(1.1.1.1/24, 1.1.1.121) fonction renvoie True car l’ 1.1.1.121 adresse fait partie du 1.1.1.1/24 réseau.

Example-2:

La is_in_network(1.1.1.1/28, 2.1.1.1) fonction renvoie Fasle car l’ 2.1.1.1 adresse ne fait pas partie du 1.1.1.1/28 réseau.

base64.encode()

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

Exemple :

La base64.encode("abcd") fonction renvoie YWJjZA==.

base64.decode()

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

Exemple :

La base64.decode("YWJjZA==") fonction renvoie abcd.

exists()

La exists() fonction 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 de retour est False Si l’argument input n’a pas de valeur (c’est-à-dire, aucune valeur).

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

Sinon, il retourne False.

filter()

La filter() fonction 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 retourne False.

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

Les filter($substitutions.x, $parameters.ports) retours [80, 89] en supprimant toutes les occurrences 81 de 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 tant qu’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 renvoie no.

Exemple 1 :

La if-then-else($parameters.servicetype == HTTP, 80, 443) fonction renvoie 80 si $parameters.servicetype a une valeur HTTP. Sinon, la fonction retourne 443.

Exemple 2 :

La if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) fonction renvoie la valeur de $parameters.hport if $parameters.servicetype a une valeur HTTP.

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

Exemple 3 :

Les if-then-else($parameters.servicetype == HTTP, 80) retours 80 si $parameters.servicetype a une valeur HTTP.

Sinon, la fonction ne renvoie aucune valeur.

join()

La join() fonction prend deux arguments :

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

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

Cette fonction rejoint les éléments de la liste fournie en 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, les éléments de la liste sont joints sous la forme d’une seule chaîne.

Exemple :

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

    • Avec l’argument de délimiteur :

      La join($parameters.ports, '-') fonction renvoie 81-82-83.

    • Sans argument de délimiteur :

      La join($parameters.ports) fonction renvoie 818283.

Split ()

La split() fonction divise une chaîne d’entrée en plusieurs listes en fonction des séparateurs spécifiés. Si aucun séparateur ou vide ('') n’est spécifié, cette fonction considère l’espace comme un séparateur et divise la chaîne en listes.

Exemples :

  • La split('Example_string_split', 's') fonction renvoie ['Example_','tring_','plit'].

  • La split('Example string split') fonction renvoie ['Example','string','split'].

  • La split('Example string split', '') fonction renvoie ['Example','string','split'].

  • La split('Example string') fonction renvoie ['Example','string'].

    Cette fonction considère les espaces continus comme un seul espace.

map()

La map() fonction 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 map() fonction (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

    La map(str, $parameters.nums) fonction 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 :

      La map($substitutions.add-10, $parameters.nums) fonction renvoie 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 quotewrap() fonction prend une chaîne comme argument et renvoie une chaîne après avoir ajouté un caractère de guillemets doubles avant et après la valeur d’entrée.

Exemple :

La quotewrap("ADM") fonction renvoie "mas"

replace()

La replace() fonction prend trois arguments :

Argument 1 : chaîne

Argument 2 : chaîne ou liste

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 1 (en d’autres termes, remplacées par une chaîne vide).

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

  • La replace('abcdef', 'def', 'xyz') fonction renvoie abcxyz.

    Toutes les occurrences de def sont remplacées par xyz.

  • replace('abcdefabc', 'def') retourne abcabc.

    Comme il n’y a pas de troisième argument, def est supprimé de la chaîne résultante.

Spécifiez la liste de caractères que vous souhaitez remplacer dans une chaîne.

$parameters.spl_chars = ['@', '#', '!', '%']

Cette liste contient les valeurs qui doivent être remplacées dans une chaîne d’entrée.

La replace('An#example@to%replace!characters', $parameters.spl_chars, '_') fonction renvoie An_example_to_replace_characters.

La chaîne de sortie comporte un trait de soulignement (_) au lieu des caractères spécifiés dans la $parameters.spl_chars liste.

trim()

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

Exemple :

La trim(' abc ') fonction renvoie abc.

truncate()

La truncate() fonction prend deux arguments :

Argument 1 : chaîne

Argument 2 : nombre

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

Exemple :

Les truncate('Citrix ADM', 6) retours Citrix.

distinct ()

La distinct() fonction extrait des éléments uniques d’une entrée de liste.

Exemples : Si $parameters.input_list c’est ['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX'], la distinct($parameters.input_list) fonction renvoie ['ADM', 'ADC', 'VPX', 'CPX'].

url.encode ()

La url.encode() fonction renvoie une chaîne où les caractères sont transformés en utilisant le jeu de caractères ASCII selon RFC 3986.

Exemple :

La url.encode("a/b/c") fonction renvoie a%2Fb%2Fc.

url.decode ()

La url.decode() fonction renvoie une chaîne où l’argument encodé URL est décodé en une chaîne régulière selon RFC 3986.

Exemple :

La url.decode("a%2Fb%2Fc") fonction renvoie a/b/c.

is-ipv4()

La is-ipv4() fonction prend une adresse IP comme argument et renvoie le booléen True si l’adresse IP est au format IPv4.

La is-ipv4(10.10.10.10) fonction renvoie True

is-ipv6()

La is-ipv6() fonction prend une adresse IP comme argument et renvoie le booléen True si l’adresse IP est au format IPv6.

La is-ipv6(2001:DB8::) fonction 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).

Exemples :

  • La startswith('Citrix', 'Ci') fonction renvoie True.
  • La startswith('Citrix', 'iC') fonction renvoie False
  • La startswith('Citrix', 'Ab') fonction 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).

Exemples :

  • La endswith('Citrix', 'ix') fonction renvoie True.
  • La endswith('Citrix', 'Ix') fonction renvoie False.
  • La endswith('Citrix', 'ab') fonction 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ù dans la chaîne (str).

Exemple :

  • La contains('Citrix', 'tri') fonction renvoie True.
  • La contains('Citrix', 'Ci') fonction renvoie True.
  • La contains('Citrix', 'ti') fonction 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 d’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 :

  • La substring('Citrix', 2) fonction renvoie trix

  • La substring('Citrix', 10) fonction renvoie (")

    Dans cet exemple, la fonction renvoie une chaîne vide car elle a une start_index position non valide.

  • La substring('Citrix', 2, 4) fonction renvoie tr

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

  • La substring('Citrix', -3) fonction 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.