Citrix Application Delivery Management 13.0

Verschachtelte Wiederholungen

Mit dem verschachtelten Wiederholungskonstrukt können Sie je nach Definition der Komponente mehr als ein Wiederholungskonstrukt in jeder Komponente haben. Betrachten Sie eine verschachtelte Wiederholung von zwei Ebenen. Für jedes Element in der äußeren Liste (erste Wiederholungsliste) können Sie eine Wiederholungsliste für alle Elemente der inneren Liste erstellen (zweite Wiederholungsliste). Der StyleBook-Compiler unterstützt bis zu drei verschachtelte Wiederholungen. Jeder Wiederholungsebene sind mit den Attributen repeat-item und repeat-index verknüpft. Sowohl repeat-item als auch repeat-index Attribute sind optional. Darüber hinaus kann jede Wiederholung auch eine Wiederholungsbedingung angeben.

Beispiel:


parameters:
  -
      name: vips
      type: ipaddress[]
  -
      name: vip-ports
      type: tcp-port[]
components:
  -
      name: lbvservers-comp  
      type: ns::lbvserver
      repeat:
         repeat-list: $parameters.vips
         repeat-item: ip
         repeat:
              repeat-list: $parameters.vip-ports
              repeat-item: port
      properties:
         name: str("lb-") + str($ip) + '-' + str($port)
         servicetype: HTTP
         ipv46: $ip
         port: $port

Im obigen Beispiel werden für jedes Element in $parameters.vips über alle Elemente von $parameters.vip-ports iteriert. Daher erstellen wir für jede in $parameters.vips angegebene IP-Adresse lbvserver Konfigurationsobjekte für alle Ports, die in $parameters.vip-ports angegeben sind. Der Eigenschaftenabschnitt definiert den Namen des Objekts mit lb als Präfix für die Kombination von IP-Adresse und Port. Daher definiert $ip + $port für jede Iteration eine eindeutige Kombination aus IP-Adresse und Portnummer.

Wenn das Attribut repeat-item nicht bereitgestellt wird, generiert der Compiler einen Standardwert dafür. Die Standardwerte für repeat-item sind: $repeat-item, $repeat-item-1, $repeat-item-2 für jede Wiederholungsebene. Wenn das Attribut repeat-index nicht bereitgestellt wird, generiert der Compiler einen Standardwert dafür. Die Standardwerte für repeat-index sind: $repeat-index, $repeat-index-1 und $repeat-index-2 jeweils für jede Wiederholungsebene.

Im folgenden Beispiel wird die Benennungskonvention in Abwesenheit von repeat-item und repeat-index Attributen in einem verschachtelten Wiederholungsobjekt beschrieben.

Beispiel:


components:
-
     name: lbvservers-comp  
     type: ns::lbvserver
     repeat:
         repeat-list: $parameters.vips
         repeat:
            repeat-list: $parameters.vip-ports
     properties:
        name: str("lb-") + str($repeat-item) + '-' + str($repeat-item-1)
        servicetype: HTTP
        ipv46: $repeat-item
        port: $repeat-item-1
Verschachtelte Wiederholungen