Konditionskonstrukt

Sie können eine Komponente bedingungsabhängig machen, indem Sie ein Bedingungskonstrukt verwenden. Der Wert eines bedingten Konstrukts ist ein boolescher Ausdruck, der als true oder false ausgewertet wird. Wenn die Bedingung wahr ist, wird die Komponente verwendet, um ihre Konfigurationsobjekte zu erstellen. Wenn die Bedingung false ist, wird die Komponente übersprungen, und es werden keine Konfigurationsobjekte erstellt. Der boolesche Ausdruck basiert häufig auf Parameterwerten.

Beispiel:

components:

      -

        name: servicegroup-comp

        type: ns::servicegroup

        condition: $parameters.svc-server-ips

        properties:

              name: $parameters.name + "-svcgrp"

              servicetype: HTTP

Wenn in diesem Beispiel der Benutzer einen Wert für den optionalen Parameter svc-server-ips angibt, wird die Komponente servicegroup-comp von der StyleBook-Engine verarbeitet. Wenn die Bedingung false ist, d. h. wenn der Benutzer diesem Parameter keinen Wert zur Verfügung stellt, wird diesem Parameter ein Nullwert zugewiesen und wird als false ausgewertet, ignoriert die StyleBook-Engine das Vorhandensein dieser Komponente, und es wird keine Servicegruppe erstellt.

Beachten Sie, dass der boolesche Ausdruck auf einem beliebigen gültigen Ausdruck basieren kann, der in StyleBooks unterstützt wird (z. B. ob eine andere Komponente vorhanden ist oder ob ein Parameter einen bestimmten Wert hat).

Im folgenden Beispiel wird das Konfigurationsobjekt vom NITRO-Typ ns::systemfile erstellt, wenn die Bedingung auf true ausgewertet wird.

Beispiel:

     components

          -

            name: pem_key_files

            type: ns::systemfile

            condition: "$components.der-certificate-files-comp or $components.pem-certificate-files-comp"

            properties:

                   filecontent: $certificate.keyfile.contents

                   fileencoding: "BASE64"

                   filelocation: "/nsconfig/ssl"

                   filename: $certificate.keyfile.filename

In diesem Beispiel ist die Bedingung ein komplexer Ausdruck oder, bei dem dieses Konfigurationsobjekt nur dann vom StyleBook erstellt werden soll, wenn zwei weitere Komponenten im StyleBook verarbeitet wurden (nicht übersprungen), wodurch eine Abhängigkeit zwischen den Komponenten entsteht.

Konditionskonstrukt