Conditions des paramètres
Les conditions des paramètres sont utilisées pour modifier le comportement de certains paramètres dans la définition du StyleBook. Les paramètres d’une définition StyleBook sont les entrées fournies pour créer un pack de configuration. Utilisez parameters-conditions
pour définir une condition de paramètre dans la définition.
Un paramètre peut comporter de nombreuses contraintes dans la définition de StyleBook. Les conditions des paramètres sont utilisées pour résoudre les conflits lorsqu’un utilisateur modifie le comportement du paramètre. Par exemple, lorsqu’un utilisateur sélectionne le protocole SSL, les détails du certificat sont requis pour créer un pack de configuration. Toutefois, les détails du certificat peuvent ne pas être définis comme champ obligatoire au début.
La condition de paramètre possède les attributs suivants :
-
target
: spécifiez le paramètre cible auquel vous souhaitez appliquer une action. Vous pouvez spécifier plusieurs paramètres cibles. -
action
: spécifiez l’action à effectuer sur les paramètres cibles. Les conditions de paramètre prennent en charge les actions suivantes :- Augmenter les valeurs autorisées
- Afficher ou masquer les paramètres
- Définition d’une valeur par défaut
- Définir comme champ obligatoire
- Définir les valeurs autorisées
- Définir l’étiquette du paramètre
- Définissez la description du paramètre
- Réduire ou développer le volet du paramètre
- Définit le modèle du paramètre
-
condition
: Facultatif, spécifiez une condition pour appliquer une action pour les paramètres cibles spécifiés. Si vous ne spécifiez aucune condition, l’action est directement appliquée sur les paramètres cibles. -
value
: définissez les valeurs de l’attribut des paramètres cibles en fonction de l’action.
Remarque :
Actuellement, les conditions des paramètres ne peuvent pas être appliquées aux paramètres des objets de liste.
« valeurs d’augmentation autorisées »
Lorsque l’action est augment-allowed-values
, le paramètre cible apparaît sous forme de menu déroulant dans l’interface graphique. Le menu déroulant est défini avec les valeurs définies dans l’attribut value
de la définition StyleBook.
Exemple :
parameters-conditions:
-
target: $parameters.rewritepolicy.action
action: augment-allowed-values
value: $parameters.rewriteaction
<!--NeedCopy-->
« Afficher » ou « Masquer »
Lorsque l’action est show
et que la condition spécifiée renvoie True
, le paramètre cible apparaît dans l’interface graphique.
Lorsque l’action est hide
et que la condition spécifiée renvoie True
, le paramètre cible disparaît de l’interface graphique.
Exemple :
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: show
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Au début, les détails du certificat sont masqués pour le paramètre security-settings
. Lorsqu’un utilisateur sélectionne des protocoles SSL ou pont SSL, les détails du certificat s’affichent.
‘set par défaut’
Lorsque l’action est set-default
et que la condition spécifiée renvoie True
, la valeur du paramètre cible est définie sur la valeur par défaut.
Exemple 1 :
parameters-conditions:
-
target: $parameters.port
action: set-default
condition: $parameters.protocol == "SSL"
value: 443
-
target: $parameters.port
action: set-default
condition: $parameters.protocol != "SSL"
value: 80
<!--NeedCopy-->
Exemple 2 :
parameters-conditions:
-
target: $parameters.port
action: set-default-value
value: if-then-else($parameters.protocol == "SSL", 443, 80)
<!--NeedCopy-->
Lorsqu’un utilisateur sélectionne le protocole SSL, la valeur du port par défaut est définie sur 443
. Pour les autres protocoles, la valeur du port par défaut est définie sur 80
. Les exemples 1 et 2 donnent le même résultat.
« jeu requis »
Lorsque l’action est set-required
exécutée et que la condition spécifiée est renvoyée True
, le paramètre cible devient un champ obligatoire pour créer un pack de configuration.
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: set-required
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Au début, les détails du certificat peuvent ne pas être requis pour le paramètre security-settings
. Lorsqu’un utilisateur sélectionne lesprotocoles SSL ou SSL-Bridge , les détails du certificat deviennent un champ obligatoire pour créer un pack de configuration.
« valeurs fixes autorisées »
Lorsque l’action est set-allowed-values
et que la condition spécifiée renvoie True
, le paramètre cible vous permet de sélectionner uniquement les valeurs spécifiées.
Exemple :
parameters-conditions:
-
target: $parameters.app-name
action: set-allowed-values
value:
- "SSL"
condition: $parameters.lb-virtual-port == 443
<!--NeedCopy-->
Lorsqu’un utilisateur spécifie 443
comme port virtuel d’équilibrage de charge, le nom de l’application n’autorise que l’option SSL .
‘label ensemble’
Lorsque l’action est set-label
et que la condition spécifiée renvoie True
, l’étiquette du paramètre cible se transforme en texte spécifié.
Exemple :
parameters-conditions:
-
target: $parameters.app-name
action: set-label
value: if-then-else($parameters.lb-service-type == "TCP", "TCPApp","UDPApp")
<!--NeedCopy-->
Lorsqu’un utilisateur sélectionne le protocole d’équilibrage de charge en tant que TCP, l’étiquette de l’application devient TCPapp. Si l’utilisateur sélectionne une autre option, l’étiquette de l’application devient UdpApp.
‘set-description’
Lorsque l’action est set-description
et que la condition spécifiée renvoie True
, la description du paramètre cible se transforme en texte spécifié. Cette description apparaît dans l’info-bulle d’un paramètre cible.
Exemple :
parameters-conditions:
-
target: $parameters.app-name
action: set-description
value: if-then-else($parameters.lb-service-type == "TCP", "Select a TCP application name","Select a UDP application name")
<!--NeedCopy-->
Lorsqu’un utilisateur sélectionne le protocole d’équilibrage de charge en tant que TCP, l’info-bulle de l’application affiche le texte : Select a TCP application name
. Si l’utilisateur sélectionne une autre option, la description de l’application s’affiche Select a UDP application name
.
‘collapse-pane’ ou ‘expand-pane’
Lorsque l’action est collapse-pane
et que la condition spécifiée renvoie True
, le volet du paramètre cible se réduit dans l’interface graphique.
Lorsque l’action est expand-pane
et que la condition spécifiée renvoie True
, le volet du paramètre cible se développe dans l’interface graphique.
Exemple :
parameters-conditions:
-
target: $parameters.security-settings.cert-details
action: expand-pane
condition: $parameters.protocol in ["SSL", "SSL-BRIDGE"]
<!--NeedCopy-->
Au début, le volet des détails du certificat peut ne pas être développé pour le paramètre security-settings
. Lorsqu’un utilisateur sélectionne des protocoles SSLou pont SSL, le volet des détails du certificat se développe sur l’interface graphique.
‘set-pattern’
Lorsque l’action est set-pattern
et que la condition spécifiée renvoie True
, le champ de paramètre cible est défini sur le modèle spécifié.
Exemple :
parameters-conditions:
-
target: $parameters.app-name
action: set-pattern
value: "[a-z]+"
<!--NeedCopy-->
Dans cet exemple, le nom de l’application n’autorise que les caractères alphabétiques en minuscules.
Conditions des paramètres imbriqués
Dans une définition StyleBook, vous pouvez spécifier une condition de paramètre au sein d’une condition de paramètre. Ces conditions sont appelées conditions de paramètres imbriqués et utilisent une construction de répétition pour définir ces conditions. Les conditions des paramètres imbriqués sont utiles lorsque vous souhaitez appliquer une action à un paramètre à partir d’un autre paramètre.
Exemple :
parameters-conditions:
-
repeat: $parameters.lbvservers
repeat-item: lbvserver
parameters-conditions:
-
target: $lbvserver.port
action: set-allowed-values
condition: $lbvserver.protocol == "HTTPS"
value: $parameters.ssl-ports
<!--NeedCopy-->
Dans cet exemple, lorsque l’utilisateur sélectionne le protocole HTTPS pour un serveur virtuel d’équilibrage de charge, les valeurs des ports sont renseignées dynamiquement. Et cela s’applique à chaque serveur virtuel d’équilibrage de charge de la liste.