Application Delivery Management

Verschachtelte Wiederholungen

Mit dem verschachtelten Wiederholungskonstrukt können Sie je nach Definition der Komponente mehr als ein Wiederholungskonstrukt in jeder Komponente haben. Stellen Sie sich eine verschachtelte Wiederholung von zwei Ebenen vor. Für jedes Element in der äußeren Liste (erste Wiederholungsliste) können Sie eine Wiederholungsliste für alle Elemente der inneren Liste (zweite Wiederholungsliste) erstellen. Der StyleBook-Compiler unterstützt bis zu drei verschachtelte Wiederholungen. Jeder Wiederholungsebene sind die Attribute Wiederholungselement und Wiederholungsindex zugeordnet. Sowohl die Attribute repeat-item als auch repeat-index sind optional. Zusätzlich kann für jede Wiederholung auch eine Wiederholungsbedingung angegeben werden.

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

Im obigen Beispiel iterieren wir für jedes Element in $parameters.vips über alle Elemente von $parameters.vip-ports. Daher erstellen wir für jede in $parameters.vips angegebene IP-Adresse lbvserver-Konfigurationsobjekte für alle in $parameters.vip-ports angegebenen Ports. Der Eigenschaftenbereich definiert den Namen des Objekts mit „lb“ als Präfix für die Kombination aus IP-Adresse und Port. Daher definiert $ip + $port für jede Iteration eine eindeutige Kombination aus der IP-Adresse und der 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 jeweils für jede Wiederholungsebene. Ebenso generiert der Compiler einen Standardwert dafür, wenn das Attribut repeat-index nicht bereitgestellt wird. Die Standardwerte für repeat-index sind: $repeat-index, $repeat-index-1 und $repeat-index-2 jeweils für jede Wiederholungsebene.

Das folgende Beispiel beschreibt die Benennungskonvention, wenn die Attribute repeat-item und repeat-index in einem verschachtelten Wiederholungsobjekt fehlen.

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

In diesem Artikel