Citrix Application Delivery Management 13.0

複合スタイルブックの作成

StyleBookの重要かつ便利な特徴の1つは、別のStyleBookの構築ブロックとして使用できる点です。StyleBookは別のStyleBookにインポートすることができ、それはNitro組み込みのStyleBookと同様に、2番目のStyleBookのコンポーネントで使用される タイプ として参照することができます。

たとえば、前のセクションで作成した basic-lb-configStyleBookを使用して、 コンポジット例と呼ばれる別のスタイルブックを構築できます。「basic-lb-config」StyleBookを使用するには、新しいStyleBookのインポート・スタイルブックセクションにインポートする必要があります。

スタイルブックを構築する

新しいStyleBookは、次のようになります。

name: composite-example
namespace: com.example.stylebooks
version: "0.1"
display-name: Load Balancing Virtual Server (HTTP/RoundRobin)
description: This StyleBook defines a RoundRobin load balancing configuration with a monitor.
schema-version: "1.0"
import-stylebooks:
  -
   namespace: netscaler.nitro.config
   version: "10.5"
   prefix: ns
  -
   namespace: com.example.stylebooks
   version: "0.1"
   prefix: stlb
parameters:
  -
    name: name
    type: string
    label: Application Name
    description: Give a name to the application configuration.
    required: true
  -
    name: ip
    type: ipaddress
    label: Application Virtual IP (VIP)
    description: The Application VIP that clients access
    required: true
  -
    name: svc-servers
    type: ipaddress[]
    label: Application Server IPs
    description: The IP addresses of all the servers of this application
    required: true

  -
    name: response-code
    type: string[]
    label: List of Response Codes
    description: List of Response Codes - Provide a list of response codes in integer.

components:
  -
    name: basic-lb-comp
    type: stlb::basic-lb-config
    description: This component's type is another StyleBook that builds the NetScaler lbvserver, servicegroups and services configuration objects.
    properties:
     name: $parameters.name
     ip: $parameters.ip
     svc-servers: $parameters.svc-servers
  -
     name: monit-comp
     type: ns::lbmonitor
     description: This component is a basic Nitro type (a Builtin StyleBook) that builds the NetScaler monitor configuration object.
     properties:
       monitorname: $parameters.name + "-mon"
       type: HTTP
       respcode: $parameters.response-code
       httprequest: "'GET /'"
       lrtm: ENABLED
       secure: "YES"

     components:
        -
          name: monit-svcgrp-bind-comp
          type: ns::servicegroup_lbmonitor_binding
          properties:
            servicegroupname: $components.basic-lb-comp.outputs.servicegroup-comp.properties.servicegroupname
            monitor_name: $parent.properties.monitorname

import-stylebooksセクションで、名前空間とバージョンを指定してbasic-lb-config StyleBookをインポートします。このStyleBookは、プレフィックス「stlb」で参照できます。

Componentsセクションでは、2つのコンポーネントが定義されています。最初のコンポーネントは stlb:: basic-lb-config型です。ここで、「basic-lb-config」はStyleBookによる基本的な負荷分散構成の作成で作成したスタイルブックの名前です。このコンポーネントで定義されているプロパティは、basic-lb-config StyleBookで宣言されている必須パラメーターに対応しています。ただし、StyleBookの任意のパラメータ(必須とオプションの両方)を使用できます。lbvserver、サービスグループ、サービスグループおよびサービスグループバインディングを再構築する代わりに、これらすべてをコンポーネントとして行うStyleBookをインポートし、それを使用して新しいStyleBookにこれらの設定オブジェクトを作成します。

StyleBookは、Nitroリソース「lbmonitor」(組み込みStyleBook)の属性を使用してmonitor構成オブジェクトを作成する、2番目のコンポーネント「monit-comp」を追加します。このコンポーネントは、最初のコンポーネントで作成されたservicegroupにmonitorをバインドするバインド構成オブジェクトを作成する、サブコンポーネント「monit-svcgrp-bind-comp」も持っています。「basic-lb-config」スタイルブックで作成されたサービスグループコンポーネントは、出力として公開されるため、このスタイルブックは、式 $components.basic-lb-comp.outputs.servicegroup-compを使用してアクセスすることができます。この例では、インポート先のStyleBookが、Outputsセクションを使用してインポート元のStyleBookのコンポーネントにアクセスする方法を示しています。この方法以外でアクセスすることはできません。

次に、StyleBookの内容をコピーしてテキストエディタに貼り付け、ファイルを コンポジット-example.yamlとして保存します。Citrix ADM でファイルをインポートする前に、必ずYAMLの内容を検証してください。次に、それをCitrix ADM にインポートし、このStyleBookを使用して1つまたは複数の構成を作成します。

StyleBooksに組み込みのYAMLバリデータを使用して、YAMLコンテンツを検証およびインポートすることをお勧めします。

複合スタイルブックの作成