Fonctions intégrées
Les fonctions intégrées sont utilisées par les expressions dans StyleBooks.
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.priorité)
Voici la liste des fonctions intégrées prises en charge dans les expressions StyleBook avec des exemples de la façon dont elles peuvent être utilisées :
str()
La fonction str()
transforme l’argument d’entrée en une valeur de chaîne.
Types d’arguments autorisés :
chaîne
nombre
port TCP
booléen
adresse IP
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"
.
int()
La fonction int()
prend une chaîne, 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, il renvoie true
.
Exemples:
- La fonction
bool(true)
renvoietrue
. - La fonction
bool(false)
renvoiefalse
. - La fonction
bool($parameters.a)
renvoiefalse
si$parameters.a
estfalse
, vide ou absent.
longueur()
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 :
éléments : ["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 des valeurs ['1.1.1.1', '1.1.1.2', '1.1.1.3']
, la fonction len($parameters.vips)
renvoie 3
.
min()
La fonction min()
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 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 numéros/ports TCP:
-
Support
$parameters.ports
est une liste deports TCP
et a des valeurs :[80, 81, 8080]
.La fonction
min($parameters.ports)
renvoie80
.
max()
La fonction max()
prend soit une liste, soit une série de nombres ou tcp-ports
comme arguments et renvoie le plus grand élément.
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 numéros/ports TCP:
-
Support
$parameters.ports
est une liste deports TCP
et a des valeurs :[80, 81, 8080]
.La fonction
max($parameters.ports)
renvoie8080
.
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:
La fonction bin(100)
renvoie 0b1100100
.
octobre()
La fonction oct()
prend un nombre comme argument et renvoie une chaîne qui représente le nombre au format octal.
Exemples d’expressions:
La fonction oct(100)
renvoie 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:
La fonction hex(100)
renvoie 0x64
.
inférieur()
La fonction lower()
prend une chaîne comme argument et renvoie la même chaîne en minuscules.
Exemple:
La fonction lower("ADM")
renvoie adm
.
supérieur()
La fonction upper()
prend une chaîne 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 :
liste-de-nombres = [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
.
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 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 fonction
ip
:La fonction
ip(3.1.1.1)
renvoie3.1.1.1
. -
Spécifiez une chaîne dans la fonction
ip
:La fonction
ip('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 fonction
ip('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 :
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 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 codé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 Faux
Si l’argument d’entrée 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, la fonction ($parameters.monitor)
renvoie True
.
Sinon, il renvoie False
.
filtre()
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 d’origine 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 :
Remplacements :
x(a): $a != 81
Cette fonction renvoie True si la valeur d’entrée n’est pas égale à 81
. Sinon, il renvoie False
.
Supposons que$parameters.ports
soit [81, 80, 81, 89]
.
Le filtre ($substitutions.x, $parameters.ports)
renvoie [80, 89]
en supprimant toutes les occurrences de 81
de la liste.
si-alors-sinon()
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 dans 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 dans 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:
Le if-then-else($parameters.servicetype == HTTP, 80)
renvoie 80
si $parameters.servicetype
a la valeur HTTP
.
Sinon, la fonction ne renvoie aucune valeur.
rejoindre()
La fonction join()
prend deux arguments :
Argument 1 : liste de nombres, ports TCP
, chaînes ou adresses IP
Argument 2 : chaîne de délimitation (facultatif)
Cette fonction joint les éléments de la liste fournie en argument 1 dans une chaîne, où chaque élément est séparé par la chaîne délimiteuse fournie en 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.ports
est[81, 82, 83]
.-
Avec l’argument délimiteur :
La fonction
join($parameters.ports, '-')
renvoie81-82-83
. -
Sans argument délimiteur :
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('Exemple de division de chaîne')
renvoie['Exemple','chaîne','split']
. -
La fonction
split('Exemple de division de chaîne', '')
renvoie['Exemple','chaîne','split']
. -
La fonction
split('Exemple de chaîne')
renvoie['Exemple','chaîne']
.Cette fonction considère les espaces continus comme un seul espace.
carte()
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 dans 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]
.
-
Carte utilisant une fonction intégrée, str
La fonction
map(str, $parameters.nums)
renvoie["81", "82", "83"]
Le résultat de la fonction map est la liste de chaînes où chaque élément de la chaîne est calculé en appliquant la fonction str sur l’élément correspondant dans la liste d’entrée ($parameters.nums).
-
Carte utilisant une fonction de substitution
-
Remplacements :
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 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 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 : une chaîne `` ou une liste des types intégrés suivants :
chaîne
nombre
adresse IP
port TCP
booléen
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:
-
replace('abcdef', 'def', 'xyz')
la fonction renvoieabcxyz
.Toutes les occurrences de
def
sont remplacées parxyz
. -
replace('abcdefabc', 'def')
renvoieabcabc
.Comme il n’y a pas d’argument 3,
def
est supprimé de la chaîne résultante. -
replace('Un#exemple@à%remplacer!des!caractères', ['@', '#', '!', '%'], '_')
La fonction renvoieUn_exemple_à_remplacer_des_caractères
.La chaîne de sortie contient un trait de soulignement (_) au lieu des caractères spécifiés dans
['@', '#', '!', '%']
. -
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])
la fonction renvoie[10.10.10.1, 10.10.10.3]
.Comme il n’y a pas d’argument 3,
10.10.10.2
et10.10.10.4
sont supprimés de la liste résultante des adresses IP. -
replace([8080, 8081, 8082, 8083, 8084], 8083, 80)
la fonction renvoie[8080, 8081, 8082, 80, 8084]
.Toutes les occurrences de
8083
sont remplacées par80
.
garniture()
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:
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 dans laquelle la chaîne d’entrée dans l’argument 1 est tronquée à la longueur spécifiée par l’argument 2.
Exemple:
Le truncate('NetScaler Console', 6)
renvoie Citrix
.
distinct()
La fonction distinct()
extrait des é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 dans laquelle 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 dans laquelle l’argument codé par URL est décodé en une chaîne régulière conformément à la RFC 3986.
Exemple:
La fonction url.decode("a%2Fb%2Fc")
renvoie a/b/c
.
est-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 Vrai
est-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 Vrai
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.
commence par(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.
contient(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
contient('Citrix', 'tri')
renvoieTrue
. - La fonction
contient('Citrix', 'Ci')
renvoieTrue
. - La fonction
contient('Citrix', 'ti')
renvoieFaux
sous-chaîne()
Utilisez la fonction substring()
pour extraire une sous-chaîne d’une chaîne.
sous-chaîne(str, index_début, index_fin)
Cette fonction nécessite 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.
Note
Lorsque vous spécifiez
end_index
, la sous-chaîne exclut le caractère à la positionend_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 position
start_index
non valide. -
La fonction
substring('Citrix', 2, 4)
renvoietr
Dans cet exemple, la fonction extrait les caractères entre 2 et 4 positions d’index.
-
La fonction
substring('Citrix', -3)
renvoierix
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.
multiple()
La fonction multiple()
prend deux arguments :
Argument 1 : nombre, chaîne, booléen, adresse IP, port TCP ou mot de passe
Argument 2 : un nombre ``
La fonction multiple(argument1, argument2)
renvoie une liste avec plusieurs 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]
.
inverse()
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 :
chaîne
nombre
adresse IP
réseau IP
port TCP
booléen
mot de passe
objet
déposer
fichier de certificat
fichier de clés
clé de certification
Exemples:
- reverse([10.102.20.1, 10.102.20.2, 10.102.20.3]) renvoie [10.102.20.3, 10.102.20.2, 10.102.20.1].
- reverse([80,81,82,81]) renvoie [81,82,81,80].
- reverse([‘app-mx’,’app-cx’,’conf-27’,’app3’]) renvoie [‘app3’,’conf-27’,’app-cx’,’app-mx’].
Dans cet article
- str()
- int()
- booléen()
- longueur()
- min()
- max()
- bin()
- octobre()
- hex()
- inférieur()
- supérieur()
- somme()
- pow()
- ip()
- base64.encode()
- base64.decode()
- existe()
- filtre()
- si-alors-sinon()
- rejoindre()
- diviser()
- carte()
- quotewrap()
- remplacer()
- garniture()
- tronquer()
- distinct()
- url.encode()
- url.decode()
- est-ipv4()
- est-ipv6()
- commence par()
- se termine par()
- contient()
- sous-chaîne()
- multiple()
- inverse()