パラメーター
このセクションでは、構成を作成するために必要な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 番目の部分はネットマスクです。ネットマスクは、ネットマスク長 (
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
ネットワークを動的に一覧表示する属性を指定します。設定パック作成フォームでは、次の操作を実行できます。
-
リストから必要なIPAM ネットワークを選択します。
-
選択した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-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’
この属性を使用して、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