ターゲットNetScalerインスタンスをデータソースとして使用する

最終公開日 : Oct 02, 2026
設定のターゲットNetScaler自体を、設定のデータソース入力として使用することもできます。このシナリオでは、ターゲットNetScaler上の既存の設定を参照して、そのNetScaler上に新しい設定を作成したい場合があります。
ターゲットインスタンスをデータソースとして使用する場合、StyleBookユーザーがNetScalerインスタンスを選択する必要がないため、datum組み込み型パラメーターを使用する必要はありません。ターゲットNetScalerインスタンスからデータを取得する式を、StyleBookのcomponentsセクションに直接記述できます。
ターゲットNetScalerインスタンスから以下を取得するには、次の式を使用します。
  • コレクション:
    $current-target-as-datasource.collections.<collection-name>
    例:
    $current-target-as-datasource.collections.lbvserver
  • 属性:
    $current-target-as-datasource.collections.attributes.<attribute>

ターゲットNetScalerインスタンスをデータソースとして使用するStyleBookの例

ターゲットNetScalerインスタンスをデータソースとして使用する方法を示すStyleBookの例を次に示します。
---
name: lb-add-service-with-target-adc
namespace: com.citrix.adc.stylebooks
version: "1.1"
display-name: "HTTP/SSL LoadBalancing StyleBook with Service Binding"
description: "This stylebook defines a typical Load Balanced Application configuration."
schema-version: "1.0"
import-stylebooks:
  -
    namespace: netscaler.nitro.config
    prefix: ns
    version: "10.5"

components:
  -
    name: servicegroup-comp
    type: ns::servicegroup
    properties:
      servicegroupname: "lb-demo-svcgrp"
      servicetype: "HTTP"

    components:
      -
        name: lbvserver-svg-binding
        type: ns::lbvserver_servicegroup_binding
        repeat: $current-target-as-datasource.collections.lbvserver
        repeat-item: lbvsrvr
        repeat-condition: $lbvsrvr.attributes.name == "lb-demo-lb"
        properties:
          name: $lbvsrvr.attributes.name
          servicegroupname: $parent.properties.servicegroupname
この例では、構成パックはターゲットNetScalerインスタンス内の負荷分散仮想サーバーをチェックします。そして、指定された負荷分散仮想サーバーのIPアドレスが一致した場合、その名前とサービスグループ名を取得します。
ターゲットNetScalerインスタンスをデータソースとして使用(/en-us/netscaler-application-delivery-management-software/media/target-instance-as-datasource.png)