StyleBookの設定

パラメーター

このセクションでは、構成を作成するために必要なStyleBookのすべてのパラメーターを定義します。StyleBookでは、このセクションに記述された入力が使用されます。このセクションはオプションですが、ほとんどのStyleBookには必要な場合があります。パラメータセクションを考慮して、StyleBookを使用してNetScaler ADCインスタンスで構成を作成するユーザーのフィールドを定義できます。

StyleBook をNetScaler Consoleにインポートして構成を作成すると、GUIはStyleBook のこのセクションを使用してフォームを表示します。このフォームは、定義されたパラメータ値の入力を受け取ります。

次のセクションでは、このセクションの各パラメータに指定する必要がある属性について説明します:

‘名前’

定義するパラメーターの名前。英数字名を指定できます。

名前はアルファベットで始まる必要があり、さらに多くのアルファベット、数字、ハイフン (-)、またはアンダースコア (_) を含めることができます。

StyleBookを作成するときに、name属性を使用して他のセクションのパラメーターを参照できます。このとき、$parameters.<name> という表記を使用します。

必須? はい

‘ラベル’

このパラメーターの名前としてNetScalerコンソールGUIに表示される文字列。

必須? いいえ

‘説明’

パラメーターの使用目的について説明するヘルプ文字列。NetScaler Console GUIでは、ユーザーがこのパラメーターのヘルプアイコンをクリックすると、このテキストが表示されます。

必須? いいえ

‘タイプ’

そのパラメーターで使用できる値のタイプ。パラメータには、 次の組み込み型のいずれかを使用できます:

  • string: 文字の配列。長さが指定されていない場合、文字列値には、任意の数の文字を使用できます。ただし、min-length属性とmax-length属性を使用すれば、文字列タイプの長さを制限できます。

  • number: 整数。min-value属性とmax-value属性により、このタイプで使用できる最小数と最大数を指定できます。

  • boolean: 真または偽のどちらでもかまいません。YAML では、すべてのリテラルがブール値と見なされます (たとえば、[はい] または [いいえ])。

  • ipaddress: 有効な IPv4 または IPv6 アドレスを表す文字列。

  • ipnetwork: それは2つの部分を持っています。最初の部分は IP アドレスで、2 番目の部分はネットマスクです。

    IPネットワーク

    ネットマスクは、ネットマスク長 (netmask-len) またはネットマスク IP アドレス (netmask_ip) で構成されます。IPv6 アドレスのネットマスク長は、0 ~ 32 ~ 128 の整数です。これは、ネットワーク内の IP アドレスのカウントを決定するために使用されます。

    NetScaler Console GUIから構成パックを作成または更新する場合、次のいずれかの操作を実行できます:

    • ネットマスク長を有効にし、IPアドレスとネットマスク長を入力します
    • ネットマスクの長さを無効にし、IPアドレスとネットマスクIPアドレスを入力します
  • tcp-port: TCP または UDP ポートを表す 0 ~ 65535 の数値。

  • password: 不透明/秘密の文字列値を表します。NetScalerコンソールGUIにこのパラメーターの値が表示される場合、アスタリスク (*****) として表示されます。

  • certfile: 証明書ファイルを表します。この値により、NetScaler Console GUIを使用してStyleBook構成を作成するときに、ローカルシステムからファイルを直接アップロードできます。アップロードされた証明書ファイルは、NetScaler Consoleのディレクトリ/var/mps/tenants/\<tenant_path>/ns_ssl_certsに保存されます。

    証明書ファイルは、NetScaler コンソールで管理される証明書のリストに追加されます。

  • keyfile: 証明書キーファイルを表します。この値により、NetScaler Console GUIを使用してStyleBook構成を作成するときに、ローカルシステムからファイルを直接アップロードできます。アップロードされた証明書ファイルは、NetScaler Consoleのディレクトリ/var/mps/tenants/\<tenant_path>/ns_ssl_keysに保存されます。

    証明書キーファイルは、NetScaler Consoleによって管理される証明書キーのリストに追加されます。

  • certkey: このタイプは、NetScaler コンソール証明書ストアからSSL証明書を選択するために使用されます。このストアには、NetScaler コンソールサーバーにアップロードされた既存のSSL証明書が一覧表示されます。そのため、SSL証明書をNetScaler Console証明書ストアという1つの場所に保存し、必要なときにいつでも再利用できます。

    構成パックを作成するときに、ユーザーは証明書ストアから SSL 証明書を追加または選択できます。また、ユーザーは複数の構成パックに同じ証明書を選択できます。

  • file: ファイルを表します。

  • object: このタイプは、いくつかの関連パラメータを親要素の下にグループ化するために使用されます。親パラメータのタイプを「object」として指定します。タイプが「object」のパラメーターにはネストされた「Parameters」セクションを含めることができ、そのセクションに含まれるパラメーターを記述できます。

  • another StyleBook: このタイプのパラメータを使用する場合、このパラメータの値は、StyleBookで定義されたパラメータの形式で、その型を示します。

