Fonctions intégrées
Les fonctions intégrées sont utilisées par les expressions dans les StyleBooks.
Par exemple, vous pouvez utiliser la fonction intégrée,
str() pour transformer un nombre en chaîne de caractères.
str($parameters.order)
Ou, vous pouvez utiliser la fonction intégrée,
int() pour transformer une chaîne de caractères en 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 :
Fonction str()
La fonction
str() transforme l'argument d'entrée en une valeur de chaîne de caractères.
Types d'arguments autorisés :
-
string -
number -
TCP-port -
boolean -
IP address
Exemples :
-
La fonction
"set-" + str(10)renvoie"set-10". -
La fonction
str(10)renvoie10. -
La fonction
str(1.1.1.1)renvoie1.1.1.1. -
La fonction
str(T rue)renvoie"T rue". -
La fonction
str(ADM)renvoie"mas".
entier()
La fonction
int() prend une chaîne de caractères, un nombre, une adresse IP ou tcpport comme argument et renvoie un entier.
Exemples :
-
La fonction
int("10")renvoie10. -
La fonction
int(10)renvoie10. -
La fonction
int(ip('0.0.4.1'))renvoie1025.
booléen()
La fonction
bool() prend n'importe quel type comme argument. Si la valeur de l'argument est false, vide ou absente, cette fonction renvoie false.
Sinon, elle renvoie
true.
Exemples :
-
La fonction
bool(true)renvoietrue. -
La fonction
bool(false)renvoiefalse. -
La fonction
bool($parameters.a)renvoiefalsesi le$parameters.aestfalse, vide ou absent.
Fonction 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"]
La fonction
len($substitutions.items) renvoie 3
Exemple 2 :
La fonction
len("NetScaler Console") renvoie 10.
Exemple 3 :
Si
$parameters.vips a les valeurs ['1.1.1.1', '1.1.1.2', '1.1.1.3'], la fonction len($parameters.vips) renvoie 3.
Fonction min()
La fonction
min() prend en argument soit une liste, soit une série de nombres ou tcp-ports, et renvoie l'élément le plus petit.
Exemples avec une série de nombres/ports TCP :
-
La fonction
min(80, 100, 1000)renvoie80. -
La fonction
min(-20, 100, 400)renvoie-20. -
La fonction
min(-80, -20, -10)renvoie-80. -
La fonction
min(0, 100, -400)renvoie-400.
Exemples avec une liste de nombres/ports TCP :
-
Le support
$parameters.portsest une liste detcp-portset a les valeurs :[80, 81, 8080].La fonctionmin($parameters.ports)renvoie80.
maximum()
La fonction
max() prend en argument soit une liste, soit une série de nombres ou tcp-ports, et renvoie l'élément le plus grand.
Exemples avec une série de nombres/ports TCP :
-
La fonction
max(80, 100, 1000)renvoie1000. -
La fonction
max(-20, 100, 400)renvoie400. -
La fonction
max(-80, -20, -10)renvoie-10. -
La fonction
max(0, 100, -400)renvoie100.
Exemples avec une liste de nombres/ports TCP :
-
Le support
$parameters.portsest une liste detcp-portset a les valeurs :[80, 81, 8080].La fonctionmax($parameters.ports)renvoie8080.
binaire()
La fonction
bin() prend un nombre comme argument et renvoie une chaîne de caractères qui représente le nombre au format binaire.
Exemples d'expressions :
La fonction
bin(100) renvoie 0b1100100.
octal()
La fonction
oct() prend un nombre comme argument et renvoie une chaîne de caractères qui représente le nombre au format octal.
Exemples d'expressions :
La fonction
oct(100) renvoie 0144.
hexadécimal()
La fonction
hex() prend un nombre comme argument et renvoie une chaîne de caractères en minuscules qui représente le nombre au format hexadécimal.
Exemples d'expressions :
La fonction
hex(100) renvoie 0x64.
minuscule()
La fonction
lower() prend une chaîne de caractères comme argument et renvoie la même chaîne en minuscules.
Exemple :
La fonction
lower("ADM") renvoie adm.
majuscule()
La fonction
upper() prend une chaîne de caractères comme argument et renvoie la même chaîne en majuscules.
Exemple :
La fonction
upper("NetScaler Console") renvoie NetScaler Console.
somme()
La fonction
sum() prend une liste de nombres ou tcpports comme arguments et renvoie la somme des nombres de la liste.
Exemple 1 :
Si vous définissez une substitution comme suit : substitutions :
list-of-numbers = [11, 22, 55]
La fonction
sum($substitutions.list-of-numbers) renvoie 88.
Exemple 2 :
Si
$parameters.ports est [80, 81, 82], la fonction sum($parameters.ports) renvoie 243.
Fonction pow()
La fonction
pow() prend deux nombres comme arguments et renvoie un nombre qui représente le premier argument élevé à la puissance du second.
Exemple :
La fonction
pow(3,2) renvoie 9.
ip()
La fonction
ip() prend un entier, une chaîne de caractères ou une adresse IP comme argument et renvoie l'adresse IP basée sur la valeur d'entrée.
Exemples :
-
Spécifiez une adresse IP dans la fonction
ip:La fonctionip(3.1.1.1)renvoie3.1.1.1. -
Spécifiez une chaîne de caractères dans la fonction
ip:La fonctionip('2.1.1.1')renvoie2.1.1.1 -
Spécifiez un entier dans la fonction
ip:-
La fonction
ip(12)renvoie0.0.0.12. -
Lorsque vous spécifiez un entier sous forme de chaîne dans la fonction
ip, elle renvoie une adresse IP équivalente à l'entrée.La fonctionip('1025')renvoie0.0.4.1.
Cette fonction prend également en charge les opérations d'addition et de soustraction d'entiers et renvoie une adresse IP résultante.-
Addition : La fonction
ip(1025) + ip(12)renvoie0.0.4.13. -
Soustraction : La fonction
ip('1025') - ip(12)renvoie0.0.3.245. -
Combiner l'addition et la soustraction : La
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)renvoie2.2.2.0.
-
base64.encode()
La fonction
base64.encode() prend un argument de type chaîne et renvoie la chaîne encodée en base64.
Exemple :
La fonction
base64.encode("abcd") renvoie YWJjZA==.
base64.decode()
La fonction
base64.decode prend une chaîne encodée en base64 comme argument et renvoie la chaîne décodée.
Exemple :
La fonction
base64.decode("YWJjZA==") renvoie abcd.
existe()
La fonction
exists() prend un argument de n'importe quel type et renvoie un booléen. La valeur de retour est True si l'entrée a une valeur. La valeur de retour est False si l'argument d'entrée n'a pas de valeur (c'est-à-dire, aucune valeur).
Considérons que
$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, la fonction ($parameters.monitor) renvoie True.
Sinon, elle renvoie
False.
Filtrer()
La fonction
filter() prend deux arguments.
Argument 1 : une 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 originale où chaque élément est évalué à
True lorsqu'il est passé à la fonction de substitution dans le premier argument.
Exemple :
Considérons 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, elle renvoie False.
Supposons que
$parameters.ports soit [81, 80, 81, 89].
La fonction
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 comme argument 2.
Sinon, si l'argument 3 est fourni, la fonction renvoie la valeur de l'expression de l'argument 3.
Si l'argument 3 n'est pas fourni, la fonction renvoie
no.
Exemple 1 :
La fonction
if-then-else($parameters.servicetype == HTTP, 80, 443) renvoie 80 si $parameters.servicetype a la valeur HTTP. Sinon, la fonction renvoie 443.
Exemple 2 :
La fonction
if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) renvoie la valeur de $parameters.hport si $parameters.servicetype a la valeur HTTP.
Sinon, la fonction renvoie la valeur de
$parameters.sport.
Exemple 3 :
La fonction
if-then-else($parameters.servicetype == HTTP, 80) renvoie 80 si $parameters.servicetype a la valeur HTTP.
Sinon, la fonction ne renvoie aucune valeur.
joindre()
La fonction
join() prend deux arguments :
Argument 1 : liste de nombres,
tcp-ports, chaînes de caractères ou adresses IP
Argument 2 : chaîne de délimitation (facultatif)
Cette fonction joint les éléments de la liste fournie en tant qu'argument 1 en une chaîne de caractères, où chaque élément est séparé par la chaîne de délimitation fournie en tant qu'argument 2. Si l'argument 2 n'est pas fourni, les éléments de la liste sont joints en une seule chaîne.
Exemple :
-
$parameters.portsest[81, 82, 83].-
Avec l'argument de délimitation :La fonction
join($parameters.ports, '-')renvoie81-82-83. -
Sans l'argument de délimitation :La fonction
join($parameters.ports)renvoie818283.
-
diviser()
La fonction
split() divise une chaîne d'entrée en plusieurs listes en fonction des séparateurs spécifiés. Si aucun séparateur ou un séparateur vide ('') n'est spécifié, cette fonction considère l'espace comme un séparateur et divise la chaîne en listes.
Exemples :
-
La fonction
split('Example_string_split', 's')renvoie['Example_','tring_','plit']. -
La fonction
split('Example string split')renvoie['Example','string','split']. -
La fonction
split('Example string split', '')renvoie['Example','string','split']. -
La fonction
split('Example string')renvoie['Example','string'].Cette fonction considère les espaces continus comme un seul espace.
Mapper()
La fonction
map() prend deux arguments ;
Argument 1 : Toute 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 fonction
map() (argument 1) à l'élément correspondant de l'argument 2.
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].
-
Mappage à l'aide d'une fonction intégrée, strLa fonction
map(str, $parameters.nums)renvoie["81", "82", "83"]Le résultat de la fonction de mappage est la liste de chaînes où chaque élément est une chaîne calculée en appliquant la fonction str sur l'élément correspondant de la liste d'entrée ($parameters.nums). -
Mappage à l'aide d'une fonction de substitution
-
Substitutions :
add-10(port): $port + 10 -
Expression :La fonction
map($substitutions.add-10, $parameters.nums)renvoie une liste de nombres :[ 91, 92, 93 ]
-
Le résultat de cette fonction de mappage est une liste de nombres. Chaque élément est calculé en appliquant la fonction de substitution
$substitutions.add-10 sur l'élément correspondant de la liste d'entrée ($parameters.nums).
mettre_entre_guillemets()
La fonction
quotewrap() prend une chaîne de caractères comme argument et renvoie une chaîne après avoir ajouté un caractère de guillemet double avant et après la valeur d'entrée.
Exemple :
La fonction
quotewrap("ADM") renvoie "mas"
remplacer()
La fonction
replace() prend trois arguments :
Argument 1 : un
string ou une liste des types intégrés suivants :
-
string -
number -
ipaddress -
tcp-port -
boolean
Argument 2 : une valeur unique ou une liste de valeurs dont le type correspond au type spécifié dans l'argument 1
Argument 3 : une valeur unique du même type que celui spécifié dans l'argument 1 (facultatif)
La fonction
replace() remplace toutes les occurrences de l'argument 2 par l'argument 3 dans l'argument 1.
Si l'argument 3 n'est pas fourni, toutes les occurrences de l'argument 2 sont supprimées de l'argument 1.
Exemple :
-
La fonction
replace('abcdef', 'def', 'xyz')renvoieabcxyz.Toutes les occurrences dedefsont remplacées parxyz. -
replace('abcdefabc', 'def')renvoieabcabc.Comme il n'y a pas d'argument 3,defest supprimé de la chaîne résultante. -
La fonction
replace('An#example@to%replace!characters', ['@', '#', '!', '%'], '_')renvoieAn_example_to_replace_characters.La chaîne de sortie contient un trait de soulignement (_) au lieu des caractères spécifiés dans['@', '#', '!', '%']. -
La fonction
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])renvoie[10.10.10.1, 10.10.10.3].Comme il n'y a pas d'argument 3,10.10.10.2et10.10.10.4sont supprimés de la liste d'adresses IP résultante. -
La fonction
replace([8080, 8081, 8082, 8083, 8084], 8083, 80)renvoie[8080, 8081, 8082, 80, 8084].Toutes les occurrences de8083sont remplacées par80.
rogner()
La fonction
trim() renvoie une chaîne où les espaces blancs de début et de fin sont supprimés de la chaîne d'entrée.
Exemple :
La fonction
trim(' abc ') renvoie abc.
tronquer()
La fonction
truncate() prend deux arguments :
Argument 1 : chaîne
Argument 2 : nombre
La fonction renvoie une chaîne où la chaîne d'entrée de l'argument 1 est tronquée à la longueur spécifiée par l'argument 2.
Exemple :
Le
truncate('NetScaler Console', 6) renvoie Citrix.
unique()
La fonction
distinct() extrait les éléments uniques d'une entrée de liste.
Exemples : Si
$parameters.input_list est ['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX'], la fonction distinct($parameters.input_list) renvoie ['ADM', 'ADC', 'VPX', 'CPX'].
url.encode()
La fonction
url.encode() renvoie une chaîne où les caractères sont transformés à l'aide du jeu de caractères ASCII conformément à la RFC 3986.
Exemple :
La fonction
url.encode("a/b/c") renvoie a%2Fb%2Fc.
url.decode()
La fonction
url.decode() renvoie une chaîne où l'argument encodé en URL est décodé en une chaîne de caractères normale conformément à la RFC 3986.
Exemple :
La fonction
url.decode("a%2Fb%2Fc") renvoie a/b/c.
is-ipv4()
La fonction
is-ipv4() prend une adresse IP comme argument et renvoie le booléen True si l'adresse IP est au format IPv4.
La fonction
is-ipv4(10.10.10.10) renvoie True
is-ipv6()
La fonction
is-ipv6() prend une adresse IP comme argument et renvoie le booléen True si l'adresse IP est au format IPv6.
La fonction
is-ipv6(2001:DB8::) renvoie True
Commence par()
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 renvoie
True lorsque la chaîne (str) commence par la sous-chaîne (sub_str).
Exemples :
-
La fonction
startswith('Citrix', 'Ci')renvoieTrue. -
La fonction
startswith('Citrix', 'iC')renvoieFalse -
La fonction
startswith('Citrix', 'Ab')renvoieFalse
Se termine par()
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 renvoie
True lorsque la chaîne (str) se termine par la sous-chaîne (sub_str).
Exemples :
-
La fonction
endswith('Citrix', 'ix')renvoieTrue. -
La fonction
endswith('Citrix', 'Ix')renvoieFalse. -
La fonction
endswith('Citrix', 'ab')renvoieFalse.
contient()
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 fonction
contains('Citrix', 'tri')renvoieTrue. -
La fonction
contains('Citrix', 'Ci')renvoieTrue. -
La fonction
contains('Citrix', 'ti')renvoieFalse
sous-chaîne()
Utilisez la fonction
substring() pour extraire une sous-chaîne d'une chaîne.
substring(str, start_index, end_index)
Cette fonction requiert 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 jusqu'à 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 fonction
substring('Citrix', 2)renvoietrix -
La fonction
substring('Citrix', 10)renvoie (")Dans cet exemple, la fonction renvoie une chaîne vide car elle a une positionstart_indexnon valide. -
La fonction
substring('Citrix', 2, 4)renvoietrDans cet exemple, la fonction extrait les caractères entre les positions d'index 2 et 4. -
La fonction
substring('Citrix', -3)renvoierixSi vous souhaitez extraire des caractères qui se trouvent à la fin de la chaîne, spécifiez une valeur négative pour l'argumentstart_index.Dans cet exemple, la fonction extrait la sous-chaîne qui inclut les trois derniers caractères de la chaîne.
multiples()
La fonction
multiple() prend deux arguments :
Argument 1 : un
number, string, boolean, ipaddress, tcp-port, ou password
Argument 2 : un
number
La fonction
multiple(argument1, argument2) renvoie une liste avec de nombreuses copies de l'argument 1. Le nombre de copies est égal au nombre passé à l'argument 2.
Exemples :
-
La fonction
multiple(10.10.10.10, 3)renvoie[10.10.10.10, 10.10.10.10, 10.10.10.10]. -
La fonction
multiple(8080, 4)renvoie[8080, 8080, 8080, 8080].
inverser()
La fonction reverse() prend une liste d'éléments comme argument et renvoie une liste avec les mêmes éléments, mais répertoriés dans l'ordre inverse.
L'argument peut être une liste des types intégrés suivants :
-
string -
number -
ipaddress -
ipnetwork -
tcp-port -
boolean -
password -
object -
file -
certfile -
keyfile -
certkey
Exemples :