Application Delivery Management

将目标 NetScaler 实例用作数据源

您还可以将配置的目标 NetScaler 本身用作配置的数据源输入。在这种情况下,您可能希望引用目标 NetScaler 上的现有配置,以在该 NetScaler 上创建新配置。

要将目标实例用作数据源,您不必使用 datum 内置类型参数,因为 StyleBook 用户无需选择任何 NetScaler 实例。您可以直接在 StyleBook 的 components 部分中编写表达式,以从目标 NetScaler 实例检索数据。

使用以下表达式从目标 NetScaler 实例检索以下内容:

  • 集合:

     $current-target-as-datasource.collections.<collection-name>
     <!--NeedCopy-->
    

    示例:

     $current-target-as-datasource.collections.lbvserver
     <!--NeedCopy-->
    
  • 属性:

     $current-target-as-datasource.collections.attributes.<attribute>
     <!--NeedCopy-->
    

使用目标 NetScaler 实例作为数据源的 StyleBook 示例

以下是一个 StyleBook 示例,演示如何将目标 NetScaler 实例用作数据源:

---
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
<!--NeedCopy-->

在此示例中,配置包会检查目标 NetScaler 实例中的负载均衡虚拟服务器。如果给定的负载均衡虚拟服务器 IP 地址匹配,它将检索名称和服务组名称。

将目标 NetScaler 实例用作数据源

将目标 NetScaler 实例用作数据源