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 指南》

其他專案使用者
他們可以執行下列修補程式 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 呼叫。