Citrix Application Delivery Management 13.0

参数

在此部分可以定义样本中用于创建配置所需的所有参数。它描述样书接收的输入。尽管这是一个可选部分,但大多数样本可能需要一个。您可以考虑参数部分来定义希望用户在使用样本在 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:表示不透明/机密字符串值。当 Citrix ADM GUI 显示此参数的值时,它将显示为星号 (*****)。

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

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

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

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

  • file:表示文件。

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

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

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

强制性? 是

key

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

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

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

默认值为 false。

强制性? 否

必需

指定 true 或 false 指示参数是必需的还是可选的。如果将其设置为 true,则该参数是必需的。除非定义了默认值,否则用户必须为强制参数提供值才能创建配置。

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

默认值为 false。

强制性? 否

注意:

如果参数具有 type: objectrequired: false,则不计算此参数的子参数。

如果希望子参数的默认值生效,请按如下方式为主参数设置 required: true

    type: object
    required: true
    gui:
      collapse_pane: true

折叠se_pane 属性显示对象及其子参数在 UI 中折叠,除非用户展开窗格。

allowed-values

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

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

示例 1

 -
   name: ipaddress
   type: string
   allowed-values:
     -  SOURCEIP
     -  DEST IP
     -  NONE

示例 2

 -
   name: TCP Port
   type: tcp-port
   allowed-values:
     -  80
     -  81
     -  8080

示例 3

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

  -
    name: tcpports
    type: tcp-port[]
    allowed-values:
      -  80
      -  81
      -  8080
      -  8081

强制性? 否

default

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

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

示例 1

  -
    name: timeout
    type: number
    default: 20

示例 2

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

  -
    name: protocols
    type: string[]
    default:
      - TCP
      - UDP
      - IP

示例 3

  -
    name: timeout
    type: number
    default: 20

示例 4

  -
    name: tcpport
    type: tcp-port
    default: 20

强制性? 否

pattern

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

示例

  -
    name: appname
    type: string
    pattern: "[a-z]+"

强制性? 否

min-value

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

示例

  -
    name: audio-port
    type: tcp-port
    min-value: 5000

数字的最小值可以为负,但 tcp 端口的最小值不应为 负值。

强制性? 否

max-value

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

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

示例

  -
    name: audio-port
    type: tcp-port
    min-value: 5000
    max-value: 15000

强制性? 否

min-length

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

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

示例

  -
    name: appname
    type: string
    min-length: 3

强制性? 否

max-length

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

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

示例

  -
    name: appname
    type: string
    max-length: 64

强制性? 否

min-items

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

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

示例

  -
    name: server-ips
    type: ipaddress[]
    min-items: 2

强制性? 否

max-items

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

项目的最大数量应大于项目的最小数量(如果已定义)。

示例

  -
    name: server-ips
    type: ipaddress[]
    min-items: 2
    max-items: 250

强制性? 否

gui

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

强制性? 否

columns

这是 gui 属性的子属性。此属性用于对象类型列表的参数。这些参数在 GUI 中显示为表格。每行代表列表中的一个对象,列表示对象键。使用此选项可定义要在 Citrix ADM GUI 中显示的列数。

默认情况下,将显示字符串类型的所有对象键。

强制性? 否

updatable

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

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

强制性? 否

collapse_pane

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

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

示例

gui:
 collapse_pane: true
 columns: 2
 updatable: false

完整的 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