样书配置

帮助程序组件

样书中组件部分的主要用途是通过 NITRO 内置类型或其他创建实际配置对象的样书生成配置对象。帮助程序组件本身不会生成配置对象。帮助程序组件接收来自其他部分(例如,参数对象、其他组件的属性或其他组件的输出)的输入,并将其传输到其他表单中。以后,其他组件可以使用这些内容来生成实际配置对象。帮助程序组件的类型有两种:对象类型或不包含组件部分的另一个样书。

以下示例显示了样书的片段,该样书用于在 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

<!--NeedCopy-->

parameters 部分允许您输入应用程序的名称和负载平衡服务器的 IP 地址。在 lb-mon-comp 组件部分中, lb-mon 样书的 svc-servers 参数需要一个对象列表,其中每个项目都有两个子参数 ip 和端口。

但是,此样书的 parameters 部分仅通过 $parameters.ips 接受服务器 IP。该样书假定所有服务器都在端口 80 上运行。要使用 lb-mon 样书创建负载平衡配置,必须将 $参数ters.ips 转换为对象列表。这是使用上例中的辅助器组件 help-comp 来实现的。help-comp 组件是 server-ip-port-params 样书类型。此样书没有任何组件。因此,它不会创建任何配置对象。help-comp 在 $参数ters.ips 上创建一个重复列表,并为 $参数ters.ips 构造一个由 ip 和 port 组成的对象(设置为静态 80)。因此,help-comp 将 IP 地址列表转换为可以稍后用于分配 svc-servers 属性的 lb-mon-comp 对象列表。 帮助 comp 的结果被分配给的 lb-mon-compsvc-servers 属性。

帮助程序组件

在本文中