パラメータには、 type 型のリストであるを持つこともできます。これを行うには、 [] 型の末尾にを追加します。たとえば、 type 属性がstring[]の場合、このパラメータは文字列のリストを入力として受け取ります。このStyleBookから構成を作成するときは、このパラメーターに対して1つまたは複数の文字列を指定できます。

必須? はい

‘network’

ではtype: ipaddress、NetScaler Console IPAMネットワークからnetworkIPアドレスを自動割り当てする属性を指定できます。

NetScaler Consoleは、StyleBook 構成を作成するときにnetwork、 属性からIPアドレスを自動的に割り当てます。

例:

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

この例では、 virtual-ipフィールドはnetwork-1から IPアドレスを自動割り当てます。設定が削除されると、IP アドレスはネットワークに解放されます。

‘dynamic-allocation’

dynamic-allocation 属性は、type:ipaddressのパラメータ定義に追加されます 。この属性を使用して、NetScalerコンソールのIPAMネットワークを動的に一覧表示します。この属性は、trueまたはfalseを入力として取ることができます。には type: ipaddress、 NetScalerコンソールにdynamic-allocation: trueあるNetScalerコンソールのIPAMネットワークを動的に一覧表示する属性を指定します。構成パック作成フォームでは、次の操作を実行できます:

  1. リストから必要なIPAM ネットワークを選択します。

  2. 選択したIPAM ネットワークから割り当てる IP アドレスを指定します。

    IPアドレスが指定されていない場合、NetScaler Consoleは選択したIPAMネットワークからIPアドレスを自動的に割り当てます。

例:

  -
    name: virtual-ip
    label: "Load Balancer IP Address"
    type: ipaddress
    dynamic-allocation: true
    required: true
<!--NeedCopy-->

この例では、 フィールドにvirtual-ipはNetScalerコンソールにあるNetScalerコンソールのIPAMネットワークが一覧表示されます。リストからネットワークを選択して、ネットワークから IP アドレスを自動割り当てます。設定が削除されると、IP アドレスはネットワークに解放されます。

‘key’

trueまたはfalseを指定して、このパラメーターがStyleBookのキーパラメーターかどうかを示します。

StyleBookには、1つ以上のパラメーターを「キー」パラメーターとして定義できます。[ 構成]>[構成パック ]ページには、 パラメータの値が表示キーとして表示されます

同じStyleBookから異なる構成パックを作成する場合、各構成でこのパラメーターの値が異なる場合があります。この値は GUI の表示キーとして表示されます。このキーを使用すると、構成パックをソートまたはフィルタリングできます。

parameters:
  - name: example-appname
    type: string
    label: Application Name
    required: true
    key: true
<!--NeedCopy-->

StyleBookユーザーが構成パックを作成すると、パラメーターexample-appnameの値が表示キーとして表示されます。StyleBookユーザーは、このキーを使用してこの構成パックを識別できます。

注:

構成パックの構成キーは 、そのパラメーターのいずれかに設定されているキー属性を上書きします。そのため、ユーザーが Config Key に値を入力すると、その値が Display Key 列に表示されます。

デフォルト値はfalseです。

必須? いいえ

‘required’

trueまたはfalseを指定して、パラメーターが必須か、任意かを示します。true に設定した場合、パラメータは必須であり、ユーザーは構成の作成時にこの パラメータの値を指定する必要があります。

NetScalerコンソールのGUIでは、ユーザーにこのパラメーターに有効な値を入力するように強制されます。

デフォルト値はfalseです。

必須? いいえ

‘allowed-values’

型が「string」に設定されている場合、この属性を使用して、パラメータの有効な値のリストを定義します。

NetScaler Console GUIから構成を作成する場合、ユーザーはこのリストからパラメーター値を選択するように求められます。このリストは静的であり、ユーザーはリストから値を選択することしかできません。ユーザーがリストに値を追加できるようにするには、 allow-new-values 属性を使用してください。

