参数

在此部分可以定义样本中用于创建配置所需的所有参数。它描述样本接收的输入。尽管这是一个可选部分,但大多数样本可能需要一个。您可以考虑参数部分来定义希望用户在使用样本在 Citrix ADC 实例上创建配置时回答的问题。

当您将样本导入 Citrix ADM 并使用它创建配置时,GUI 会使用样本的此部分显示一个表单,该表单接收已定义的参数值的输入。

以下部分介绍需要为本部分中的每个参数指定的属性:

名称

要定义的参数的名称。可以指定字母数字名称。

名称必须以字母开头,可以包括其他字母、数字、连字符 (-) 或下划线 (_)。

请注意,编写样本时,可以通过采用表示法 $parameters.<name> 使用此“name”属性在其他部分中引用该参数。

强制性? 是

label

在 ADM GUI 中显示为此参数的名称的字符串。

强制性? 否

description

说明参数用途的帮助字符串。当用户单击此参数的帮助图标时,ADM GUI 会显示此文本。

强制性? 否

type

这些参数可以接收的值类型。参数可以是以 下任何内置类型:

  • string:字符数组。如果未指定长度,则字符串值可以接收任何数量的字符。但是,可以使用 min-length 和 max-length 属性限制字符串类型的长度。

  • number:整数数字。可以使用 min-value 和 max-value 属性指定此类型可以接收的最小数和最大数。

  • boolean:可以为 true 或 false。另外请注意,所有文字都被 YAML 视为布尔值(例如 Yes 或 No)。

  • ipaddress:表示有效的 IPv4 或 IPv6 地址的字符串。

  • tcp-port:表示 TCP 或 UDP 端口的 0 到 65535 之间的数字。

  • password:表示不透明/机密字符串值。当 NetScaler MAS GUI 显示此参数的值时,它将显示为星号 (*****)。

  • certfile:表示证书文件。这允许您在使用 ADM GUI 创建样本配置时直接从本地系统上传文件。上载的证书文件存储在 ADM 中的目录 /var/mps/tenants/<tenant_path>/ns_ssl_certs 中。

    证书文件将被添加到 ADM 管理的证书列表中。

  • keyfile:表示证书密钥文件。这允许您在使用 NetScaler MAS GUI 创建样本配置时直接从您本地系统上载文件。上载的证书密钥文件存储在 NetScaler MAS 中的目录 /var/mps/tenants/<tenant_path>/ns_ssl_keys 中。

    证书密钥文件将添加到 NetScaler MAS 管理的证书密钥列表中。

  • file:表示文件。

  • object:要将多个相关参数分组在一个父元素下时使用此类型。必须将父参数的类型指定为“object”。类型为“object”的参数可以有嵌套的“parameters”部分以描述其包含的参数。

  • 另一个样本:当您使用此类型的参数时,此参数期望其值采用样本中定义的参数的形式,表示其类型。

通过在类型的末尾 添加 “[]”,参数也可以有一个类型的列表,该类型是上面列出的任何类型的列表。例如,如果 type 属性是 string [],则此 参数将字符串列表作为输入。在从此样本创建配置时,您可以为 此参数提供一个、两个或多个字符串。

强制性? 是

key

指定 true 或 false 指示此参数是否是样本的主要参数。

样本只能有一个定义为“key”参数的参数。

当您从同一样本(在相同或不同的 NetScaler 实例上)创建 不同的配置时,每个配置对于此 参数具有不同/唯一值。

默认值为 false。

强制性? 否

必需

指定 true 或 false 指示参数是必需的还是可选的。如果 设置为 true,则参数是必需的,用户在创建配置时必须为此 参数提供一个值。

NetScaler MAS GUI 强制用户为此参数提供有效值。

默认值为 false。

强制性? 否

allowed-values

类型设置为“string”时,此属性用于定义参数的有效值列表。

从 NetScaler MAS GUI 创建配置时,系统会提示用户从此列表中选择参数值。

示例 1

名称:ipaddress

类型:字符串

预定值:

  • 源代码
  • 最重要的 IP

示例 2

名称:TCP 端口

类型:tcp 端口

预定值:

  • 80
  • 81
  • 8080

示例 3

(tcp-port 的列表,其中列表中的每个元素只能在预配值中 指定的值)

