パラメーター
このセクションでは、構成を作成するために必要な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 番目の部分はネットマスクです。ネットマスクは、ネットマスク長 (
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ネットワークからnetwork
IPアドレスを自動割り当てする属性を指定できます。
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ネットワークを動的に一覧表示する属性を指定します。構成パック作成フォームでは、次の操作を実行できます:
-
リストから必要なIPAM ネットワークを選択します。
-
選択した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-port
のmin-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_expression
をtrue
に設定します。この属性は、タイプが ‘string’ のパラメーターでのみ使用できます。
例:
parameters:
-
name: expression
type: string
label: Expression
required: true
gui:
is_policy_expression: true
<!--NeedCopy-->