当生成的 NSX Intelligence 建议达到准备发布状态时,您可以选择将其导出为 JSON 文件。您可以先修改此文件,然后再将其作为 REST API 请求发送以供 NSX Policy Manager 处理。
前提条件
- 生成新的建议。请参见生成新的 NSX Intelligence 建议。
- 在导出建议之前,请确保您具有所需的特权。有关详细信息,请参见NSX Intelligence 中的基于角色的访问控制。
过程
- 从浏览器中,使用所需的特权登录到 NSX Manager (https://<nsx-manager-ip-address>)。
- 单击安全规划和故障排除 > 建议。
- (可选) 仅列出状态为准备发布的 NSX Intelligence 建议。
- 单击右上方的筛选器。
- 从应用筛选器下拉菜单中,选择状态和准备发布筛选器。
- 单击应用。
- 在准备发布建议列表中,单击要导出的 NSX Intelligence 建议名称左侧的三点菜单图标 。从下拉菜单中选择导出为 JSON。
以下代码段提供了一个导出的 JSON 文件的部分内容示例。
{ "resource_type": "Infra", "id": "Infra", "children": [ { "resource_type": "ChildDomain", "id": "default", "marked_for_delete": false, "Domain": { "resource_type": "Domain", "id": "default", "children": [ { "resource_type": "ChildGroup", "marked_for_delete": false, "Group": { "resource_type": "Group", "id": "Group-384fe490-837e-11eb-9688-dd7fccb572d0-904d61f0-0d71-4bc9-ac18-632b6b02efc9", "display_name": "Group-1 (REC 210312 01:59:18)", "description": "Created from REC 210312 01:59:18", "marked_for_delete": false, "expression": [ { "resource_type": "ExternalIDExpression", "marked_for_delete": false, ... ... "marked_for_delete": false }
- 对导出的 JSON 文件进行任何必要的修改,然后将其作为 REST API 请求发送以供 NSX Policy Manager 处理。
请注意,从 NSX-T Data Center 3.1.1 开始,您必须先从导出的 JSON 文件中移除包含 "id" : "Infra" 属性的行,然后才能将 JSON 负载作为 PATCH 请求发送。否则,您会收到从 NSX Policy Manager 发回的 400 请求错误 (400 Bad Request) 响应。
- 使用外部 REST API 工具,将包含 NSX Intelligence 建议的 JSON 文件提交给 NSX Policy Manager 进行处理。
当使用外部 REST API 工具(如 Postman)将 NSX Intelligence 建议作为 JSON 负载提交到 NSX-T Data Center 设置中时, NSX Intelligence 不会知晓建议已成功处理。该成功处理的 NSX Intelligence 建议仍会以 准备发布状态列在“建议”列表中。如果尝试单击建议的名称来查看建议,您会收到以下消息。
未找到已取消发布的建议策略。可能已使用外部工具将这些建议策略的某个版本导入并发布到 NSX-T Data Center 中,或者,这些建议策略可能已被删除。(There are no unpublished recommended policies found. A version of these recommendation policies might have been imported and published already into your NSX-T Data Center using an external tool, or they have been deleted.)
- 成功将导出的建议作为 JSON 负载提交后,请从安全规划和故障排除 > 建议表中的准备发布建议列表中手动删除该建议。