Configuration de StyleBook

Conditions des paramètres

Dans une définition StyleBook, les paramètres définissent l’entrée que les utilisateurs de StyleBook fournissent pour créer un pack de configuration. Il se peut que vous souhaitiez modifier le comportement des paramètres comme suit :

  • Afficher certains paramètres à un utilisateur uniquement si une condition est remplie.
  • Les valeurs autorisées d’un paramètre dépendent d’un autre paramètre.
  • Définissez un paramètre comme obligatoire uniquement dans certaines conditions.

Dans ce cas, utilisez la parameters-conditions section pour définir les conditions des paramètres. Une condition de paramètre possède les attributs suivants :

Remarque

Actuellement, les conditions de paramètre ne peuvent pas être appliquées aux paramètres des objets de liste.

« Afficher » ou « Masquer »

Lorsque l’action est show et que la condition spécifiée est Truerenvoyée, le paramètre cible apparaît dans l’interface graphique.

Lorsque l’action est hide et que la condition spécifiée est Truerenvoyée, 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 security-settings paramètre. 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 est Truerenvoyée, 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 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 security-settings paramètre. Lorsqu’un utilisateur sélectionne des protocoles SSLou pont SSL, 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 est Truerenvoyée, 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 est Truerenvoyée, 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.

‘description’

Lorsque l’action est set-description et que la condition spécifiée est Truerenvoyée, 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.

« volet rabattable » ou « volet d’expansion »

Lorsque l’action est collapse-pane et que la condition spécifiée est Truerenvoyée, 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 est Truerenvoyée, 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 security-settings paramètre. Lorsqu’un utilisateur sélectionne des protocoles SSLou pont SSL, le volet des détails du certificat se développe sur l’interface graphique.

« motif de jeu »

Lorsque l’action est set-pattern et que la condition spécifiée est Truerenvoyée, 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 de port sont remplies dynamiquement. Elle s’applique également à chaque serveur virtuel d’équilibrage de charge de la liste.