NSX 层次结构 API 为用户提供了一种方法,可通过执行单个 API 调用来创建整个或部分意向。API 的输入以树状格式表示。树中的每个节点可以有多个不同类型的子节点。

项目支持层次结构 API。如本文档中所述,项目用户可以调用 Patch API,以创建、更新或删除整个或部分意向层次结构。

Patch API

此部分中的 API 调用按用户角色进行组织。

企业管理员

企业管理员可以运行以下任一修补程序 API 调用:

PATCH https://<nsx-mgr>/policy/api/v1/org-root
PATCH https://<nsx-mgr>/policy/api/v1/orgs/default/projects/<project-id>/infra

请求正文示例:

PATCH https://<nsx-mgr>/policy/api/v1/org-root
{
	"resource_type": "OrgRoot",
	"children": [{
		"resource_type": "ChildResourceReference",
		"id": "default",
		"target_type": "Org",
		"children": [{
			"resource_type": "ChildProject",
			"Project": {
				"id": "project-1",
				"resource_type": "Project",
				"display_name": "Test HAPI Project",
				"site_infos": [{
					"edge_cluster_paths": [
						"/infra/sites/default/enforcement-points/default/edge-clusters/ec1"
					],
					"site_path": "/infra/sites/default"
				}],
				"tier_0s": [
					"/infra/tier-0s/vmware"
				]
			}
		}]
	}]
}

基于角色的访问控制将应用于此 Patch API 的响应负载。

有关 org-root 结构定义的详细信息,请参见NSX API 指南

项目管理员

项目管理员可以运行以下 Patch API 调用,并使用 ChildResourceReference 为任何节点指定子项:

PATCH https://<nsx-mgr>/policy/api/v1/org-root

或者,他们可以运行以下 Patch API 调用:

PATCH https://<nsx-mgr>/policy/api/v1/orgs/default/projects/<project-id>/infra

有关这些 API 的详细信息,请参见《NSX API 指南》。

其他项目用户
他们可以运行以下 Patch API 调用:
PATCH https://<nsx-mgr>/policy/api/v1/orgs/default/projects/<project-id>/infra

但是,这些用户可以仅针对可修改对象的此 URI 运行 Patch API。

Get API

此部分中的 API 调用按用户角色进行组织。

企业管理员

只有企业管理员可以运行 Get API 调用来读取 org-root 属性。

GET https://<nsx-mgr>/policy/api/v1/org-root

企业管理员还可以运行以下 GET API 调用:

GET https://<nsx-mgr>/policy/api/v1/org-root?base_path=/orgs/default
GET https://<nsx-mgr>/policy/api/v1/orgs/default/projects/<project-id>/infra?filter=Type-

有关这些 API 的详细信息,请参见NSX API 指南

项目管理员

项目管理员可以运行以下 Get API 调用:

GET https://<nsx-mgr>/policy/api/v1/orgs/default/projects/<project-id>/infra?filter=Type-
其他项目用户

不允许使用分层 Get API 调用。