条件コンストラクトを使用すると、コンポーネントを条件付きにすることができます。条件コンストラクトの値は、trueまたはfalseに評価されるブール式です。条件がtrueの場合、そのコンポーネントは設定オブジェクトの構築に使用されます。条件がfalseの場合、そのコンポーネントはスキップされ、それを通じて設定オブジェクトは作成されません。ブール式は、多くの場合、パラメータ値に基づいています。
例:
components:
-
name: servicegroup-comp
type: ns::servicegroup
condition: $parameters.svc-server-ips
properties:
name: $parameters.name + "-svcgrp"
servicetype: HTTP
この例では、ユーザーがオプションパラメータ svc-server-ips の値を指定した場合、コンポーネント servicegroup-comp はStyleBookエンジンによって処理されます。条件がfalseの場合、つまり、ユーザーがこのパラメータに値を指定せず、このパラメータにnull値が割り当てられてfalseと評価される場合、StyleBookエンジンはこのコンポーネントの存在を無視し、servicegroup は作成されません。
ブール式は、StyleBookでサポートされている任意の有効な式に基づいていることに注意してください (たとえば、別のコンポーネントが存在するかどうか、またはパラメータが特定の値を持つかどうかなど)。
次の例では、条件がtrueと評価された場合、NITROタイプ ns::systemfile の設定オブジェクトを構築します。
例:
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
この例では、条件は複雑な「or」式であり、StyleBook内の他の2つのコンポーネントが処理された (スキップされていない) 場合にのみ、この設定オブジェクトをStyleBookによって作成したいと考えています。これにより、コンポーネント間に依存関係が作成されます。