Application Delivery Management

パラメーター

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

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

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

‘名前’

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

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

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

必須? はい

‘ラベル’

ADM GUI でこのパラメータの名前として表示される文字列。

必須? いいえ

‘説明’

パラメーターの使用目的について説明するヘルプ文字列。ユーザーがこのパラメータのヘルプアイコンをクリックすると、ADM 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 ADM GUIから構成パックを作成または更新する場合、次のいずれかの操作を実行できます。

    • ネットマスク長を有効にし、IPアドレスとネットマスク長を入力します
    • ネットマスクの長さを無効にし、IPアドレスとネットマスクIPアドレスを入力します

    API では、次の例に示すように、ネットマスクの長さとネットマスク IP アドレスは 1 つの値として使用できます。

    例:

       Content-Type: application/json
       Accept: application/json
       {
       “configpack”:
       {
             “stylebook”: {
             “namespace”: “com.example.stylebook”,
             “version”:“1.0”,
             “name”: “ipnetwork-example”,
             ..
             },
             “parameters”: {
                “name: “test-app”,
                 “virtual-ip”: “212.100.30.0/255.255.255.0”,
             },
             “targets”:
             [
             ]
       }
       }
       <!--NeedCopy-->
    
  • tcp-port: TCP または UDP ポートを表す 0 ~ 65535 の数値。

  • password: 不透明/秘密の文字列値を表します。ADM GUI でこのパラメーターの値を表示すると、アスタリスク (*****) として表示されます。

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

    証明書ファイルは、ADM によって管理される証明書の一覧に追加されます。

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

    証明書キーファイルは、ADM によって管理される証明書キーの一覧に追加されます。

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

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

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

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

必須? はい

‘network’

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

ADMは、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のパラメータ定義に追加されます 。ADM IPAM ネットワークを動的にリストするには、この属性を使用します。この属性は、trueまたはfalseを入力として取ることができます。type: ipaddressでは、ADM 内の ADM IPAM dynamic-allocation: true ネットワークを動的に一覧表示する属性を指定します。構成パック作成フォームでは、次の操作を実行できます。

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

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

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

例:

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

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

‘key’

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

StyleBookで「キー」パラメーターとして定義できるパラメーターは1つだけです。

同じStyleBookから( 同じまたは異なるADCインスタンスで)異なる構成を作成する場合、 各構成はこのパラメータに対して異なる/一意の値を持ちます。

デフォルト値はfalseです。

必須? いいえ

‘required’

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

ADM GUI は、このパラメーターに有効な値を指定するようにユーザーを強制します。

デフォルト値はfalseです。

必須? いいえ

‘allowed-values’

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

ADM GUI から構成を作成する場合、このリストからパラメータ値を選択するように求められます。

注:

リスト値をラジオオプションとして表示する場合は、 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-->

必須? いいえ

‘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’

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

必須? いいえ

‘columns’

この属性は、 gui 属性のサブ属性です。この属性を使用して、ADM 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 属性を持つパラメータに適用されます。構成パックを作成すると、ADM GUI にラジオボタンとしてallowed-valuesリストの値が表示されます。

例:

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

ADM GUI では、1、2、および 3 の値がラジオボタンとして表示されます。

‘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
パラメーター