Citrix Application Delivery Management-Service

Verschachtelte Komponenten

Das Verschachteln einer Komponente in einer anderen Komponente ermöglicht es der verschachtelten Komponente, ihre Konfigurationsobjekte zu erstellen, indem sie auf Konfigurationsobjekte oder den Kontext verweist, der von der übergeordneten Komponente erstellt wird. Die verschachtelte Komponente kann für jedes Objekt, das in der übergeordneten Komponente erstellt wurde, ein oder mehrere Objekte erstellen. Das Verschachteln einer Komponente in einer anderen Komponente zeigt keine Beziehung zwischen den erstellten Konfigurationsobjekten an. Verschachtelung ist eine Möglichkeit, die Aufgabe von Komponenten zu erleichtern, Konfigurationsobjekte in einem vorhandenen Kontext der übergeordneten Komponenten zu konstruieren.

Beispiel:

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-->

In diesem Beispiel wird eine mehrstufige Verschachtelung verwendet. Die Komponente my-lbvserver-comp hat eine untergeordnete Komponente namens my-svcg-comp. Und die my-svcg-comp Komponente enthält zwei untergeordnete Komponenten. Die my-svcg-comp Komponente wird verwendet, um ein Dienstgruppenkonfigurationsobjekt auf der Citrix ADC-Instanz zu erstellen, indem Werte für die Attribute des integrierten NITRO-Ressourcentyps bereitgestellt werdenservicegroup. “ “ Die erste untergeordnete Komponente der my-svcg Komponente wird verwendet lbvserver-svg-binding-comp, um die von ihrer übergeordneten Komponente erstellte Dienstgruppe an den virtuellen Lastausgleichsserver (lbvserver) zu binden, der von der übergeordneten Komponente des übergeordneten Elements erstellt wurde. Die $parent Notation, auch übergeordnete Referenz genannt, wird verwendet, um auf Entitäten in den übergeordneten Komponenten zu verweisen. Die zweite untergeordnete Komponente wird verwendet members-svcg-comp, um die Liste der Dienste an die von der übergeordneten Komponente erstellte Servicegruppe zu binden. Die Bindung wird erreicht, indem das Wiederholungskonstrukt eines StyleBook verwendet wird, um über die Liste der für den Parameter angegebenen Dienste zu iterieren svc-servers. Hinweise zu wiederholten Konstrukten finden Sie unterKonstrukt wiederholen.

Sie können auch dieselben Konfigurationsobjekte erstellen, ohne die Verschachtelung von Komponenten zu verwenden. Weitere Informationen und Beispiele finden Sie unter StyleBook zum Erstellen einer einfachen Lastausgleichskonfiguration.

Verschachtelte Komponenten