使用工具箱 CLI 更新规则集和规则

使用 API Connect 工具包 CLI 更新规则集或单个规则。

更新规则集

  1. 创建用于定义更新后的规则集的 JSON 文件。
    以下示例显示已更新的规则集:
    {
        "title": "custom-ruleset-2",
        "description": "short ruleset updated",
        "ruleset_type": "custom"
    }
    
    其中:
    • title 将更新为规则集的新标题。
    • description 将更新为规则集的新描述。
    • ruleset_type 已更新为针对规则集定制。
  2. 以管理员身份或拥有规则集的提供者组织的所有者身份登录到 Toolkit。

  3. governance 方式运行 rulesets:update 工具箱命令:
    apic -m governance rulesets:update --org <target_org> --server <server_url> RULESET RULESET_FILE
    其中:
    • <target_org> 是拥有规则集的组织的名称。
    • <server_url> 是登录工具包时使用的管理服务器。 URL
    • RULESET_FILE 是包含已更新规则集的 JSON 文件的路径和文件名。
    • RULESET 是已更新规则集的名称或唯一标识。
      要确定规则集的标识,请运行以下命令:
      apic -m governance rulesets:list --org <target_org> --server <server_url>

更新规则

  1. 创建用于定义已更新规则的 JSON 文件。
    以下示例显示了调用的文件中的已更新规则:
    {
      "description": "Updated the rule",
      "message": "Schema of type array must specify maxItems and minItems. {{path}} {{error}}",
      "formats": [
        "oas3"
      ],
      "severity": "warn",
      "recommended": true,
      "given": [
        "$..[?(@.type==\"array\")]"
      ]
    }
    其中:
    • description 已更新为规则的新标题
    • message 已更新为规则的新消息
    • formats 数组将替换为仅具有规则的格式 oas3
    • severity 已更新为规则的警告值
    • recommended 已更新为具有规则的新值
    • given 数组已替换为具有规则的新值
  2. 以管理员或拥有规则的提供者组织的所有者身份登录到 Toolkit。

  3. governance 方式运行 rules:update 工具箱命令。

    可以通过两种方法在命令中指定更新的规则,具体取决于您是提供规则名称和版本,还是提供规则标识:

    在 update 命令中指定规则名称和版本
    apic -m governance rules:update --org <target_org> --server <server_url> --ruleset <ruleset_name or ruleset_id> NAME:VERSION RULE_FILE
    其中:
    • <target_org> 是拥有规则的组织的名称。
    • <server_url> 是登录工具包时使用的管理服务器。 URL
    • <ruleset_name or ruleset_id> 是已更新规则所属的规则集的名称或唯一标识。
    • NAME 是已更新规则的名称。
    • VERSION 是已更新规则的版本; 使用 major.minor.patch 格式 (如 "1.0.1" 中所示) 在更新规则时增大版本。
    • RULE_FILE 是包含已更新规则的 JSON 文件的路径和文件名。
    在 update 命令中指定规则标识
    您可以通过运行以下命令来提供规则的唯一标识,而不是提供规则的名称和版本:
    apic -m governance rules:update --org <target_org> --server <server_url> --ruleset <ruleset_name or ruleset_id> --id <rule_id> RULE_FILE
    其中:
    • <target_org> 是拥有规则的组织的名称。
    • <server_url> 是您登录工具包时指定的管理服务器。 URL
    • <ruleset_name or ruleset_id> 是更新规则所属的规则集的名称或唯一标识。
    • RULE_FILE 是包含已更新规则的 JSON 文件的路径和文件名。
    • <rule_id> 是已更新规则的唯一标识的值。
      要确定规则的标识,请运行以下命令:
      apic -m governance rules:list --org <target_org> --server <server_url> --ruleset <ruleset_name> RULE_NAME