StyleBook-Konfiguration

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

In diesem Beispiel iterieren wir für jedes Element in $parameters.vipsalle Elemente von $parameters.vip-ports. Daher erstellen wir für jedes in ipaddress angegebene in lbvserver Konfigurationsobjekte für alle Ports $parameters.vips, die in $ parameters.vip-Ports angegeben sind. Der Eigenschaftenabschnitt definiert den Namen des Objekts mit “lb” als Präfix für die Kombination der IP-Adresse und des Ports. $ip + $port Definiert daher für jede Iteration eine eindeutige Kombination der IP-Adresse und der Portnummer.

Wenn das repeat-item Attribut nicht angegeben wird, generiert der Compiler einen Standardwert dafür. Die Standardwerte für Wiederholungselement sind: $repeat-item$repeat-item-1, $repeat-item-2 bzw. für jede Wiederholungsstufe. Wenn das repeat-index Attribut nicht angegeben 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.

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