Componentes anidados

El anidamiento de un componente dentro de otro componente permite al componente anidado crear sus objetos de configuración haciendo referencia a los objetos de configuración o al contexto creado por el componente principal. El componente anidado puede crear uno o más objetos para cada objeto creado en el componente principal. El anidamiento de un componente dentro de otro componente no indica ninguna relación entre los objetos de configuración creados. El anidamiento es una forma de facilitar la tarea de los componentes para construir objetos de configuración dentro de un contexto existente de los componentes principales.

Ejemplo:

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

En este ejemplo, se utiliza el anidamiento de varios niveles. El componente my-lbvserver-comp tiene un componente secundario llamado my-svcg-comp. Y, el componente my-svcg-comp tiene dos componentes secundarios dentro de él. El componente my-svcg-comp se utiliza para crear un objeto de configuración de grupo de servicios en la instancia de Citrix ADC proporcionando valores a los atributos del tipo de recurso NITRO integrado “servicegroup. “ El primer componente secundario del componente my-svcg, lbvserver-svg-binding-comp, se utiliza para enlazar el grupo de servicios creado por su componente principal al servidor virtual de equilibrio de carga (lbvserver) creado por el componente principal del principal. La notación $principal, también llamada referencia principal, se utiliza para hacer referencia a entidades en los componentes principal. El segundo componente secundario, members-svcg-comp, se utiliza para enlazar la lista de servicios al grupo de servicios creado por el componente principal. El enlace se logra mediante el uso de la construcción de repetición de StyleBook para iterar sobre la lista de servicios especificados para el parámetro svc-servers. Para obtener información sobre los componentes fijos repetidos, consulte Repetir componente fijo.

También puede crear los mismos objetos de configuración sin utilizar el anidamiento de componentes. Para obtener más información y ejemplos, consulte StyleBook para crear una configuración básica de equilibrio de carga.

Componentes anidados