Application Delivery Management

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

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

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

構成オブジェクト間のバインディング (例: certkey を lbvserver にバインドする) は、非CRUD操作とは見なされません。これは、Nitro バインディングがそれ自体で構成オブジェクトとして表現されるためです。これらのオブジェクトは、他の NetScaler 構成オブジェクトと同様に作成および削除されます。

非CRUD操作のサポート

「meta-properties」と呼ばれる新しいコンストラクトが、「properties」コンストラクトと同じレベルのコンポーネントに追加されました。このコンストラクトで現在サポートされている唯一の属性は「action」と呼ばれます。この属性は、その構成オブジェクトによってサポートされる「enable」や「disable」などの値を取ることができます。

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」は、import-stylebooks セクションで指定した netscaler.nitro.config 名前空間およびバージョン 10.5 を参照するプレフィックスです。「lbvserver」はこの名前空間内の NITRO リソースです。暗黙的なアクションとして、lbvserver は StyleBook によって最初に作成され、その後「enable」操作が実行されます。

meta-properties で指定されたアクションは、ConfigPack の作成時にのみ構成オブジェクトに対して実行されます。ConfigPack の更新では、非CRUDアクションは実行されません。

action 属性の値は、動的に評価される StyleBook 式にすることはできません。

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