StyleBook 配置

使用自定义数据源

除了托管的 NetScaler 实例作为数据源之外,如果输入数据重复用于创建多个配置,您还可以定义和使用自定义数据源。您可以将输入数据作为数据源保存在 NetScaler Console 中。此外,您可以修改 StyleBooks 以使用此数据,而无需 StyleBook 用户重复提供输入。

在 StyleBook 定义中使用自定义数据源之前,请执行以下操作来定义自定义数据源:

  1. 添加数据源类型

  2. 在数据源类型下添加集合架构

  3. 添加数据源

  4. 添加集合数据

添加数据源后,您可以在 StyleBook 定义中使用此数据源。有关详细信息,请参阅在 StyleBook 定义中使用自定义数据源

添加数据源类型

指定数据源类型以区分检索数据的来源。

  1. 应用程序 > 配置 > 数据源 中。

  2. 选择 数据源类型,然后单击 添加

  3. 指定数据源类型的名称描述

  4. 单击 继续 以保存数据源类型。单击 关闭 以退出工作流而不保存任何更改。

数据源类型

在此示例中,数据源类型设置为 Environment。此类型可用于将应用程序环境定义为数据源。

在数据源类型下添加集合架构

添加 数据源类型 后,将显示一个用于为“数据源类型”添加 集合架构 的屏幕。

  1. 单击 添加

  2. 指定集合架构的集合名称

  3. 输入描述

  4. 根据需要,在属性详细信息下添加属性(名称及其类型)。

  5. 单击 创建

集合类型

在此示例中,App-virtual-servers 集合架构有四个属性。因此,您要存储的集合必须具有这些指定数据类型的属性。

添加数据源

为特定数据源类型定义数据源。

  1. 转到 应用程序 > 配置 > 数据源

  2. 选择数据源选项卡,然后单击 添加

  3. 指定名称

  4. 选择数据源类型,然后输入描述

  5. 单击 继续 以保存数据源。单击 关闭 以退出工作流而不保存任何更改。

自定义数据源

在此示例中,Production environment 已添加为数据源。

添加集合数据

添加数据源后,将显示一个用于输入数据源数据的屏幕。您可以看到集合架构列表。

  1. 选择要添加集合数据的集合架构

  2. 单击 管理集合数据

  3. 向集合添加数据。您可以逐个添加数据或上传 CSV 文件。上传 CSV 文件时,请确保列名与集合架构的属性名称匹配。

  4. 单击 确定

集合

使用不带集合的自定义数据源

以下 parameters 部分说明了如何在 StyleBook 定义中定义不带集合的自定义数据源。

parameters:
    -  name: selected-environment
      label: Select a custom datasource environment
      type: datum
      required: true
      data-source:
        type: "Environment"
<!--NeedCopy-->

配置包 GUI 显示适用的数据源,StyleBook 用户可以选择其中任何一个来创建配置包。

不带集合的自定义数据源

在此示例中,它使用 Production 数据源来检索数据。

Environment 数据源类型中,要访问 App-virtual-servers 集合类型,请使用以下表达式:

$parameters.selected-environment.collections.App-virtual-servers
<!--NeedCopy-->

示例代码片段

components:
  -
    name: lbvserver-comp
    type: ns::lbvserver
    repeat: $parameters.selected-environment.collections.App-virtual-servers
    repeat-item: app
    properties:
      name: $app.attributes.Name + "-lb"
      ipv46: ip($app.attributes.IPv46 )
      port: $app.attributes.Port
      servicetype: $app.attributes.Protocol
    components:

      -
        name: servicegroup-comp
        type: ns::servicegroup
        properties:
          servicegroupname: $parent.properties.name + "-svcgrp"
          servicetype: $parent.properties.servicetype

        components:
          -
            name: lbvserver-svg-binding
            type: ns::lbvserver_servicegroup_binding
            properties:
              name: $parent.parent.properties.name
              servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->

使用带集合的自定义数据源

以下 parameters 部分说明了如何在 StyleBook 定义中定义自定义数据源。它允许 StyleBook 用户选择集合中的特定项。

parameters:
  -  name: selected-app-vserver
    label: Select a collection from the datasource
    type: datum
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
<!--NeedCopy-->

在此示例中,使用 datum 参数定义自定义数据源。它使用 Production 数据源从 App-virtual-servers 集合架构中检索数据。

Environment 数据源类型中,要从 App-virtual-servers 集合访问协议,请使用以下表达式:

$parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->

示例代码片段

components:
  -  name: lbvserver-comp
    type: ns::lbvserver
    properties:
      name: $parameters.selected-app-vserver.attributes.Name
      ipv46: $parameters.selected-app-vserver.attributes.IPv46
      port: $parameters.selected-app-vserver.attributes.Port
      servicetype: $parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->

parameters 部分中定义集合类型时,StyleBook 用户可以选择数据源和集合。

从集合中选择多个项:

以下 parameters 部分允许 StyleBook 用户选择集合中的多个项。

parameters:
  -  name: selected-app-vservers
    label: Select app-vservers from the collection
    type: datum[]
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
 <!--NeedCopy-->

在此示例中,使用 datum 参数定义自定义数据源数组。用户可以从单个数据源或跨数据源从“App-virtual-servers”集合中选择一个或多个项。

以下代码片段描述了访问所选项目及其属性的方式。

components:
  -
   name: lbvserver-comp
   type: ns::lbvserver
   repeat:
   repeat-list: $parameters.selected-app-vservers
   repeat-item: vserverObj
    properties:
      name: $vserverObj.attributes.Name
      ipv46: $vserverObj.attributes.IPv46
      port: $vserverObj.attributes.Port
      servicetype: $vserverObj.attributes.Protocol
<!--NeedCopy-->

筛选集合数据:

以下 parameters 部分说明了如何在 StyleBook 定义中指定自定义数据源集合上的筛选器。它允许 StyleBook 用户从筛选后的集合中选择特定项。

parameters:
  -  name: selected-app-vserver
    label: Select a collection from the datasource
    type: datum
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
      collection-filters:
        Protocol: SSL
<!--NeedCopy-->

在此示例中,使用 datum 参数定义自定义数据源。它使用 Environment 类型的数据源从 App-virtual-servers 集合架构中检索筛选后的数据。

StyleBook 用户选择虚拟服务器后,可以按照上一节中说明的相同方式访问所选项目的任何属性。

使用自定义数据源