名称:电子端口

类型:tcp 端口 []

预定值:

  • 80
  • 81
  • 8080
  • 8081

强制性? 否

default

此属性用于为可选参数指定默认值。在创建配 置时,如果用户未指定值,则使用默认值。

从 NetScaler MAS GUI 创建配置时,如果用户没有为没有默认值的参数 提供值,则不会 为该参数设置任何值。

示例 1

名称:超时

类型:数字

德夫奥尔:20

示例 2

(其中,参数的默认值是值列表):

名称:协议

类型:字符串 []

默认值:

  • TCP
  • UDP
  • IP

示例 3

名称:超时

类型:数字

德夫奥尔:20

示例 4

名称:Tcpport

类型:tcp 端口

德夫奥尔:20

强制性? 否

pattern

当参数的类型为 “string 时,使用此属性为此 参数的有效值定义模式(正则表达式)。 “

示例

名称:应用程序名称

类型:字符串

模式:“[A-Z]+”

强制性? 否

min-value

此属性用于定义类型为“number”或“tcp-port”的参数的最小值。

示例

名称:音频端口

类型:tcp 端口

最小值:5000

数字的最小值可以是负数,但 tcp-port 的最小值不应为 负数。

强制性? 否

max-value

使用此属性定义类型为 “数字” 或 “tcp-port” 的参数的最大值。 “

如果已定义,最大值应大于最小值。

示例

名称:音频端口

类型:tcp 端口

最小值:5000

最大值:15000

强制性? 否

min-length

使用此属性定义 类型为 “string” 的参数所接受的值的最小长度。 “

定义为值的字符的最小长度应大于或 等于零。

示例

名称:应用程序名称

类型:字符串

最小长度:3

强制性? 否

max-length

使用此属性定义 类型为 “string” 的参数所接受的值的最大长度。 “

值的最大长度应大于或等于以最小长 度定义的字符长度。

示例

名称:应用程序名称

类型:字符串

最大长度:64

强制性? 否

min-items

使用此属性定义列表参数中的最小项目 数。

最小项目数应大于或等于零。

示例

名称:server-ips

类型:ipaddress[]

最小项目:2

强制性? 否

max-items

使用此属性定义列表参数中的最大项目 数。

如果已定义,最大项目数应大于最小项目数。

示例

名称:server-ips

类型:ipaddress[]

最小项目:2

最大商品:250 件

强制性? 否

gui

使用此属性可以自定义 NetScaler MAS GUI 中类型 “对象” 的参数的布局。

强制性? 否

columns

这是 gui 属性的子属性。使用此选项定义要在 NetScaler MAS GUI 中 显示的列数。

强制性? 否

updatable

这是 gui 属性的子属性。使用此选项指定是否 可以在创建配置后更新参数。

如果值设置为 false,则更新配置时参数字段灰显。

强制性? 否

collapse_pane

这是 gui 属性的子属性。使用此选项可指定定 义此对象参数布局的窗格是否可折叠。

如果值设置为 true,则用户可以展开或折叠此父参数下方的子参数。

示例

gui:

折叠窗格:真

列:2

可更新:假

完整的 parameters 部分示例:


parameters:

   -

      name: name

      label: Name

      description: Name of the application

      type: string

      required: true

   -

      name: ip

      label: IP Address

      description: The virtual IP address used for this application

      type: ipaddress

      required: true

   -

      name: svc-servers

      label: Servers

      type: object[]

      required: true

        parameters:

           -

             name: svc-ip

             label: Server IP

             description: The IP address of the server

             type: ipaddress

             required: true

            -

              name: svc-port

              label: Server Port

              description: The TCP port of the server

              type: tcp-port

              default: 80

    -

       name: lb-alg

       label: LoadBalancing Algorithm

       type: string

       allowed-values:

         - ROUNDROBIN

         - LEASTCONNECTION

        default: ROUNDROBIN

     -

        name: enable-healthcheck

        label: Enable HealthCheck?

        type: boolean

        default: true

下面的示例定义前面的部分中说明的所有列表属性和值:

   name: features-list

   type: string[]**

   min-length: 1

   max-length: 3

   min-items: 1

   max-items: 3

   pattern: "[A-Z]+"

    allowed-values:

     - SP

     - LB

     - CS

     default:

      - LB