创建 StyleBook 以执行非 CRUD 操作

Last published : Oct 06, 2026
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 用户可以在创建配置包时指定有效的元属性操作。