StyleBookの設定

StyleBookを作成して非 CRUD 操作を実行する

StyleBookは、NetScaler インスタンス上で必要な構成オブジェクトを計算することによって、NetScaler ADC構成を管理します。これらのオブジェクトは、ConfigPack を作成または更新するたびに、インスタンスから追加、更新、または削除されます。つまり、「望ましい状態」を指定するときです。

ただし、一部のNetScaler ADC構成オブジェクトは、作成、更新、削除(CRUD操作)以外のいくつかの操作をサポートしています。たとえば、ロードバランサーオブジェクト(lbvserver)またはNetScaler ADC機能オブジェクト(nsfeature)は、「有効化」または「無効」操作をサポートできます。同様に、NetScalercertkeysでは、証明書を別の証明書にリンクまたはリンク解除するための「リンク」および「リンク解除」 操作がサポートされています。NetScaler オブジェクトに対するこれらの操作は、非CRUD操作と呼ばれます。

このセクションでは、StyleBookを使用して、それらをサポートする設定オブジェクトに対して非CRUD操作を実行する方法について説明します。

NITRO バインディングはそれ自体が設定オブジェクトとして表現されるため、設定オブジェクト間のバインディング (たとえば、certkeyからlbvserverへのバインド ) は CRUD 以外の操作ではありません。これらのオブジェクトは、他のNetScaler ADC 構成オブジェクトと同様に作成および削除されます。

CRUD 以外のオペレーションのサポート

meta-propertiesという構成が、properties構成と同じレベルのコンポーネントに追加されます。 このコンストラクトでサポートされている属性はactionと呼ばれます 。この属性には、enabledisablelinkunlinkimportexportcreatearchiveapplyなどの値を指定できます 。

components:
 -
  name: my-lbvserver-comp
  type: ns::lbvserver
  meta-properties
   action: enable
  properties:
    name: $parameters.name
    servicetype: HTTP
    ipv46: $parameters.ip
    port: 80
    lbmethod: $parameters.lb-alg
<!--NeedCopy-->

この例では、 my-lbvserver-compコンポーネントのタイプはns::lbvserverです。「ns」は、「StyleBook のインポート」セクションで指定した名前空間 netscaler.nitro.config とバージョン ** 10.5 を指すプレフィックスです。lbvserverは、この名前空間のNITRO リソースです。暗黙のアクションとして、StyleBookはそれに対してlbvserverを作成し、「有効化」操作を完了します。

メタプロパティのactionは、ConfigPackの作成時にのみ構成オブジェクトに対して行われます。ConfigPack を更新しても、CRUD 以外のアクションは実行されません。

メタプロパティには式を指定できます。これらの式は、NetScalerオブジェクトの有効なメタプロパティアクションを動的に適用します。

parameters:
-
    name: meta-action-lbvserver
    type: string
    default: disable
    allowed-values:
      - enable
      - disable

components:
  -
    name: c1
    type: ns::lbvserver
    meta-properties:
      action: $parameters.meta-action-lbvserver
    properties:
      name: $parameters.lbvserver
      ipv46: $parameters.ip
      port: 80
      servicetype: HTTP
<!--NeedCopy-->

この例では、StyleBookユーザーは構成パックの作成時に有効なメタプロパティアクションを指定できます。

StyleBookを作成して非 CRUD 操作を実行する