カスタムデータソースを使う
入力データが複数の構成の作成に繰り返し使用される場合は、データソースとしてのマネージドNetScalerインスタンスに加えて、カスタムデータソースを定義して使用できます。NetScaler コンソールに入力データをデータソースとして保存できます。また、StyleBookユーザーが繰り返し入力する必要なく、このデータを使用するようにStyleBookを変更することができます。
StyleBook定義でカスタムデータソースを使用する前に、以下を実行してカスタムデータソースを定義してください。
データソースを追加すると、このデータソースをStyleBook定義で使用できます。詳しくは、 StyleBook定義でのカスタムデータソースの使用を参照してください。
データソースタイプを追加
データの取得元となるソースを区別するために、データソースタイプを指定します。
-
アプリケーション > 構成 > データソースで。
-
[ データソースタイプ] を選択します。
-
データソースタイプの [ 名前 ] と [ 説明 ] を指定します。
-
[作成] をクリックします。
この例では、データソースタイプは Environmentに設定されています。このタイプは、アプリケーション環境をデータソースとして定義するために使用できます。
データソースの追加
特定のデータソースタイプのデータソースを定義します。
-
[ アプリケーション] > [構成] > [データソース] に移動します。
-
[追加] をクリックします。
-
[ データソース名]、[データソースタイプ]、および [ 説明] を指定します。
-
[作成] をクリックします。
この例では、実稼働環境がデータソースとして追加されます。
コレクションタイプを追加
コレクションタイプを追加して、コレクションに保存できるデータのタイプを記述します。
-
[ アプリケーション] > [構成] > [データソース] に移動します。
-
コレクションタイプを選択します。
-
[追加] をクリックします。
-
コレクションタイプの名前を指定します 。
-
データソースタイプを選択します。
-
属性名とそのタイプを追加します。
-
[作成] をクリックします。
この例では、 App-Virtual-Servers コレクションタイプには 4 つの属性があります。そのため、保存するコレクションには、設定されたデータ型の次の属性が必要です。
コレクションを追加
選択したコレクションタイプに対応するコレクションを追加します。
-
[ アプリケーション] > [構成] > [データソース] に移動します。
-
「 コレクションタイプ」で、コレクションを追加するコレクションタイプを選択します。
-
コレクションの名前を指定します 。
-
データソースを選択します。
-
コレクションにデータを追加します。データを 1 つずつ追加することも、CSV ファイルをアップロードすることもできます。
CSV ファイルをアップロードする場合は、列名がコレクションタイプの属性名と一致していることを確認してください。
-
[作成] をクリックします。
カスタムデータソースをコレクションなしで使用
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ユーザーはデータソースとコレクションを選択できます。