Application Delivery Management

Composants imbriqués

L’imbrication d’un composant dans un autre permet au composant imbriqué de créer ses objets de configuration en se référant aux objets de configuration ou au contexte créé par le composant parent. Le composant imbriqué peut créer un ou plusieurs objets pour chaque objet créé dans le composant parent. L’imbrication d’un composant dans un autre n’indique aucune relation entre les objets de configuration créés. L’imbrication est un moyen de faciliter la tâche des composants pour construire des objets de configuration dans un contexte existant des composants parents.

Exemple :


components:
 -
  name: my-lbvserver-comp
  type: ns::lbvserver
   properties:
      name: $parameters.name + "-lb"
      servicetype: HTTP
      ipv46: $parameters.ip
      port: 80
      lbmethod: $parameters.lb-alg
      components:
        -
         name: my-svcg-comp
         type: ns::servicegroup
         properties:
            name: $parameters.name + "-svcgrp"
            servicetype: HTTP
         components:
            -
              name: lbvserver-svg-binding-comp
              type: ns::lbvserver_servicegroup_binding
              properties:
                name: $parent.parent.properties.name
                servicegroupname: $parent.properties.name
                  -
                    name: members-svcg-comp
                    type: ns::servicegroup_servicegroupmember_binding
                    repeat:
                      repeat-list: $parameters.svc-servers
                      repeat-item: srv
                    properties:
                      ip: $srv
                      port: str($parameters.svc-port)
                      servicegroupname: $parent.properties.name
<!--NeedCopy-->

Dans cet exemple, une imbrication à plusieurs niveaux est utilisée. Le composant my-lbvserver-comp possède un composant enfant appelé my-svcg-comp. Et le composant my-svcg-comp contient deux composants enfants. Le composant my-svcg-comp est utilisé pour créer un objet de configuration de groupe de services sur l’instance NetScaler en fournissant des valeurs aux attributs du type de ressource NITRO intégré « servicegroup ». Le premier composant enfant du composant my-svcg, lbvserver-svg-binding-comp, est utilisé pour lier le groupe de services créé par son composant parent au serveur virtuel d’équilibrage de charge (lbvserver) créé par le composant parent du parent. La notation $parent, également appelée référence parent, est utilisée pour faire référence aux entités des composants parents. Le deuxième composant enfant, members-svcg-comp, est utilisé pour lier la liste des services au groupe de services créé par le composant parent. La liaison est réalisée en utilisant la construction repeat de StyleBook pour itérer sur la liste des services spécifiés pour le paramètre svc-servers. Pour plus d’informations sur les constructions repeat, consultez Construction de répétition.

Vous pouvez également créer les mêmes objets de configuration sans utiliser l’imbrication de composants. Pour plus d’informations et d’exemples, consultez StyleBook pour créer une configuration d’équilibrage de charge de base.

Composants imbriqués