Fonctions intégrées
Les expressions dans les 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 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 :
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
(chaîne de caractères) -
number
(nombre) -
tcp-port
(port TCP) -
boolean
(booléen) -
ipaddress
(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(True)
renvoie"True"
. - La fonction
str(NetScaler Console)
renvoie"NetScaler Console"
.
int()
La fonction int()
prend une chaîne de caractères, un nombre, une adresse IP ou un 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()
La fonction bool()
prend un argument de n’importe quel type. 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)
renvoiefalse
si$parameters.a
estfalse
, vide ou absent.
len()
La fonction len()
prend une chaîne de caractères 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
.
min()
La fonction min()
prend soit une liste, soit une série de nombres ou de ports TCP 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 nombres/ports TCP :
-
Supposons que
$parameters.ports
est une liste de ports TCP et a les 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 de ports TCP 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 nombres/ports TCP :
-
Supposons que
$parameters.ports
est une liste de ports TCP et a les valeurs :[80, 81, 8080]
.La fonction
max($parameters.ports)
renvoie8080
.
bin()
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
.
oct()
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
.
hex()
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
.
lower()
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("NetScaler Console")
renvoie NetScaler Console
.
upper()
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
.
sum()
La fonction sum()
prend une liste de nombres ou de 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
.
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 fonction
ip(3.1.1.1)
renvoie3.1.1.1
. -
Spécifiez une chaîne de caractères 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 de caractères 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
. -
Combinaison d’addition et de soustraction : La fonction
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)
renvoie2.2.2.0
.
-
ip_network()
La fonction ip_network
prend une adresse IP et une longueur de masque de sous-réseau comme arguments et renvoie une notation de réseau IP.
Exemple 1 :
La fonction ip_network(1.1.1.1, 28)
renvoie 1.1.1.1/28
.
Exemple 2 :
Considérez la valeur 1.1.1.1
pour $parameters.ipaddr
. La fonction ip_network($parameters.ipaddr, 30)
renvoie 1.1.1.1/30
.
Exemple 3 :
Considérez la valeur 24
pour $parameters.netmask-len
. La fonction ip_network(23.1.12.76, $parameters.netmask-len)
renvoie 23.1.12.76/24
.
network_ip()
La fonction network_ip()
renvoie la première adresse IP du réseau IP spécifié.
Exemple :
La fonction network_ip(1.1.1.1/28)
renvoie 1.1.1.0
. Dans cet exemple, 1.1.1.0
est la première adresse IP du réseau donné.
subnets()
La fonction subnets()
renvoie la liste des sous-réseaux à partir du réseau IP et de la longueur de masque de sous-réseau spécifiés.
Exemple :
La fonction subnets(1.1.1.1/28, 30)
renvoie la liste des sous-réseaux à partir du réseau IP et de la longueur de masque de sous-réseau donnés. Le résultat peut être le suivant :
[1.1.1.0/30', '1.1.1.4/30', '1.1.1.8/30', '1.1.1.12/30']
netmask_ip()
La fonction netmask_ip()
renvoie l’adresse IP du masque de sous-réseau pour le réseau IP spécifié.
Exemple :
La fonction netmask_ip(1.1.1.1/28)
renvoie 255.255.255.240
. Pour le réseau IP donné, 255.255.255.240
est l’adresse IP du masque de sous-réseau.
is_netmask_ip()
La fonction is_netmask_ip()
accepte une ipaddress
comme entrée. Elle renvoie True
si la valeur spécifiée est une adresse IP de masque de sous-réseau valide.
Exemple 1 :
La fonction is_netmask_ip(255.255.255.240)
renvoie True
car la valeur spécifiée est une adresse IP de masque de sous-réseau valide.
Exemple 2 :
La fonction is_netmask_ip(255.255.255.232)
renvoie False
car la valeur spécifiée n’est pas une adresse IP de masque de sous-réseau valide.
broadcast_ip()
La fonction broadcast_ip()
renvoie l’adresse IP de diffusion pour le réseau IP spécifié.
Exemple :
La fonction broadcast_ip(1.1.1.1/28)
renvoie 1.1.1.15
. Pour le réseau IP donné, 1.1.1.15
est l’adresse IP de diffusion.
cidr()
La fonction cidr()
renvoie la notation CIDR pour le réseau IP spécifié.
Exemple :
La fonction cidr(1.1.1.1/28)
renvoie 1.1.1.0/28
. Pour le réseau IP donné, 1.1.1.0/28
est la notation CIDR.
is_cidr()
La fonction is_cidr()
accepte un ipnetwork
comme entrée. Elle renvoie True
si la valeur spécifiée correspond à la notation CIDR du réseau IP.
Exemple 1 :
La fonction is_cidr(1.1.1.0/24)
renvoie True
car la valeur spécifiée est la notation CIDR du réseau donné.
Exemple 2 :
La fonction is_cidr(1.1.1.1/28)
renvoie False
car la notation CIDR du réseau donné est différente de la valeur spécifiée.
is_in_network()
La fonction is_in_network()
accepte les valeurs ipnetwork
et ipaddress
. Elle renvoie True
si l’adresse IP spécifiée existe dans le réseau IP spécifié.
Exemple 1 :
La fonction is_in_network(1.1.1.1/24, 1.1.1.121)
renvoie True
car l’adresse 1.1.1.121
fait partie du réseau 1.1.1.1/24
.
Exemple 2 :
La fonction is_in_network(1.1.1.1/28, 2.1.1.1)
renvoie False
car l’adresse 2.1.1.1
ne fait pas partie du réseau 1.1.1.1/28
.
base64.encode()
La fonction base64.encode()
prend un argument de chaîne de caractères 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 de caractères encodée en base64 comme argument et renvoie la chaîne décodée.
Exemple :
La fonction base64.decode("YWJjZA==")
renvoie abcd
.
exists()
La fonction exists()
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. La valeur renvoyée est False
si l’argument d’entrée n’a pas de valeur (c’est-à-dire aucune 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 pack de configuration, la fonction ($parameters.monitor)
renvoie True
.
Sinon, elle renvoie False
.
filter()
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 :
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, elle renvoie False
.
Supposons que $parameters.ports
est [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 : une expression booléenne
Argument 2 : n’importe quelle expression
Argument 3 : n’importe quelle 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 aucun
.
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.
join()
La fonction join()
prend deux arguments :
Argument 1 : une liste de number
, tcp-port
, string
, ipaddress
Argument 2 : une chaîne de caractères délimiteur (facultatif)
Cette fonction joint les éléments de la liste fournie comme argument 1 en une chaîne de caractères, où chaque élément est séparé par la chaîne de caractères délimiteur fournie comme argument 2. Si l’argument 2 n’est pas fourni, les éléments de la liste sont joints en une seule chaîne de caractères.
Exemple :
-
$parameters.ports
est[81, 82, 83]
.-
Avec argument délimiteur :
La fonction
join($parameters.ports, '-')
renvoie81-82-83
. -
Sans argument délimiteur :
La fonction
join($parameters.ports)
renvoie818283
.
-
split()
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.
map()
La fonction 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 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
est [81, 82, 83]
.
-
Mappage à l’aide d’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 de caractères où chaque élément de chaîne est calculé en appliquant la fonction str sur l’élément correspondant dans 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 map 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 de caractères comme argument et renvoie une chaîne de caractères après avoir ajouté un guillemet double avant et après la valeur d’entrée.
Exemple :
La fonction quotewrap("NetScaler Console")
renvoie "NetScaler Console"
.
replace()
La fonction replace()
prend trois arguments :
Argument 1 : une string
ou une liste des types intégrés suivants :
-
string
(chaîne de caractères) -
number
(nombre) -
ipaddress
(adresse IP) -
tcp-port
(port TCP) -
boolean
(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 :
-
La fonction
replace('abcdef', 'def', 'xyz')
renvoieabcxyz
.Toutes les occurrences de
def
sont remplacées parxyz
. -
La fonction
replace('abcdefabc', 'def')
renvoieabcabc
.Comme il n’y a pas d’argument 3,
def
est 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 des tirets bas (_) 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.2
et10.10.10.4
sont 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 de
8083
sont remplacées par80
.
trim()
La fonction trim()
renvoie une chaîne de caractères où 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
.
truncate()
La fonction truncate()
prend deux arguments :
Argument 1 : une chaîne de caractères
Argument 2 : un nombre
La fonction renvoie une chaîne de caractères où la chaîne d’entrée de l’argument 1 est tronquée à la longueur spécifiée par l’argument 2.
Exemple :
La fonction truncate('Stylebooks', 6)
renvoie Styleb
.
distinct()
La fonction distinct()
extrait les éléments uniques d’une liste d’entrée.
Exemples :
Si $parameters.input_list
est ['ADC', 'VPX', 'ADC', 'CPX']
, la fonction distinct($parameters.input_list)
renvoie ['ADC', 'VPX', 'CPX']
.
url.encode()
La fonction url.encode()
renvoie une chaîne de caractères 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 de caractères 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
.
startswith()
La fonction startswith()
détermine si une chaîne de caractères commence par un préfixe donné. Cette fonction nécessite deux arguments de chaîne de caractères obligatoires.
startswith(str, sub_str)
Cette fonction renvoie True
lorsque la chaîne de caractères (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
.
endswith()
La fonction endswith()
détermine si une chaîne de caractères se termine par un suffixe donné. Cette fonction nécessite deux arguments de chaîne de caractères obligatoires.
endswith(str, sub_str)
Cette fonction renvoie True
lorsque la chaîne de caractères (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
.
contains()
La fonction contains()
détermine si une chaîne de caractères contient une sous-chaîne donnée. Cette fonction nécessite deux arguments de chaîne de caractères obligatoires.
Types d’arguments autorisés :
-
string
(chaîne de caractères) -
number
(nombre) -
tcp-port
(port TCP) -
boolean
(booléen) -
ipaddress
(adresse IP)
contains(str, sub_str)
Cette fonction renvoie True
lorsque la sous-chaîne (sub_str
) est contenue n’importe où dans la chaîne de caractères (str
).
Exemples :
- La fonction
contains('Citrix', 'tri')
renvoieTrue
. - La fonction
contains('Citrix', 'Ci')
renvoieTrue
. - La fonction
contains('Citrix', 'ti')
renvoieFalse
.
Vous pouvez également utiliser cette fonction pour vérifier si un élément donné appartient à la liste.
Exemple :
list_of_strings = [“Citrix”, “Core”, ”Values”, ”Integrity”]
contains($parameters.list_of_strings, “Values”)
<!--NeedCopy-->
Dans cet exemple, la fonction contains()
renvoie True
car la liste contient l’élément Values
.
substring()
Utilisez la fonction substring()
pour extraire une sous-chaîne d’une chaîne de caractères.
substring(str, start_index, end_index)
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 de caractères (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 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 la position
start_index
est invalide. -
La fonction
substring('Citrix', 2, 4)
renvoietr
.Dans cet exemple, la fonction extrait les caractères entre les positions d’index 2 et 4.
-
La fonction
substring('Citrix', -3)
renvoierix
.Si vous souhaitez extraire des 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.
match()
La fonction match()
vérifie si une chaîne d’entrée correspond au modèle d’expression régulière défini. Cette fonction accepte un modèle d’expression régulière et des chaînes de recherche comme arguments. En option, vous pouvez également spécifier un type booléen pour ignorer les modèles sensibles à la casse.
Exemples :
-
La fonction
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “A2_B2”)
renvoieTrue
. -
La fonction
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_b2”)
renvoieFalse
. -
La fonction
match(“^[A-Z0-9]{2}_[A-Z0-9]{2,10}$”, “a2_B2”, $parameters.ignore_case)
renvoieTrue
.
sha256()
Utilisez cette fonction pour calculer le hachage SHA-256 de n’importe quelle chaîne de caractères. Cette fonction accepte une chaîne d’entrée de n’importe quelle longueur et renvoie une chaîne de hachage de longueur fixe (64 caractères).
Exemple :
components:
-
name: lbvserver-comp
type: ns::lbvserver
properties:
name: sha256(lbserver-name)
servicetype: SSL
ipv46: 10.10.10.10
<!--NeedCopy-->
Dans cet exemple, lbserver-name
apparaît comme une chaîne de hachage sur l’objet NetScaler.
Cette fonction peut également accepter des expressions comme entrée.
Exemple :
components:
-
name: lbvserver-comp
type: ns::lbvserver
properties:
name: sha256($parameters.lb-appname)
servicetype: SSL
ipv46: 10.10.10.10
<!--NeedCopy-->
relate()
La fonction relate()
forme une liste d’objets dictionnaire à partir d’un ensemble de listes.
Elle prend deux arguments :
Argument 1 : une liste de chaînes de caractères qui représentent des noms de clés.
Argument 2 : une liste de listes, où chaque liste contient les valeurs des noms de clés correspondants de l’argument 1. Chaque liste de l’argument 2 doit avoir la même longueur. Le nombre de listes dans l’argument 2 doit être égal au nombre de chaînes de caractères dans l’argument 1.
Exemple :
name: test_relate_3
description: "Hello World StyleBook."
namespace: com.citrix.adc.stylebooks
schema-version: "1.0"
version: "1.1"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
parameters:
-
name: namesofservers
description: "Provide the names of LB VServers"
type: string[]
-
name: listofips
description: "Provide the list of IP Addresses"
type: string[]
-
name: list_of_keys
type: string[]
default:
- "name"
- "ip"
substitutions:
list_of_values: [$parameters.namesofservers,$parameters.listofips]
components:
-
name: svc-comp
type: object
properties:
svcdetails: relate($parameters.list_of_keys,$substitutions.list_of_values)
-
name: lb-comp
type: ns::lbvserver
repeat: $components.svc-comp.properties.svcdetails
repeat-item: svcd
properties:
name: $svcd['name']
servicetype: HTTP
ipv46: $svcd['ip']
port: 80
<!--NeedCopy-->
Dans cet exemple :
-
La section
parameters
contient une liste appeléelist_of_keys
qui contientname
etip
. -
La section
substitutions
contient une liste appeléelist_of_values
qui contient les deux listes suivantes :- Une liste de noms de serveurs virtuels (
string
) - Une liste d’adresses IP (
string
).
- Une liste de noms de serveurs virtuels (
La fonction intégrée relate()
accepte list_of_keys
et list_of_values
comme arguments. La fonction crée ensuite une liste d’objets dictionnaire où chaque objet a un nom de la première liste et une adresse IP de la seconde liste.
Si vous fournissez la liste de serveurs virtuels suivante :
["lb1","lb2"]
<!--NeedCopy-->
et une liste d’adresses IP de serveurs virtuels comme suit :
["1.1.1.1","2.2.3.3"]
<!--NeedCopy-->
La fonction relate()
renvoie alors les listes suivantes :
[\{"name": "lb1", "ip": "1.1.1.1"},\{"name": "lb2", "ip": "2.2.3.3"}]
<!--NeedCopy-->
Le StyleBook itère sur cette liste d’objets dictionnaire, dans la section components
, pour créer les serveurs virtuels correspondants.
multiple()
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 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]
.
reverse()
La fonction reverse()
prend une liste d’éléments comme argument et renvoie une liste avec les mêmes éléments mais listés dans l’ordre inverse.
L’argument peut être une liste des types intégrés suivants :
-
string
(chaîne de caractères) -
number
(nombre) -
ipaddress
(adresse IP) -
ipnetwork
(réseau IP) -
tcp-port
(port TCP) -
boolean
(booléen) -
password
(mot de passe) -
object
(objet) -
file
(fichier) -
certfile
(fichier de certificat) -
keyfile
(fichier de clé) -
certkey
(clé de certificat)
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()
- len()
- min()
- max()
- bin()
- oct()
- hex()
- lower()
- upper()
- sum()
- pow()
- ip()
- ip_network()
- network_ip()
- subnets()
- netmask_ip()
- is_netmask_ip()
- broadcast_ip()
- cidr()
- is_cidr()
- is_in_network()
- base64.encode()
- base64.decode()
- exists()
- filter()
- if-then-else()
- join()
- split()
- map()
- quotewrap()
- replace()
- trim()
- truncate()
- distinct()
- url.encode()
- url.decode()
- is-ipv4()
- is-ipv6()
- startswith()
- endswith()
- contains()
- substring()
- match()
- sha256()
- relate()
- multiple()
- reverse()