Composants auxiliaires
L'utilisation principale de la section des composants dans un StyleBook est de générer des objets de configuration via les types intégrés Nitro ou un autre StyleBook qui crée les objets de configuration réels. Les composants auxiliaires ne construisent pas d'objets de configuration par eux-mêmes. Les composants auxiliaires prennent les entrées d'autres sections, telles que les objets de paramètre, les propriétés d'autres composants ou les sorties d'autres composants, et les transforment sous d'autres formes. Cela peut être utilisé ultérieurement par d'autres composants pour générer les objets de configuration réels. Un composant auxiliaire peut être de deux types : un type d'objet ou un autre StyleBook qui ne contient pas de section de composant.
L'exemple suivant montre un extrait d'un StyleBook utilisé pour créer un serveur d'équilibrage de charge avec moniteur (lb-mon-comp) sur une instance NetScaler.
parameters:
-
name: appname
type: string
-
name: ips
type: ipaddress[]
-
name: vip
type: ipaddress
components:
-
name: help-comp
type: cmtypes::server-ip-port-params
repeat:
repeat-list: $parameters.ips
repeat-item: server-ip
properties:
ip: $server-ip
port: 80
-
name: lb-mon-comp
type: stlb::lb-mon
properties:
lb-appname: $parameters.appname
lb-virtual-ip: $parameters.vip
lb-virtual-port: 80
lb-service-type: HTTP
svc-service-type: HTTP
svc-servers: $components.help-comp.properties
La section des paramètres vous permet de saisir le nom de l'application et les adresses IP des serveurs d'équilibrage de charge. Dans la section de composant lb-mon-comp, le paramètre svc-servers du StyleBook lb-mon attend une liste d'objets où chaque élément a deux sous-paramètres : ip et port.
Cependant, la section des paramètres de ce StyleBook n'accepte que les adresses IP des serveurs via $parameters.ips. Le StyleBook suppose que tous les serveurs fonctionnent sur le port 80. Pour créer la configuration d'équilibrage de charge à l'aide du StyleBook lb-mon, vous devez transformer les $parameters.ips en une liste d'objets. Ceci est réalisé à l'aide du composant auxiliaire, help-comp, dans l'exemple ci-dessus. Le composant help-comp est de type StyleBook server-ip-port-params. Ce StyleBook n'a pas de composants. Par conséquent, il ne crée aucun objet de configuration. Le help-comp crée une liste répétée sur $parameters.ips et construit un objet qui se compose d'une adresse IP et d'un port (qui est défini sur un statique 80) pour chaque élément de $parameters.ips. Ainsi, help-comp transforme une liste d'adresses IP en une liste d'objets qui peut être utilisée ultérieurement dans lb-mon-comp pour attribuer la propriété svc-servers. Le résultat du help-comp est attribué à la propriété svc-servers de lb-mon-comp.