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

最終公開日 : Sep 25, 2026
StyleBookは、NetScalerインスタンス上で必要な構成オブジェクトを計算することで、NetScalerの構成を管理します。これらのオブジェクトは、ConfigPackを作成または更新するたびにインスタンスに追加、更新、または削除されます。これは、「望ましい状態」を指定する際に行われます。
ただし、一部のNetScaler構成オブジェクトは、作成、更新、または削除(CRUD操作)以外のいくつかの操作をサポートしています。たとえば、ロードバランサーオブジェクト(lbvserver)やNetScaler機能オブジェクト(nsfeature)は、「有効化」または「無効化」操作をサポートできます。同様に、NetScaler certkeysは、証明書を別の証明書にリンクまたはリンク解除するための「リンク」および「リンク解除」操作をサポートしています。NetScalerオブジェクトに対するこれらの操作は、非CRUD操作と呼ばれます。
このセクションでは、StyleBookを使用して、非CRUD操作をサポートする構成オブジェクトに対して非CRUD操作を実行する方法について説明します。
注
構成オブジェクト間のバインディング(たとえば、certkeyをlbvserverにバインドする)は非CRUD操作ではありません。なぜなら、NITROバインディングはそれ自体が構成オブジェクトとして表現されるからです。これらのオブジェクトは、他のNetScaler構成オブジェクトと同様に作成および削除されます。

非CRUD操作のサポート

propertiesコンストラクトと同じレベルのコンポーネントに、meta-propertiesと呼ばれるコンストラクトが追加されます。このコンストラクトでサポートされる属性はactionと呼ばれます。この属性は、enable、disable、link、unlink、import、export、create、archive、およびapplyのような値を取ることができます。
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
この例では、my-lbvserver-compコンポーネントはns::lbvserverタイプです。「ns」は、import-stylebooksセクションで指定した名前空間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
この例では、StyleBookユーザーは構成パックの作成時に有効なメタプロパティアクションを指定できます。