StyleBookの設定

条件構成

condition構造を使用すると、コンポーネントを条件付きにすることができます。condition構造の値は、trueまたはfalseに評価されるブール式です。条件がtrueになる場合、このコンポーネントを使用して構成オブジェクトが作成されます。条件がfalseになる場合、このコンポーネントはスキップされ、構成オブジェクトの作成には使用されません。多くの場合、ブール式はパラメーター値に基づきます。

components:

      -

        name: servicegroup-comp

        type: ns::servicegroup

        condition: $parameters.svc-server-ips

        properties:

              name: $parameters.name + "-svcgrp"

              servicetype: HTTP
<!--NeedCopy-->

この例では、ユーザーがオプションのパラメータ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
<!--NeedCopy-->

この例では、条件は複雑な「or」式です。StyleBook内のほかの2つのコンポーネントが処理された(スキップされなかった)ことでコンポーネント間に依存関係が作成された場合にのみ、StyleBookによってこの構成オブジェクトが作成されるようにしています。

条件構成

この記事の概要