StyleBookを作成して非 CRUD 操作を実行する
StyleBookは、NetScaler インスタンス上で必要な構成オブジェクトを計算することによって、Citrix ADC構成を管理します。これらのオブジェクトは、ConfigPack を作成または更新するたびに、インスタンスから追加、更新、または削除されます。つまり、「望ましい状態」を指定するときです。
ただし、一部のCitrix ADC構成オブジェクトは、作成、更新、削除(CRUD操作)以外のいくつかの操作をサポートしています。たとえば、ロードバランサーオブジェクト(lbvserver
)またはCitrix ADC機能オブジェクト(nsfeature
)は、「有効化」または「無効」操作をサポートできます。同様に、NetScalercertkeys
では、証明書を別の証明書にリンクまたはリンク解除するための「リンク」および「リンク解除」 操作がサポートされています。NetScaler オブジェクトに対するこれらの操作は、非CRUD操作と呼ばれます。
このセクションでは、StyleBookを使用して、それらをサポートする設定オブジェクトに対して非CRUD操作を実行する方法について説明します。
注
NITRO バインディングはそれ自体が設定オブジェクトとして表現されるため、設定オブジェクト間のバインディング (たとえば、
certkey
からlbvserver
へのバインド ) は CRUD 以外の操作ではありません。これらのオブジェクトは、他のCitrix ADC 構成オブジェクトと同様に作成および削除されます。
CRUD 以外のオペレーションのサポート
meta-properties
という構成が、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
<!--NeedCopy-->
この例では、 my-lbvserver-comp
コンポーネントのタイプはns::lbvserver
です。「ns」は、「スタイルブックのインポート」セクションで指定した名前空間 netscaler.nitro.config とバージョン ** 10.5 を指すプレフィックスです。lbvserver
は、この名前空間のNITRO リソースです。暗黙のアクションとして、StyleBookはそれに対してlbvserver
を作成し、「有効化」操作を完了します。
メタプロパティのaction
は、ConfigPackの作成時にのみ構成オブジェクトに対して行われます。ConfigPack を更新しても、CRUD 以外のアクションは実行されません。
メタプロパティには式を指定できます。これらの式は、ADC オブジェクトに有効なメタプロパティアクションを動的に適用します。
例:
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ユーザーは構成パックの作成時に有効なメタプロパティアクションを指定できます。