Application Delivery Management

Conditions de paramètre

Les conditions de paramètre sont utilisées pour modifier le comportement de certains paramètres dans la définition 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 avoir de nombreuses contraintes dans la définition StyleBook. Les conditions de paramètre 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. Cependant, 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 :

Remarque :

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

‘augment-allowed-values’

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 spécifiées dans l’attribut value de la définition StyleBook.

Exemple :

parameters-conditions:
  -
   target: $parameters.rewritepolicy.action
   action: augment-allowed-values
   value:  $parameters.rewriteaction
<!--NeedCopy-->

‘show’ ou ‘hide’

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 les protocoles SSL ou SSL-Bridge, les détails du certificat apparaissent.

‘set-default’

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: if-then-else($parameters.protocol == "SSL", 443, 80)
<!--NeedCopy-->

Lorsqu’un utilisateur sélectionne le protocole SSL, la valeur de port par défaut est définie sur 443. Pour les autres protocoles, la valeur de port par défaut est définie sur 80. Les exemples 1 et 2 donnent le même résultat.

‘set-required’

Lorsque l’action est set-required et que la condition spécifiée renvoie 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 les protocoles SSL ou SSL-Bridge, les détails du certificat deviennent un champ obligatoire pour créer un pack de configuration.

‘set-allowed-values’

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 de l’équilibreur de charge, le nom de l’application n’autorise que l’option SSL.

‘set-label’

Lorsque l’action est set-label et que la condition spécifiée renvoie True, l’étiquette du paramètre cible est remplacée par le 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 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 est remplacée par le 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 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 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 les protocoles SSL ou SSL-Bridge, le volet des détails du certificat se développe dans l’interface graphique.

‘set-pattern’

Lorsque l’action est set-pattern et que la condition spécifiée renvoie True, le champ du 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 minuscules.

Conditions de paramètre imbriquées

Dans une définition StyleBook, vous pouvez spécifier une condition de paramètre au sein d’une autre condition de paramètre. Ces conditions sont appelées conditions de paramètre imbriquées et utilisent une construction de répétition pour les définir. Les conditions de paramètre imbriquées sont utiles lorsque vous souhaitez appliquer une action pour 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 renseignées dynamiquement. Et cela s’applique à chaque serveur virtuel d’équilibrage de charge de la liste.

Conditions de paramètre