Nested components 编辑

Nesting a component within another component allows the nested component to create its configuration objects by referring to configuration objects or the context created by the parent component. The nested component can create one or more objects for each object created in the parent component. Nesting a component within another component does not indicate any relationship between the configuration objects created. Nesting is a way to facilitate the task of components to construct configuration objects within an existing context of the parent components.

Example:


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 this example, multi-level nesting is used. The component my-lbvserver-comp has a child component called my-svcg-comp. And, the my-svcg-comp component has two child components within it. The my-svcg-comp component is used to create a service group configuration object on the Citrix ADC instance by providing values to the attributes of the built-in NITRO resource type “servicegroup.” The first child component of the my-svcg component, lbvserver-svg-binding-comp, is used to bind the service group created by its parent component to the load balancing virtual server (lbvserver) created by the parent’s parent component. The $parent notation, also called the parent reference, is used to refer to entities in the parent components. The second child component, members-svcg-comp, is used to bind the list of services to the service group created by the parent component. The binding is achieved by using the repeat construct of StyleBook to iterate over the list of services specified for the parameter svc-servers. For information on repeat constructs, see Repeat Construct.

You can also create the same configuration objects without using nesting of components. For more information and examples, see StyleBook to Create a Basic Load Balancing Configuration.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:55 次

字数:3697

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文