辅助组件

Last published : Oct 06, 2026
StyleBook 中组件部分的主要用途是通过 NITRO 内置类型或创建实际配置对象的另一个 StyleBook 来生成配置对象。辅助组件本身不构建配置对象。辅助组件从其他部分(例如参数对象、其他组件的属性或来自其他组件的输出)获取输入,并将其转换为其他形式。其他组件稍后可以使用此形式来生成实际的配置对象。辅助组件可以是两种类型:对象类型或不包含组件部分的另一个 StyleBook。
以下示例显示了一个 StyleBook 片段,该片段用于在 NetScaler 实例上创建带监视器 (lb-mon-comp) 的负载平衡服务器。
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
参数部分允许您输入应用程序的名称和负载平衡服务器的 IP 地址。在 lb-mon-comp 组件部分中,lb-mon StyleBook 的 svc-servers 参数需要一个对象列表,其中每个项都有两个子参数 ip 和 port。
但是,此 StyleBook 的参数部分仅通过 $parameters.ips 接受服务器 IP。StyleBook 假定所有服务器都在端口 80 上运行。要使用 lb-mon StyleBook 创建负载平衡配置,您必须将 $parameters.ips 转换为对象列表。这可以通过使用上述示例中的辅助组件 help-comp 来实现。help-comp 组件的类型为 server-ip-port-params StyleBook。此 StyleBook 没有组件。因此,它不创建任何配置对象。help-comp 在 $parameters.ips 上创建一个重复列表,并为 $parameters.ips 的每个项构造一个包含 ip 和端口(设置为静态 80)的对象。因此,help-comp 将 IP 地址列表转换为对象列表,该列表稍后可在 lb-mon-comp 中用于分配 svc-servers 属性。help-comp 的结果被分配给 lb-mon-comp 的 svc-servers 属性。