Product Documentation

Parameters-Default-Sources 구조

Oct 20, 2016

이 구조를 사용하여 다른 StyleBook의 매개 변수 정의를 재사용할 수 있습니다.

매개 변수 또는 매개 변수 그룹이 여러 StyleBook에서 반복적으로 사용되는 시나리오를 가정합니다. 새 StyleBook을 만들 때마다 이러한 매개 변수를 다시 정의하는 일을 방지하려면, 매개 변수를 한 번 정의한 다음 parameters-default-sources 구조를 사용하여 이러한 매개 변수가 필요한 StyleBook으로 해당 정의를 가져올 수 있습니다.

예를 들어 많은 StyleBook에서 가상 IP를 구성해야 하는 경우 새로 만드는 각 StyleBook에서 가상 IP와 관련된 동일한 매개 변수를 정의해야 할 수 있습니다. 이렇게 하는 대신, 다음 예제에서 볼 수 있는 것처럼 관련된 모든 매개 변수가 정의되어 있는 "vip-params"라는 별도의 StyleBook을 만들 수 있습니다.

     - 

     name: vip-params

     namespace: com.acme.commontypes

     version: "1.0"

     description: This StyleBook defines a typical virtual IP config.

     private: true

     schema-version: "1.0"

     parameters:

       -

           name: lb-appname

           label: Load Balanced Application Name

          description: Name of the Load Balanced application

           type: string

           required: true

       -

           name: lb-virtual-ip

           label: Load Balanced App Virtual IP address

           description: Virtual IP address representing the Load Balanced application

           type: ipaddress

           required: true

       -

           name: lb-virtual-port

           label: Load Balanced App Virtual Port

           description: TCP port representing the Load Balanced application

           type: tcp-port

           default: 80

       -

           name: lb-service-type

           label: Load Balanced App Protocol

           description: Protocol used for the Load Balanced application.

           type: string

           default: HTTP   

           required: true

           allowed-values:

                - HTTP

                - SSL

                - TCP

그런 다음 이러한 매개 변수를 사용하는 다른 StyleBook을 만들 수 있습니다. 다음은 이러한 StyleBook의 예입니다.

     -

     name: acme-biz-app

     namespace: com.acme.stylebooks

     version: "1.0"

     description: This stylebook defines the NetScaler configuration for Biz App

     schema-version: "1.0"

     import-stylebooks:

       -

          namespace: com.acme.commontypes

          prefix: cmtypes

          version: "1.0"

     parameters-default-sources:

            - vip-params

     parameters:

         -

           name: monitorname

           label: Monitor Name

           description: Name of the monitor

           type: string

           required: true

         -

           name: type

           label: Monitor Type

           description: Type of the monitor

           type: string

           required: true

           allowed-values:

             - PING

             - TCP

             - HTTP

             - HTTP-ECV

             - TCP-ECV

             - HTTP-INLINE

acme-biz-app StyleBook에서는 먼저 "import-stylebooks" 섹션을 사용하여 vip-params StyleBook의 네임스페이스 및 버전을 가져옵니다. 그런 다음 parameters-default-sources 구조가 추가되고 StyleBook 이름 즉, vip-params가 지정됩니다. 이렇게 하면 이 StyleBook에서 직접 vip-params StyleBook의 매개 변수를 정의하는 것과 같은 효과를 냅니다.

parameters-default-sources가 목록이고 목록의 각 항목은 StyleBook이라고 가정하므로 여러 StyleBook의 매개 변수를 포함할 수 있습니다.

다른 StyleBook의 매개 변수를 포함할 수 있을 뿐만 아니라 parameters 섹션을 사용하여 고유한 매개 변수를 정의할 수도 있습니다. StyleBook의 전체 매개 변수 목록은 이 StyleBook에 정의된 매개 변수와 다른 StyleBook에서 포함된 매개 변수의 조합입니다. 따라서 $parameters 식은 이 매개 변수 조합을 나타냅니다.

가져온 StyleBook과 현재 StyleBook에 모두 한 매개 변수가 정의되어 있는 경우 현재 StyleBook의 정의가 다른 StyleBook에서 가져온 정의를 덮어씁니다. 가져온 매개 변수 중 일부는 필요에 따라 사용자 지정하고 나머지 가져온 매개 변수는 그대로 사용하는 방식으로 이 기능을 효과적으로 사용할 수 있습니다.

다음과 같이 중첩된 매개 변수에서 parameters-default-sources 구조를 사용할 수도 있습니다.

parameters:

    -

      name: vip-details

      label: Virtual IP details

      description: Details of the Virtual IP

      type: object

      required: true

      parameters-default-sources:

              - vip-params

 

이것은 StyleBook vip-params의 매개 변수를 이 StyleBook의 vip-details 매개 변수의 하위 매개 변수로 직접 추가하는 것과 비슷합니다.