Componentes auxiliares
El uso principal de la sección de componentes de un StyleBook es generar objetos de configuración a través de tipos integrados NITRO u otro StyleBook que cree los objetos de configuración reales. Los componentes auxiliares no crean objetos de configuración por sí mismos. Los componentes auxiliares toman las entradas de otras secciones como objetos de parámetros, propiedades de otros componentes o salidas de otros componentes y los transforman en otras formas. Esto puede ser utilizado posteriormente por otros componentes para generar los objetos de configuración reales. Un componente auxiliar puede ser de dos tipos: Tipo de objeto u otro StyleBook que no contenga una sección de componente.
En el siguiente ejemplo se muestra un fragmento de un StyleBook que se utiliza para crear un servidor de equilibrio de carga con monitor (lb-mon-comp
) en una instancia de Citrix ADC.
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
<!--NeedCopy-->
La sección de parámetros le permite introducir el nombre de la aplicación y las direcciones IP de los servidores de equilibrio de carga. En la sección de lb-mon-comp
componentes, el svc-servers
parámetro de lb-mon
StyleBook espera una lista de objetos donde cada elemento tiene dos subparámetros ip
y puerto.
Sin embargo, la sección de parámetros de este StyleBook solo acepta las direcciones IP del servidor a través de $parameters.ips. El StyleBook asume que todos los servidores se ejecutan en el puerto 80. Para crear la configuración de equilibrio de carga mediante lb-mon
StyleBook, debe transformar $parameters.ips en una lista de objetos. Esto se logra utilizando el componente ayudante, help-comp en el ejemplo anterior. El componente help-comp es de tipo server-ip-port-params
StyleBook. Este StyleBook no tiene ningún componente. Como resultado, no crea ningún objeto de configuración. El help-comp crea una lista de repetición sobre $parameters.ips y construye un objeto que consiste en ip
y port (que se establece en un estático 80) para cada elemento de $parameters.ips. Por lo tanto, help-comp transforma una lista de direcciones IP en una lista de objetos que se pueden utilizar posteriormente en lb-mon-comp
para asignar svc-servers
propiedades. El resultado de la ayuda comp se asigna a la svc-servers
propiedad de lb-mon-comp
.