Citrix Application Delivery Management 服务

参数

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

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

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

名称

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

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

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

强制性? 是

标签

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

强制性? 否

说明

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

强制性? 否

类型

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

  • 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:表示不透明/机密字符串值。当 ADM GUI 显示此参数的值时,它显示为星号 (*****)。

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

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

  • keyfile:表示证书密钥文件。这允许您在使用 ADM GUI 创建样书配置时直接从本地系统上传文件。上传的证书文件存储在 <tenant_path> ADM 中的目录 /var/mp/ 租户//ns_ssl_key 中。

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

  • file:表示文件。

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

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

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

强制性? 是

网络

如果指定 type: ipaddress,则可以指定从 ADM IPAM 网络自动分配 IP 地址的 network 属性。

当您创建样书配置时,ADM 会自动从 network 属性分配 IP 地址。

示例:

      name: virtual-ip
      label: "Load Balancer IP Address"
      type: ipaddress
      network: "network-1"
      required: true

在此示例中, virtual-ip 字段会自动分配 IP 地址。删除配置后,IP 地址将释放回网络。 network-1

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

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

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

默认值为 false。

强制性? 否

必需

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

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

默认值为 false。

强制性? 否

allowed-values

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

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

示例 1

名称:ipaddress

类型:字符串

允许值:

  • SOURCEIP
  • 目标 IP

示例 2

名称:TCP 端口

类型:TCP 端口

允许值:

  • 80
  • 81
  • 8080

示例 3

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

名称:tcpport

类型:TCP 端口 []

允许值:

  • 80
  • 81
  • 8080
  • 8081

强制性? 否

default

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

从 ADM 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 端口的最小值不应为 负值。

强制性? 否

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

使用此属性可自定义 ADM GUI 中参数的布局。

强制性? 否

columns

这是 gui 属性的子属性。使用此属性可定义在 ADM GUI 中显示 type: object[] 参数的列数。

强制性? 否

updatable

这是 gui 属性的子属性。使用此属性可指定在创建配置后是否可以更新参数。仅在字符串、布尔值或数字等简单参数类型上设置此属性。

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

强制性? 否

collapse_pane

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

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

示例

gui:

 collapse_pane: true

 columns: 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

参数