非CRUD操作を実行するStyleBookを作成する
StyleBookは、NetScalerインスタンス上で必要な構成オブジェクトを計算することで、NetScaler構成を管理します。これらのオブジェクトは、ConfigPackを作成または更新するたびにインスタンスから追加、更新、または削除されます。その際に「望ましい状態」を指定します。
しかし、一部のNetScaler構成オブジェクトは、作成、更新、または削除(CRUD操作)以外のいくつかの操作をサポートしています。例えば、ロードバランサーオブジェクト (
lbvserver) やNetScaler機能オブジェクト (nsfeature) は、「有効化」または「無効化」操作をサポートできます。同様に、NetScaler certkeys は、証明書を別の証明書にリンクまたはリンク解除するための「リンク」および「リンク解除」操作をサポートしています。NetScalerオブジェクトに対するこれらの操作は、非CRUD操作と呼ばれます。
このセクションでは、StyleBookを使用して、非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ユーザーは構成パックの作成中に有効なメタプロパティアクションを指定できます。