Application Delivery Management

条件構成

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に値を指定すると、StyleBookエンジンによってコンポーネントservicegroup-compが処理されます。条件がfalseになる場合、つまり、ユーザーがこのパラメーターに値を指定しなかったためにこのパラメーターにnull値が割り当てられ、falseに評価された場合は、StyleBookエンジンでこのコンポーネントの存在が無視され、サービスグループは作成されません。

ブール式は、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で作成し、コンポーネント間の依存関係を作成します。

条件構成

この記事の概要