Composants imbriqués
L’imbrication d’un composant dans un autre composant 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 composant n’indique aucune relation entre les objets de configuration créés. L’imbrication permet aux composants de créer plus facilement 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, l’imbrication à plusieurs niveaux est utilisée. Le composant my-lbvserver-comp
a un composant enfant appelé my-svcg-comp
. Et, le my-svcg-comp
composant comporte deux composants enfants. Le my-svcg-comp
composant est utilisé pour créer un objet de configuration de groupe de services sur l’instance Citrix ADC en fournissant des valeurs aux attributs du type de ressource NITRO intégré “servicegroup
. « Le premier composant enfant du my-svcg
composant, 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 parente, est utilisée pour faire référence aux entités dans les 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 obtenue en utilisant la construction de répétition d’un 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 de répétition, voir Répétition de construction.
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.