Application Delivery Management

Hilfskomponenten

Der primäre Verwendungszweck des Komponentenabschnitts in einem StyleBook besteht darin, Konfigurationsobjekte über integrierte Nitro-Typen oder ein anderes StyleBook zu generieren, das die eigentlichen Konfigurationsobjekte erstellt. Die Hilfskomponenten erstellen Konfigurationsobjekte nicht selbst. Hilfskomponenten übernehmen die Eingaben aus anderen Abschnitten, wie Parameterobjekten, Eigenschaften anderer Komponenten oder Ausgaben anderer Komponenten, und transformieren sie in andere Formen. Dies kann später von anderen Komponenten verwendet werden, um die eigentlichen Konfigurationsobjekte zu generieren. Eine Hilfskomponente kann von zwei Typen sein: Objekttyp oder ein anderes StyleBook, das keinen Komponentenabschnitt enthält.

Das folgende Beispiel zeigt einen Ausschnitt eines StyleBooks, das verwendet wird, um einen Lastausgleichsserver mit Monitor (lb-mon-comp) auf einer NetScaler-Instanz zu erstellen.

parameters:
  -
    name: appname
    type: string
  -
    name: ips
    type: ipaddress[]
  -
    name: vip
    type: ipaddress

components:
  -
    name: help-comp
    type: cmtypes::server-ip-port-params
    repeat:
      repeat-list: $parameters.ips
      repeat-item: server-ip
    properties:
      ip: $server-ip
      port: 80
  -
    name: lb-mon-comp
    type: stlb::lb-mon
    properties:
      lb-appname: $parameters.appname
      lb-virtual-ip: $parameters.vip
      lb-virtual-port: 80
      lb-service-type: HTTP
      svc-service-type: HTTP
      svc-servers: $components.help-comp.properties
<!--NeedCopy-->

Der Abschnitt parameters ermöglicht es Ihnen, den Namen der Anwendung und die IP-Adressen der Lastausgleichsserver einzugeben. Im Komponentenabschnitt lb-mon-comp erwartet der Parameter svc-servers des lb-mon StyleBooks eine Liste von Objekten, wobei jedes Element zwei Unterparameter hat: ip und port.

Allerdings akzeptiert der parameters-Abschnitt dieses StyleBooks die Server-IPs nur über $parameters.ips. Das StyleBook geht davon aus, dass alle Server auf Port 80 laufen. Um die Lastausgleichskonfiguration mit dem lb-mon StyleBook zu erstellen, müssen Sie die $parameters.ips in eine Liste von Objekten umwandeln. Dies wird mit der Hilfskomponente help-comp im obigen Beispiel erreicht. Die Komponente help-comp ist vom Typ server-ip-port-params StyleBook. Dieses StyleBook hat keine Komponenten. Daher erstellt es keine Konfigurationsobjekte. Die help-comp erstellt eine Wiederholungsliste über $parameters.ips und konstruiert ein Objekt, das aus ip und port (der auf einen statischen Wert von 80 gesetzt ist) für jedes Element von $parameters.ips besteht. Somit transformiert help-comp eine Liste von IP-Adressen in eine Liste von Objekten, die später in lb-mon-comp verwendet werden können, um die Eigenschaft svc-servers zuzuweisen. Das Ergebnis der help-comp wird der Eigenschaft svc-servers von lb-mon-comp zugewiesen.

Hilfskomponenten