样书配置

创建样书以执行非 CRUD 操作

样书通过计算 NetScaler 实例上的必要配置对象来管理 NetScaler 配置。每次创建或更新 ConfigPack 时,这些对象都会从实例中添加、更新或删除。这是当您指定“所需的状态”时的情况。

但是,某些 NetScaler 配置对象支持除创建、更新或删除(CRUD 操作)以外的一些操作。例如,负载平衡器对象 (lbvserver) 或 NetScaler 功能对象 (nsfeature) 可以支持“启用”或“禁用”操作。同样,NetScaler certkeys 支持“链接”和“取消链接”操作,以将证书链接或取消链接到另一个证书。对 NetScaler 对象的这些操作称为非 CRUD 操作。

本节介绍如何使用样书对支持它们的配置对象执行非 CRUD 操作。

注意

配置对象之间的绑定(例如,将 certkey 绑定到 lbvserver)不是非 CRUD 操作,因为 NITRO 绑定本身就表示为配置对象。创建和删除这些对象与任何其他 NetScaler 配置对象一样。

支持非 CRUD 操作

在组件中添加了一个名为 meta-properties 的构造,其级别与 properties 构造相同。此构造中支持的属性称为 action。该属性可以采用诸如 enabledisablelinkunlinkimportexportcreatearchiveapply 之类的值。

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 和您在 import-stylebooks 部分中指定的版本 ** 10.5 的前缀。lbvserver 是此命名空间中的 NITRO 资源。作为一项隐式操作,样书创建 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
<!--NeedCopy-->

在此示例中,样书用户可以在创建配置包时指定有效的元属性操作。

创建样书以执行非 CRUD 操作