样书配置

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

您也可以使用配置本身的目标 NetScaler 作为配置的数据源输入。在这种情况下,您可能需要引用目标 NetScaler 上的现有配置,以便在该 NetScaler 上创建新配置。

要使用目标实例作为数据源,您不必使 datum 内置类型参数,因为样书用户无需选择 NetScaler 实例。您可以直接在样书中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 实例作为数据源的示例样书

以下是演示如何使用目标 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 实例作为数据源