パラメータ
このセクションでは、設定を作成するためにStyleBookで必要となるすべてのパラメータを定義できます。StyleBookが受け取る入力を記述します。このセクションはオプションですが、ほとんどのStyleBookで必要となる場合があります。パラメータセクションは、NetScalerインスタンスで設定を作成するためにStyleBookを使用するユーザー向けのフィールドを定義するものと考えることができます。
StyleBookをNetScaler Consoleにインポートして設定を作成する際、GUIはStyleBookのこのセクションを使用してフォームを表示します。このフォームは、定義されたパラメータ値の入力を受け取ります。
以下のセクションでは、このセクションの各パラメータに指定する必要がある属性について説明します。
'名前'
定義するパラメータの名前。英数字の名前を指定できます。
名前はアルファベットで始まる必要があり、さらにアルファベット、数字、ハイフン(-)、またはアンダースコア(_)を含めることができます。
StyleBookを作成する際、この
name属性を使用して、$parameters.\<name>という表記で他のセクションのパラメータを参照できます。
必須ですか?はい
'ラベル'
NetScaler Console GUIでこのパラメータの名前として表示される文字列。
必須ですか?いいえ
'説明'
パラメータの用途を説明するヘルプ文字列。ユーザーがこのパラメータのヘルプアイコンをクリックすると、NetScaler Console GUIにこのテキストが表示されます。
必須ですか?いいえ
タイプ
これらのパラメーターが取りうる値のタイプ。 パラメーターは、以下の組み込みタイプのいずれかになります。
-
string: 文字の配列。長さが指定されていない場合、文字列値は任意の数の文字を取ることができます。ただし、min-length および max-length 属性を使用することで、文字列タイプの長さを制限できます。 -
number: 整数。min-value および max-value 属性を使用することで、このタイプが取りうる最小値と最大値を指定できます。 -
boolean: true または false のいずれか。YAMLはすべてのリテラルをブール値と見なします(例: Yes または No)。 -
ipaddress: 有効なIPv4またはIPv6アドレスを表す文字列。 -
ipnetwork: 2つの部分から構成されます。最初の部分はIPアドレス、2番目の部分はネットマスクです。
ネットマスクは、ネットマスク長 (netmask-len) またはネットマスクIPアドレス (netmask_ip) で構成されます。ネットマスク長は、IPv6アドレスの場合、0~32および0~128の間の整数です。これは、ネットワーク内のIPアドレス数を決定するために使用されます。NetScaler Console GUIから構成パックを作成または更新する際、以下のいずれかのアクションを実行できます。-
ネットマスク長を有効にし、IPアドレスとネットマスク長を入力する
-
ネットマスク長を無効にし、IPアドレスとネットマスクIPアドレスを入力する
-
-
tcp-port: TCPまたはUDPポートを表す0から65535までの数値。 -
password: 不透明な/秘密の文字列値を表します。NetScaler Console GUIがこのパラメーターの値を表示する場合、アスタリスク (*****) で表示されます。 -
certfile: 証明書ファイルを表します。この値を使用すると、NetScaler Console GUIを使用してStyleBook構成を作成する際に、ローカルシステムからファイルを直接アップロードできます。アップロードされた証明書ファイルは、NetScaler Consoleの/var/mps/tenants/\<tenant_path>/ns_ssl_certsディレクトリに保存されます。証明書ファイルは、NetScaler Consoleによって管理される証明書のリストに追加されます。 -
keyfile: 証明書キーファイルを表します。この値を使用すると、NetScaler Console GUIを使用してStyleBook構成を作成する際に、ローカルシステムからファイルを直接アップロードできます。アップロードされた証明書ファイルは、NetScaler Consoleのディレクトリ/var/mps/tenants/\<tenant_path>/ns_ssl_keysに保存されます。証明書キーファイルは、NetScaler Consoleによって管理される証明書キーのリストに追加されます。 -
certkey: このタイプは、NetScaler Console証明書ストアからSSL証明書を選択するために使用されます。このストアには、NetScaler Consoleサーバーにアップロードされた既存のSSL証明書が一覧表示されます。そのため、SSL証明書をNetScaler Console証明書ストアという1か所に保存し、必要に応じて再利用できます。構成パックを作成する際、ユーザーは証明書ストアからSSL証明書を追加または選択できます。また、ユーザーは複数の構成パックに対して同じ証明書を選択できます。 -
file: ファイルを表します。 -
object: このタイプは、関連する複数のパラメーターを親要素の下にグループ化するために使用されます。親パラメーターのタイプを「object」として指定します。「object」タイプのパラメーターは、含まれるパラメーターを記述するためのネストされた「parameters」セクションを持つことができます。 -
another StyleBook: このタイプのパラメーターを使用する場合、このパラメーターは、そのタイプを示すStyleBookで定義されたパラメーターの形式で値を持つことを想定しています。
パラメーターには、タイプのリストである
typeを含めることもできます。そのためには、タイプの最後に[]を追加します。たとえば、type属性がstring[]の場合、このパラメーターは文字列のリストを入力として受け取ります。このStyleBookから構成を作成する際に、このパラメーターに1つ、2つ、または複数の文字列を指定できます。
必須ですか?はい
'ネットワーク'
type: ipaddressの場合、network属性を指定して、NetScaler Console IPAMネットワークからIPアドレスを自動割り当てできます。
NetScaler Consoleは、StyleBook構成を作成する際に、
network属性からIPアドレスを自動割り当てします。
例:
name: virtual-ip
label: "Load Balancer IP Address"
type: ipaddress
network: "network-1"
required: true
この例では、
virtual-ipフィールドがnetwork-1からIPアドレスを自動割り当てします。構成が削除されると、IPアドレスはネットワークに解放されます。
「ダイナミックアロケーション」
dynamic-allocation属性は、type:ipaddressのパラメータ定義に追加されます。この属性を使用して、NetScaler Console IPAMネットワークを動的にリスト表示します。この属性は、入力としてtrueまたはfalseのいずれかを受け入れることができます。type: ipaddressの場合、NetScaler ConsoleにあるNetScaler Console IPAMネットワークを動的にリスト表示するには、dynamic-allocation: true属性を指定します。構成パック作成フォームでは、次のことができます。
-
リストから必要なIPAMネットワークを選択します。
-
選択したIPAMネットワークから割り当てたいIPアドレスを指定します。IPアドレスが指定されていない場合、NetScaler Consoleは選択したIPAMネットワークからIPアドレスを自動的に割り当てます。
例:
-
name: virtual-ip
label: "Load Balancer IP Address"
type: ipaddress
dynamic-allocation: true
required: true
この例では、
virtual-ipフィールドにはNetScaler ConsoleにあるNetScaler Console IPAMネットワークがリスト表示されます。リストからネットワークを選択し、そのネットワークからIPアドレスを自動割り当てします。構成が削除されると、IPアドレスはネットワークに解放されます。
「キー」
このパラメータがStyleBookのキーパラメータであるかどうかを示すために、trueまたはfalseを指定します。
StyleBookには、「キー」パラメータとして定義された1つ以上のパラメータを設定できます。Configuration > Config Packsページには、パラメータの値が表示キーとして表示されます。
同じStyleBookから異なる構成パックを作成する場合、各構成は、このパラメータに対して異なる値を持つことができます。この値はGUIに表示キーとして表示されます。このキーを使用して、構成パックをソートまたはフィルタリングできます。
例:
parameters:
- name: example-appname
type: string
label: Application Name
required: true
key: true
StyleBookユーザーが構成パックを作成すると、パラメータ
example-appnameの値が表示キーとして表示されます。StyleBookユーザーはこのキーを使用して、この構成パックを識別できます。
注
構成パックのConfig Keyは、そのパラメータのいずれかに設定されたキー属性を上書きします。したがって、ユーザーがConfig Keyに値を入力すると、この値が表示キー列に表示されます。
デフォルト値はfalseです。
必須? いいえ
'必須'
パラメーターが必須かオプションかを示すために、trueまたはfalseを指定します。trueに 設定されている場合、そのパラメーターは必須であり、ユーザーは構成を作成する際にこの パラメーターの値を指定する必要があります。
NetScaler Console GUIは、ユーザーにこのパラメーターの有効な値を強制的に提供させます。
デフォルト値はfalseです。
必須? いいえ
'許可される値'
この属性を使用して、タイプが「string」に設定されている場合に、パラメーターの有効な値のリストを定義します。
NetScaler Console GUIから構成を作成する際、ユーザーはこのリストからパラメーター値を選択するよう求められます。このリストは静的であり、ユーザーはリストから値を選択することしかできません。ユーザーがリストに値を追加できるようにしたい場合は、
allow-new-values 属性を使用します。
注
リスト値をラジオオプションとして表示したい場合は、
layout 属性を設定します。
例 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-portsのリスト。リストの各要素は、allowed-valuesで指定された値のみを持つことができます。
-
name: tcpports
type: tcp-port[]
allowed-values:
- 80
- 81
- 8080
- 8081
必須ですか?いいえ
'新しい値の許可'
この属性を使用して、パラメータの動的リストを追加します。NetScaler Console GUIから構成を作成または更新する際に、ユーザーはリストに値を追加できます。
ユーザーがパラメータリストに値を追加できるようにする場合は、trueを指定します。
allow-new-valuesとallowed-values属性を組み合わせて使用できます。この組み合わせにより、パラメータの推奨値のリストを定義し、新しい値も受け入れることができます。
-
name: port
type: tcp-port
allowed-values:
- 80
- 81
- 8080
allow-new-values: true
この例では、ユーザーは構成パックの作成または更新中に、80、81、8080から選択するか、パラメータ
portに新しい値を入力することができます。
'デフォルト'
この属性を使用して、オプションのパラメータにデフォルト値を割り当てます。ユーザーが値を指定せずに構成を作成した場合、デフォルト値が使用されます。
以下の条件が満たされている場合、パラメータは値を持ちません。
-
パラメータにデフォルト値がありません。
-
ユーザーがパラメータに値を指定しません。
例 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
必須? いいえ
パターン
この属性を使用して、このパラメータの有効な値のパターン(正規表現)を定義します。 パラメータのタイプが「string」の場合に。
例:
-
name: appname
type: string
pattern: "[a-z]+"
必須? いいえ
最小値
この属性を使用して、
number または tcp-port タイプのパラメータの最小値を定義します。
例:
-
name: audio-port
type: tcp-port
min-value: 5000
数値の
min-value は負の値になることがあります。ただし、tcp-port の min-value は正の値でなければなりません。
必須? いいえ
最大値
この属性を使用して、
number または tcp-port タイプのパラメータの最大値を定義します。
定義されている場合、最大値が最小値より大きいことを確認してください。
例:
-
name: audio-port
type: tcp-port
min-value: 5000
max-value: 15000
必須ですか?いいえ
「最小長」
この属性を使用して、「string」型の パラメータに受け入れられる値の最小長を定義します。
値として定義された文字の最小長がゼロ以上であることを確認してください。
例:
-
name: appname
type: string
min-length: 3
必須ですか?いいえ
「最大長」
この属性を使用して、「string」型の パラメータに受け入れられる値の最大長を定義します。
値の最大長が、
min-lengthで定義された文字の長さ以上であることを確認してください。
例:
-
name: appname
type: string
max-length: 64
必須ですか?いいえ
「最小項目数」
この属性を使用して、リストであるパラメータの最小項目数を定義します。
最小項目数がゼロ以上であることを確認してください。
例:
-
name: server-ips
type: ipaddress[]
min-items: 2
必須ですか?いいえ
「最大項目数」
この属性を使用して、リストであるパラメータの項目の最大数を定義します。 リスト。
定義されている場合、項目の最大数が項目の最小数よりも大きいことを確認してください。
例:
-
name: server-ips
type: ipaddress[]
min-items: 2
max-items: 250
必須ですか?いいえ
「GUI」
この属性を使用して、NetScaler Console GUIでのパラメータのレイアウトをカスタマイズします。
必須ですか?いいえ
「列」
この属性は、
gui 属性のサブ属性です。この属性を使用して、NetScaler Console GUIでtype: object[] パラメータを表示する列数を定義します。
必須ですか?いいえ
「更新可能」
この属性は、
gui 属性のサブ属性です。この属性を使用して、設定作成後にパラメータを更新できるかどうかを指定します。この属性は、文字列、ブール値、数値などの単純なパラメータ型にのみ設定してください。
値が
false に設定されている場合、設定を更新するときにパラメータフィールドはグレー表示されます。
必須ですか? いいえ
「collapse_pane」
この属性は、
gui 属性のサブ属性です。この属性を使用して、このオブジェクトパラメータのレイアウトを定義するペインを折りたたみ可能にするかどうかを指定します。
値が true に設定されている場合、ユーザーはこの親パラメータの下にある子パラメータを展開または折りたたむことができます。
例:
gui:
collapse_pane: true
columns: 2
完全なパラメータセクションの例:
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
「レイアウト」
この属性は、
gui 属性のサブ属性です。この属性を使用して、リスト値をラジオボタンとして表示します。StyleBook 定義のパラメータセクションで、layout 属性を radio に設定します。これは、allowed-values 属性を持つパラメータに適用されます。構成パックを作成すると、NetScaler Console GUI は allowed-values リストの値をラジオボタンとして表示します。
例:
-
gui:
layout: radio
allowed-values:
- One
- Two
- Three
「One」、「Two」、「Three」の値は、NetScaler Console GUI でラジオボタンとして表示されます。
「依存パラメータ」
この属性は、
gui 属性のサブ属性です。これは、StyleBook 構成フォームにおけるパラメータの表示または初期値を、別のパラメータで指定された値に基づいて動的に制御します。
この属性は、フォーム上のパラメータの動作を制御するソースパラメータに指定します。他のパラメータを制御する複数の条件を含めることができます。たとえば、ソースパラメータ
protocol には、protocol パラメータの値が SSL の場合にのみ表示される依存パラメータ certificate を持たせることができます。
各条件には、次の属性を含めることができます。
-
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
この例では、依存パラメータは
lb-virtual-portパラメータ(ソースパラメータ)の下に指定されています。
ソースパラメータの値が
80に設定されると、lb-service-typeパラメータがset-valueアクションをトリガーします。その結果、ユーザーは次のいずれかのオプションを選択できます。
-
HTTP
-
TCP
-
UDP
is_policy_expression
この属性は、
gui 属性のサブ属性です。この属性を使用して、ポリシー式エディターでポリシー式を作成できるようにします。 パラメーター定義で is_policy_expression を true に設定します。この属性は、「string」型のパラメーターでのみ使用できます。
例:
parameters:
-
name: expression
type: string
label: Expression
required: true
gui:
is_policy_expression: true