カスタムデータソースの使用
管理対象のNetScalerインスタンスをデータソースとして使用することに加えて、入力データが複数の構成を作成するために繰り返し使用される場合、カスタムデータソースを定義して使用できます。入力データをNetScaler Consoleにデータソースとして保存できます。また、StyleBookユーザーが繰り返し入力を提供することなく、このデータを消費するようにStyleBookを変更できます。
StyleBook定義でカスタムデータソースを使用する前に、カスタムデータソースを定義するために以下を実行します。
データソースを追加した後、このデータソースをStyleBook定義で使用できます。詳細については、「StyleBook定義でのカスタムデータソースの使用」を参照してください。
データソースタイプの追加
データが取得されるソースを区別するために、データソースタイプを指定します。
-
アプリケーション > 構成 > データソースに移動します。
-
データソースタイプを選択し、追加をクリックします。
-
データソースタイプの名前と説明を指定します。
-
続行をクリックしてデータソースタイプを保存します。変更を保存せずにワークフローを終了するには、閉じるをクリックします。
この例では、データソースタイプは環境に設定されています。このタイプは、アプリケーション環境をデータソースとして定義するために使用できます。
データソースタイプの下にコレクションスキーマを追加
データソースタイプを追加した後、データソースタイプのコレクションスキーマを追加する画面が表示されます。
-
追加をクリックします。
-
コレクションスキーマのコレクション名を指定します。
-
説明を入力します。
-
必要に応じて、属性の詳細の下に属性(名前とそのタイプ)を追加します。
-
作成をクリックします。
この例では、App-virtual-serversコレクションスキーマには4つの属性があります。したがって、保存したいコレクションには、設定されたデータ型のこれらの属性が必要です。
データソースの追加
特定のデータソースタイプのデータソースを定義します。
-
アプリケーション > 構成 > データソースに移動します。
-
データソースタブを選択し、追加をクリックします。
-
名前を指定します。
-
データソースタイプを選択し、説明を入力します。
-
続行をクリックしてデータソースを保存します。変更を保存せずにワークフローを終了するには、閉じるをクリックします。
この例では、本番環境がデータソースとして追加されています。
コレクションデータの追加
データソースを追加した後、データソースのデータを入力する画面が表示されます。コレクションスキーマのリストが表示されます。
-
コレクションデータを追加したいコレクションスキーマを選択します。
-
コレクションデータの管理をクリックします。
-
コレクションにデータを追加します。データを1つずつ追加するか、CSVファイルをアップロードできます。CSVファイルをアップロードする際は、列名がコレクションスキーマの属性名と一致していることを確認してください。
-
OKをクリックします。
コレクションなしでカスタムデータソースを使用
以下のparameters
セクションでは、コレクションなしでStyleBook定義にカスタムデータソースを定義する方法について説明します。
parameters:
- name: selected-environment
label: Select a custom datasource environment
type: datum
required: true
data-source:
type: "Environment"
<!--NeedCopy-->
構成パックGUIには適用可能なデータソースが表示され、StyleBookユーザーはそれらのいずれかを選択して構成パックを作成できます。
この例では、Production
データソースを使用してデータを取得します。
Environment
データソースタイプでApp-virtual-servers
コレクションタイプにアクセスするには、次の式を使用します。
$parameters.selected-environment.collections.App-virtual-servers
<!--NeedCopy-->
例の抜粋:
components:
-
name: lbvserver-comp
type: ns::lbvserver
repeat: $parameters.selected-environment.collections.App-virtual-servers
repeat-item: app
properties:
name: $app.attributes.Name + "-lb"
ipv46: ip($app.attributes.IPv46 )
port: $app.attributes.Port
servicetype: $app.attributes.Protocol
components:
-
name: servicegroup-comp
type: ns::servicegroup
properties:
servicegroupname: $parent.properties.name + "-svcgrp"
servicetype: $parent.properties.servicetype
components:
-
name: lbvserver-svg-binding
type: ns::lbvserver_servicegroup_binding
properties:
name: $parent.parent.properties.name
servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->
コレクションを使用したカスタムデータソースの使用
以下のparameters
セクションでは、StyleBook定義にカスタムデータソースを定義する方法について説明します。これにより、StyleBookユーザーはコレクションの特定の項目を選択できます。
parameters:
- name: selected-app-vserver
label: Select a collection from the datasource
type: datum
required: true
data-source:
type: Environment
collection: App-virtual-servers
<!--NeedCopy-->
この例では、datum
パラメーターを使用してカスタムデータソースを定義します。Production
データソースを使用して、App-virtual-servers
コレクションスキーマからデータを取得します。
Environment
データソースタイプでApp-virtual-servers
コレクションからプロトコルにアクセスするには、次の式を使用します。
$parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->
例の抜粋:
components:
- name: lbvserver-comp
type: ns::lbvserver
properties:
name: $parameters.selected-app-vserver.attributes.Name
ipv46: $parameters.selected-app-vserver.attributes.IPv46
port: $parameters.selected-app-vserver.attributes.Port
servicetype: $parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->
parameters
セクションでコレクションタイプを定義すると、StyleBookユーザーはデータソースとコレクションを選択できます。
コレクションからの複数項目の選択
以下のparametersセクションでは、StyleBookユーザーがコレクションの複数の項目を選択できます。
parameters:
- name: selected-app-vservers
label: Select app-vservers from the collection
type: datum[]
required: true
data-source:
type: Environment
collection: App-virtual-servers
<!--NeedCopy-->
この例では、datumパラメーターを使用してカスタムデータソース配列を定義します。ユーザーは、単一のデータソースまたは複数のデータソースから「App-virtual-servers」コレクションの1つ以上の項目を選択できます。
以下のコードスニペットは、選択された項目とその属性にアクセスする方法を示しています。
components:
-
name: lbvserver-comp
type: ns::lbvserver
repeat:
repeat-list: $parameters.selected-app-vservers
repeat-item: vserverObj
properties:
name: $vserverObj.attributes.Name
ipv46: $vserverObj.attributes.IPv46
port: $vserverObj.attributes.Port
servicetype: $vserverObj.attributes.Protocol
<!--NeedCopy-->
コレクションデータのフィルタリング
以下のparametersセクションでは、StyleBook定義でカスタムデータソースコレクションにフィルターを指定する方法について説明します。これにより、StyleBookユーザーはフィルターされたコレクションから特定の項目を選択できます。
parameters:
- name: selected-app-vserver
label: Select a collection from the datasource
type: datum
required: true
data-source:
type: Environment
collection: App-virtual-servers
collection-filters:
Protocol: SSL
<!--NeedCopy-->
この例では、datumパラメーターを使用してカスタムデータソースを定義します。Environmentタイプのデータソースを使用して、App-virtual-serversコレクションスキーマからフィルターされたデータを取得します。
StyleBookユーザーが仮想サーバーを選択した後、選択された項目の任意の属性は、前のセクションで説明したのと同じ方法でアクセスできます。