Übergeordnete Referenz

Wenn Sie verwendenVerschachtelte Komponenten, können Sie mit der $parent Notation auf die übergeordnete Komponente verweisen. Wenn die übergeordnete Komponente mehrere Konfigurationsobjekte mit dem Wiederholungskonstrukt erstellt und untergeordnete Komponenten innerhalb jeder Iteration andere Konfigurationsobjekte erstellen, bezieht sich die $parent Notation immer auf die aktuelle Iteration der übergeordneten Komponente. Beispiel: $parent.properties.name bezieht sich auf die name-Eigenschaft des Konfigurationsobjekts, das in der aktuellen Iteration vom übergeordneten Objekt erstellt wurde.

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: $parameters.svc-servers

                     repeat-item: srv

                     properties:

                       ip: $srv

                       port: str($parameters.svc-port)

                       servicegroupname: $parent.properties.name

Sie können auch durch die Hierarchie der Komponenten nach oben navigieren, indem Sie auf die Eigenschaften der übergeordneten Elemente bis hin zu Komponenten der obersten Ebene zugreifen. Beispielsweise nimmt der Eigenschaftsname der Komponente lbvserver-svg-binding-comp seinen Wert aus dem Eigenschaftsnamen des übergeordneten Elements des übergeordneten Elements, der my-lbvserver-comp-Komponente, mithilfe der Schreibweise $parent.parent.

Übergeordnete Referenz