创建 StyleBook 以执行非 CRUD 操作
StyleBook 通过计算 NetScaler 实例上必要的配置对象来管理 NetScaler 配置。每次创建或更新 ConfigPack 时,这些对象都会从实例中添加、更新或删除。这就是您指定“所需状态”的时候。
但是,某些 NetScaler 配置对象支持除创建、更新或删除(CRUD 操作)之外的一些操作。例如,负载均衡器对象 (
lbvserver) 或 NetScaler 功能对象 (nsfeature) 可以支持“启用”或“禁用”操作。同样,NetScaler certkeys 支持“链接”和“取消链接”操作,以将证书链接或取消链接到另一个证书。NetScaler 对象上的这些操作称为非 CRUD 操作。
本节介绍如何使用 StyleBook 在支持非 CRUD 操作的配置对象上执行这些操作。
注意
配置对象之间的绑定(例如,将
certkey 绑定到 lbvserver)不是非 CRUD 操作,因为 NITRO 绑定本身就是配置对象。这些对象像任何其他 NetScaler 配置对象一样被创建和删除。
支持非 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
在此示例中,
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 用户可以在创建配置包时指定有效的元属性操作。