StyleBookの設定

カスタムデータソースの使用

管理対象のNetScalerインスタンスをデータソースとして使用することに加えて、入力データが複数の構成を作成するために繰り返し使用される場合、カスタムデータソースを定義して使用できます。入力データをNetScaler Consoleにデータソースとして保存できます。また、StyleBookユーザーが繰り返し入力を提供することなく、このデータを消費するようにStyleBookを変更できます。

StyleBook定義でカスタムデータソースを使用する前に、カスタムデータソースを定義するために以下を実行します。

  1. データソースタイプの追加

  2. データソースタイプの下にコレクションスキーマを追加

  3. データソースの追加

  4. コレクションデータの追加

データソースを追加した後、このデータソースをStyleBook定義で使用できます。詳細については、「StyleBook定義でのカスタムデータソースの使用」を参照してください。

データソースタイプの追加

データが取得されるソースを区別するために、データソースタイプを指定します。

  1. アプリケーション > 構成 > データソースに移動します。

  2. データソースタイプを選択し、追加をクリックします。

  3. データソースタイプの名前説明を指定します。

  4. 続行をクリックしてデータソースタイプを保存します。変更を保存せずにワークフローを終了するには、閉じるをクリックします。

データソースタイプ

この例では、データソースタイプは環境に設定されています。このタイプは、アプリケーション環境をデータソースとして定義するために使用できます。

データソースタイプの下にコレクションスキーマを追加

データソースタイプを追加した後、データソースタイプコレクションスキーマを追加する画面が表示されます。

  1. 追加をクリックします。

  2. コレクションスキーマのコレクション名を指定します。

  3. 説明を入力します。

  4. 必要に応じて、属性の詳細の下に属性(名前とそのタイプ)を追加します。

  5. 作成をクリックします。

コレクションタイプ

この例では、App-virtual-serversコレクションスキーマには4つの属性があります。したがって、保存したいコレクションには、設定されたデータ型のこれらの属性が必要です。

データソースの追加

特定のデータソースタイプのデータソースを定義します。

  1. アプリケーション > 構成 > データソースに移動します。

  2. データソースタブを選択し、追加をクリックします。

  3. 名前を指定します。

  4. データソースタイプを選択し、説明を入力します。

  5. 続行をクリックしてデータソースを保存します。変更を保存せずにワークフローを終了するには、閉じるをクリックします。

カスタムデータソース

この例では、本番環境がデータソースとして追加されています。

コレクションデータの追加

データソースを追加した後、データソースのデータを入力する画面が表示されます。コレクションスキーマのリストが表示されます。

  1. コレクションデータを追加したいコレクションスキーマを選択します。

  2. コレクションデータの管理をクリックします。

  3. コレクションにデータを追加します。データを1つずつ追加するか、CSVファイルをアップロードできます。CSVファイルをアップロードする際は、列名がコレクションスキーマの属性名と一致していることを確認してください。

  4. 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ユーザーが仮想サーバーを選択した後、選択された項目の任意の属性は、前のセクションで説明したのと同じ方法でアクセスできます。

カスタムデータソースの使用