Vous pouvez rendre un composant conditionnel en utilisant une construction de condition. La valeur d'une construction conditionnelle est une expression booléenne qui évalue à vrai ou faux. Si la condition est vraie, le composant est utilisé pour construire ses objets de configuration. Si la condition est fausse, le composant est ignoré et aucun objet de configuration n'est créé par son intermédiaire. L'expression booléenne est souvent basée sur les valeurs des paramètres.
Exemple:
components:
-
name: servicegroup-comp
type: ns::servicegroup
condition: $parameters.svc-server-ips
properties:
name: $parameters.name + "-svcgrp"
servicetype: HTTP
Dans cet exemple, si l'utilisateur spécifie une valeur pour le paramètre facultatif svc-server-ips, alors le composant, servicegroup-comp, est traité par le moteur StyleBook. Si la condition est fausse, c'est-à-dire si l'utilisateur ne fournit pas de valeur à ce paramètre, une valeur nulle est attribuée à ce paramètre et évalue à faux, alors le moteur StyleBook ignore la présence de ce composant, et aucun servicegroup n'est créé.
Notez que l'expression booléenne peut être basée sur toute expression valide prise en charge dans les StyleBooks (par exemple, si un autre composant est présent, ou si un paramètre a une certaine valeur).
L'exemple suivant construit l'objet de configuration de type NITRO ns::systemfile si la condition est évaluée à vrai.
Exemple:
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
Dans cet exemple, la condition est une expression "ou" complexe, où vous souhaitez que cet objet de configuration soit créé par le StyleBook uniquement si deux autres composants du StyleBook ont été traités (non ignorés), créant ainsi une dépendance entre les composants.