Hilfskomponenten
Die primäre Verwendung des Komponentenabschnitts in einem StyleBook besteht darin, Konfigurationsobjekte über NITRO-integrierte Typen oder ein anderes StyleBook zu generieren, das die tatsächlichen Konfigurationsobjek Die Hilfskomponenten erstellen Konfigurationsobjekte nicht selbst. Hilfskomponenten nehmen die Eingaben aus anderen Abschnitten wie Parameterobjekte, Eigenschaften anderer Komponenten oder Ausgaben anderer Komponenten und transformieren sie in andere Formen. Dies kann später von anderen Komponenten verwendet werden, um die tatsächlichen Konfigurationsobjekte zu generieren. Eine Hilfskomponente kann von zwei Typen sein: Objekttyp oder ein anderes StyleBook, das keinen Komponentenabschnitt enthält.
Das folgende Beispiel zeigt ein Snippet eines StyleBook, das verwendet wird, um einen Load Balancing-Server mit monitor (lb-mon-comp
) auf einer Citrix ADC-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-->
Im Parameterbereich können Sie den Namen der Anwendung und die IP-Adressen der Load Balancing Server eingeben. Im Abschnitt “ lb-mon-comp
Komponente” erwartet der svc-servers
Parameter von lb-mon
StyleBook eine Liste von Objekten, bei denen jedes Element zwei Unterparameter ip
und einen Port hat.
Der Parameterabschnitt dieses StyleBook akzeptiert jedoch nur die Server-IPs über $parameters.ips. Das StyleBook geht davon aus, dass alle Server auf Port 80 ausgeführt werden. Um die Load Balancing-Konfiguration mit lb-mon
StyleBook zu erstellen, müssen Sie die $ parameters.ips in eine Liste von Objekten umwandeln. Dies wird mit der Helferkomponente help-comp im obigen Beispiel erreicht. Die help-comp-Komponente ist vom Typ server-ip-port-params
StyleBook. Dieses StyleBook hat keine Komponenten. Daher werden keine Konfigurationsobjekte erstellt. Der help-comp erstellt eine Wiederholungsliste über $parameters.ips und konstruiert ein Objekt, das aus ip
und portiert (das auf eine statische 80 festgelegt ist) für jedes Element von $parameters.ips. Daher transformiert help-comp eine Liste von IP-Adressen in eine Liste von Objekten, die später lb-mon-comp
zum Zuweisen von svc-servers
Eigenschaften verwendet werden können. Das Ergebnis des Hilfe-Comp wird der svc-servers
Eigenschaft von zugeordnet lb-mon-comp
.