カスタムデータソースの利用
マネージドNetScalerインスタンスをデータソースとして利用できることに加え、入力データが複数の構成を作成するために繰り返し使用される場合、カスタムデータソースを定義して利用できます。入力データをNetScaler Consoleにデータソースとして保存できます。また、StyleBookユーザーが繰り返し入力を提供する必要なく、このデータを消費するようにStyleBookを変更できます。
StyleBook定義でカスタムデータソースを使用する前に、以下の手順でカスタムデータソースを定義します。
データソースを追加した後、このデータソースをStyleBook定義で使用できます。詳細については、StyleBook定義でのカスタムデータソースの利用を参照してください。
データソースタイプの追加
データを取得するソースを区別するために、データソースタイプを指定します。
- Applications > Configuration > Data Sources に移動します。
- Data Source Type を選択し、Add をクリックします。
- データソースタイプのName と Description を指定します。
- Proceed をクリックしてData Source Type を保存します。Close をクリックすると、変更を保存せずにワークフローを終了します。

この例では、データソースタイプは「Environment」に設定されています。このタイプは、アプリケーション環境をデータソースとして定義するために使用できます。
データソースタイプの下にコレクションスキーマを追加
Data Source Type を追加すると、Data Source Type のCollection Schemas を追加する画面が表示されます。
- Add をクリックします。
- コレクションスキーマのCollection Name を指定します。
- Description を入力します。
- Attribute Details の下に、必要に応じて属性(名前とそのタイプ)を追加します。
- Create をクリックします。

この例では、App-virtual-servers コレクションスキーマには4つの属性があります。したがって、保存するコレクションには、設定されたデータ型のこれらの属性が必要です。
データソースの追加
特定のデータソースタイプに対してデータソースを定義します。
- Applications > Configuration > Data Sources に移動します。
- Data Sources タブを選択し、Add をクリックします。
- Name を指定します。
- Data Source Type を選択し、Description を入力します。
- Proceed をクリックしてData Source を保存します。Close をクリックすると、変更を保存せずにワークフローを終了します。

この例では、Production environment がデータソースとして追加されています。
コレクションデータの追加
Data Source を追加すると、Data Source のデータを入力する画面が表示されます。Collection Schemas のリストが表示されます。
- コレクションデータを追加するCollection Schema を選択します。
- Manage Collection Data をクリックします。
- コレクションにデータを追加します。データを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ユーザーが仮想サーバーを選択した後、選択された項目の任意の属性は、前のセクションで説明したのと同じ方法でアクセスできます。