注:

リスト値をラジオオプションとして表示する場合は、 layout 属性を設定します。

例 1

-
      name: ipaddress
      type: string
      allowed-values:
            -  SOURCEIP
            -  DEST IP
            -  NONE
<!--NeedCopy-->

例 2

-
      name: TCP Port
      type: tcp-port
      allowed-values:
            -  80
            -  81
            -  8080
<!--NeedCopy-->

サンプル 3

tcp-portsのリスト。リストの各要素は、で指定された値のみを持つことができます allowed-values

-
      name: tcpports
      type: tcp-port[]
      allowed-values:
            -  80
            -  81
            -  8080
            -  8081
<!--NeedCopy-->

必須? いいえ

‘許可-新しい値’

この属性を使用して、パラメータの動的リストを追加します。NetScaler Console GUIから構成を作成または更新する場合、ユーザーはリストに値を追加できます。

ユーザーがパラメータリストに値を追加する場合は、true を指定します。allow-new-values属性とallowed-values属性を組み合わせて使用できます。この組み合わせにより、パラメータの推奨値のリストを定義し、新しい値を受け入れることができます。

-
      name: port
      type: tcp-port
      allowed-values:
            -  80
            -  81
            -  8080
      allow-new-values: true
<!--NeedCopy-->

この例では、構成パックを作成または更新するときに、ユーザーは 80、81、8080 から選択するか、パラメーターportの新しい値を入力できます。

‘default’

任意のパラメーターにデフォルト値を割り当てるには、この属性を使用します。ユーザーが値を指定せずに構成を作成すると、デフォルト値が使用されます。

次の条件が満たされた場合、パラメータは値を取れません:

  • パラメータにはデフォルト値はありません。

  • ユーザーは、パラメータの値を指定しません。

例 1

-
      name: timeout
      type: number
      default: 20
<!--NeedCopy-->

例 2

パラメータのデフォルト値をリストするには、次の手順に従います:

-
      name: protocols
      type: string[]
      default:
            -  TCP
            -  UDP
            -  IP
<!--NeedCopy-->

サンプル 3

-
      name: timeout
      type: number
      default: 20
<!--NeedCopy-->

例 4

-
      name: tcpport
      type: tcp-port
      default: 20
<!--NeedCopy-->

必須? いいえ

‘pattern’

この属性を使用して、パラメータの型が「string」の場合に、この パラメータの有効な値のパターン(正規表現)を定義します。

-
      name: appname
      type: string
      pattern: "[a-z]+"
<!--NeedCopy-->

必須? いいえ

‘min-value’

この属性を使用して、 number またはtcp-portタイプのパラメータの最小値を定義します。

-
      name: audio-port
      type: tcp-port
      min-value: 5000
<!--NeedCopy-->

数字のmin-valueには負の値を指定できます。ただし、tcp-portmin-valueは正でなければなりません。

必須? いいえ

‘max-value’

この属性を使用して、 number 型または tcp-portのパラメータの最大値を定義します。

最大値が最小値より大きいことを確認します (定義されている場合)。

-
      name: audio-port
      type: tcp-port
      min-value: 5000
      max-value: 15000
<!--NeedCopy-->

必須? いいえ

‘min-length’

この属性を使用して、「string」 タイプのパラメータに受け入れられる値の最小長を定義します。

値として定義された文字の最小長は、ゼロ以上であることを確認します。

-
      name: appname
      type: string
      min-length: 3
<!--NeedCopy-->

必須? いいえ

‘max-length’

種類が「string」のパラメーターに入力できる値の最大文字数を定義するには、 この属性を使用します。

値の最大長が、min-lengthで定義されている文字の長さ以上であることを確認します。

-
      name: appname
      type: string
      max-length: 64
<!--NeedCopy-->

必須? いいえ

‘min-items’

一覧となっているパラメーターの項目の最小数を定義するには、この属性を使用します。

アイテムの最小数がゼロ以上であることを確認します。

-
      name: server-ips
      type: ipaddress[]
      min-items: 2
<!--NeedCopy-->

必須? いいえ

‘max-items

リストであるパラメータ内の項目の最大数を定義するには、 この属性を使用します。

アイテムの最大数が、定義されている場合は、アイテムの最小数よりも大きいことを確認してください。

-
      name: server-ips
      type: ipaddress[]
      min-items: 2
      max-items: 250
