Configuration de StyleBook

Répétitions imbriquées

Avec la construction de répétition imbriquée, vous pouvez avoir plus d’une construction de répétition dans chaque composant en fonction de la définition du composant. Considérez une répétition imbriquée de deux niveaux. Pour chaque élément de la liste externe (première liste de répétition), vous pouvez créer une liste de répétition pour tous les éléments de la liste interne (deuxième liste de répétition). Le compilateur StyleBook prend en charge jusqu’à trois répétitions imbriquées. Chaque niveau de répétition a des attributs d’élément répétitif et d’index répétitif qui lui sont associés. Les attributs repeat-item et repeat-index sont facultatifs. En outre, chaque répétition peut également spécifier une condition de répétition.

Exemple :

parameters:

  -

      name: vips

      type: ipaddress[]

  -

      name: vip-ports

      type: tcp-port[]

components:

  -

      name: lbvservers-comp  

      type: ns::lbvserver

      repeat:

         repeat-list: $parameters.vips

         repeat-item: ip

         repeat:

              repeat-list: $parameters.vip-ports

              repeat-item: port

      properties:

         name: str("lb-") + str($ip) + '-' + str($port)

         servicetype: HTTP

         ipv46: $ip

         port: $port
<!--NeedCopy-->

Dans cet exemple, pour chaque élément dans $parameters.vips, nous itérons sur tous les éléments de $parameters.vip-ports. Ainsi, pour chacun ipaddress spécifié dans $parameters.vips, nous créons des objets lbvserver de configuration pour tous les ports spécifiés dans $parameters.vip-ports. La section des propriétés définit le nom de l’objet avec « lb » comme préfixe pour la combinaison de l’adresse IP et du port. Par conséquent, pour chaque itération, $ip + $port définit une combinaison unique de l’adresse IP et du numéro de port.

Si l’ repeat-item attribut n’est pas fourni, le compilateur génère une valeur par défaut pour lui. Les valeurs par défaut pour l’élément répété sont : $repeat-item, $repeat-item-1, $repeat-item-2 respectivement pour chaque niveau de répétition. De même, si l’ repeat-index attribut n’est pas fourni, le compilateur génère une valeur par défaut pour lui. Les valeurs par défaut pour repeat-index sont : $repeat-index, $repeat-index-1 et $repeat-index-2 respectivement pour chaque niveau de répétition.

L’exemple suivant décrit la convention de dénomination en l’absence d’attributs de répétition et d’index répétitif dans un objet répétition imbriqué.

Exemple :

components:

-

     name: lbvservers-comp  

     type: ns::lbvserver

     repeat:

         repeat-list: $parameters.vips

         repeat:

            repeat-list: $parameters.vip-ports

     properties:

        name: str("lb-") + str($repeat-item) + '-' + str($repeat-item-1)

        servicetype: HTTP

        ipv46: $repeat-item

        port: $repeat-item-1
<!--NeedCopy-->
Répétitions imbriquées

Dans cet article