Product Documentation

Condition 구조

Oct 20, 2016

condition 구조를 사용하여 조건부 구성 요소를 만들 수 있습니다. 조건부 구조의 값은 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 엔진이 이 구성 요소의 존재를 무시하고 서비스 그룹은 만들어지지 않습니다.

부울 식은 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의 다른 두 구성 요소가 처리되는 경우(건너뛰지 않는 경우)에만 StyleBook에 의해 만들어지므로 구성 요소 간에 종속성이 발생합니다.