<!--NeedCopy-->

必須? いいえ

‘gui’

この属性を使用して、NetScalerコンソールGUIのパラメーターのレイアウトをカスタマイズします。

必須? いいえ

‘columns’

この属性は、 gui 属性のサブ属性です。この属性を使用して、 NetScalerコンソールGUIにパラメーターを表示するtype: object[]列の数を定義します。

必須? いいえ

‘updable’

この属性は、 gui 属性のサブ属性です。この属性を使用して、構成の作成後にパラメータを更新できるかどうかを指定します。この属性は、文字列、ブール、数値などの単純なパラメータタイプにのみ設定します。

値がfalseに設定されている場合、設定を更新すると、パラメータフィールドはグレー表示されます。

必須? いいえ

‘collapse_pane’

この属性は、 gui 属性のサブ属性です。この属性を使用して、このオブジェクトパラメータのレイアウトを定義するペインが折りたたみ可能かどうかを指定します。

値をtrueに設定すると、ユーザーはこの親パラメーターの下にある子パラメーターを展開したり折りたたんだりできるようになります。

gui:

 collapse_pane: true

 columns: 2
<!--NeedCopy-->

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
<!--NeedCopy-->

次の例では、一覧のすべての属性と、前のセクションで説明した値を定義しています:


        -
              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
<!--NeedCopy-->

‘layout’

この属性は、 gui 属性のサブ属性です。この属性を使用して、リスト値をラジオボタンとして表示します。StyleBook 定義のパラメータセクションで、 layout属性をradioに設定します。 allowed-values 属性を持つパラメータに適用されます。構成パックを作成すると、NetScaler Console GUIはリスト内の値をラジオallowed-valuesボタンとして表示します。

例:

-
    gui:
        layout: radio
    allowed-values:
        - One
        - Two
        - Three
<!--NeedCopy-->

1、2、3の値は、NetScalerコンソールGUIにラジオボタンとして表示されます。

‘dependent-parameters’

この属性は、 gui 属性のサブ属性です。別のパラメータで指定された値に基づいて、StyleBook設定フォームでのパラメータの外観または初期値を動的に制御します。

フォーム上でのパラメーターの動作を制御するソースパラメーターにこの属性を指定します。他のパラメータを制御する複数の条件を含めることができます。たとえば、 protocol ソースパラメータには依存パラメータcertificateを指定できます。これは 、 protocol パラメータ値がSSLである場合にのみ表示されます。

各条件は、次の属性を持つことができます:

  • target-parameter: この条件が適用されるターゲットパラメータを指定します。

  • matching-values: アクションをトリガーするソースパラメータの値のリストを指定します。

  • action: ターゲットパラメータで次のいずれかのアクションを指定します:

    • read-only: パラメーターは読み取り専用になります。

    • show: パラメーターが非表示の場合、フォームに表示されます。

    • hide: パラメーターがフォームから削除されます。

    • set-value: パラメーター値は、value 属性で指定された値に設定されます。

  • value: アクションがset-valueの場合、ターゲットパラメーターの値。

ユーザー入力がソースパラメーターの指定された値と一致する場合、ターゲットパラメーターの外観または値は、指定されたアクションに従って変化します。

例:

 -
    name: lb-virtual-port
    label: "Load Balanced App Virtual Port"
    description: "TCP port representing the Load Balanced application"
    type: tcp-port
    gui:
      updatable: false
      dependent-parameters:
            -
              matching-values:
                - 80
              target-parameter: $parameters.lb-service-type
              action: set-value
              allowed-values:
              - HTTP
              - TCP
              - UDP

    default: 80

<!--NeedCopy-->

この例では、依存パラメータはパラメータ ( lb-virtual-port ソースパラメータ) の下に指定されています。

ソースパラメーターの値が80に設定されている場合、lb-service-typeパラメーターはset-valueアクションをトリガーします。その結果、ユーザーは次のいずれかのオプションを選択できます:

  • HTTP
  • TCP
  • UDP

is_policy_expression

この属性は、 gui 属性のサブ属性です。この属性を使用して、ポリシー式エディタがポリシー式を作成できるようにします。 パラメータ定義でis_policy_expressiontrueに設定します。この属性は、タイプが ‘string’ のパラメーターでのみ使用できます。

例:

parameters:
  -

    name: expression
    type: string
    label: Expression
    required: true
    gui:
      is_policy_expression: true
<!--NeedCopy-->