進行組態變更後,NSX Manager 通常會傳送要求至其他元件來實作變更。對於某些第 3 層實體,如果您使用 API 進行組態變更,您可以追蹤要求的狀態來查看變更是否成功實作。
您起始的組態變更稱為所需狀態。實作變更的結果稱為實現狀態。如果 NSX Manager 成功實作變更,實現狀態將與所需狀態相同。如果發生錯誤,實現狀態將與所需狀態不同。
對於某些第 3 層實體,當您呼叫 API 來進行組態變更時,回應會包括參數 request_id。您可以使用參數 request_id 和 entity_id 進行 API 呼叫來瞭解要求的狀態。
此功能支援下列實體和 API:
EdgeCluster
POST /edge-clusters
PUT /edge-clusters/<edge-cluster-id>
DELETE /edge-clusters/<edge-cluster-id>
POST /edge-clusters/<edge-cluster-id>?action=replace_transport_node
LogicalRouter
POST /logical-routers
PUT /logical-routers/<logical-router-id>
DELETE /logical-routers/<logical-router-id>
POST /logical-routers/<logical-router-id>?action=reprocess
POST /logical-routers/<logical-router-id>?action=reallocate
LogicalRouterPort
POST /logical-router-ports
PUT /logical-router-ports/<logical-router-port-id>
DELETE /logical-router-ports/<logical-router-port-id>
StaticRoute
POST /logical-routers/<logical-router-id>/routing/static-routes
PUT /logical-routers/<logical-router-id>/routing/static-routes/<static-route-id>
DELETE /logical-routers/<logical-router-id>/routing/static-routes/<static-route-id>
BGPConfig
PUT /logical-routers/<logical-router-id>/routing/bgp
BgpNeighbor
POST /logical-routers/<logical-router-id>/routing/bgp/neighbors
PUT /logical-routers/<logical-router-id>/routing/bgp/neighbors/<bgp-neighbor-id>
DELETE /logical-routers/<logical-router-id>/routing/bgp/neighbors/<bgp-neighbor-id>
POST /logical-routers/<logical-router-id>/routing/bgp/neighbors/<bgp-neighbor-id>
BGPCommunityList
POST /logical-routers/<logical-router-id>/routing/bgp/community-lists
PUT /logical-routers/<logical-router-id>/routing/bgp/community-lists/<community-list-id>
DELETE /logical-routers/<logical-router-id>/routing/bgp/community-lists/<community-list-id>
AdvertisementConfig
PUT /logical-routers/<logical-router-id>/routing/advertisement
AdvertiseRouteList
PUT /logical-routers/<logical-router-id>/routing/advertisement/rules
NatRule
POST /logical-routers/<logical-router-id>/nat/rules
PUT /logical-routers/<logical-router-id>/nat/rules/<rule-id>
DELETE /logical-routers/<logical-router-id>/nat/rules/<rule-id>
DhcpRelayService
POST /dhcp/relays
PUT /dhcp/relays/<relay-id>
DELETE /dhcp/relays/<relay-id>
DhcpRelayProfile
POST /dhcp/relay-profiles
PUT /dhcp/relay-profiles/<relay-profile-id>
DELETE /dhcp/relay-profiles/<relay-profile-id>
StaticHopBfdPeer
POST /logical-routers/<logical-router-id>/routing/static-routes/bfd-peers
PUT /logical-routers/<logical-router-id>/routing/static-routes/bfd-peers/<bfd-peers-id>
DELETE /logical-routers/<logical-router-id>/routing/static-routes/bfd-peers/<bfd-peers-id>
IPPrefixList
POST /logical-routers/<logical-router-id>/routing/ip-prefix-lists
PUT /logical-routers/<logical-router-id>/routing/ip-prefix-lists/<ip-prefix-list-id>
DELETE /logical-routers/<logical-router-id>/routing/ip-prefix-lists/<ip-prefix-list-id>
RouteMap
POST /logical-routers/<logical-router-id>/routing/route-maps
PUT /logical-routers/<logical-router-id>/routing/route-maps/<route-map-id>
DELETE /logical-routers/<logical-router-id>/routing/route-maps/<route-map-id>
RedistributionConfig
PUT /logical-routers/<logical-router-id>/routing/redistribution
RedistributionRuleList
PUT /logical-routers/<logical-router-id>/routing/redistribution/rules
BfdConfig
PUT /logical-routers/<logical-router-id>/routing/bfd-config
MplsConfig
PUT /logical-routers/<logical-router-id>/routing/mpls
RoutingGlobalConfig
PUT /logical-routers/<logical-router-id>/routing
IPSecVPNIKEProfile
POST /vpn/ipsec/ike-profiles
PUT /vpn/ipsec/ike-profiles/<ike-profile-id>
DELETE /vpn/ipsec/ike-profiles/<ike-profile-id>
IPSecVPNDPDProfile
POST /vpn/ipsec/dpd-profiles
PUT /vpn/ipsec/dpd-profiles/<dpd-profile-id>
DELETE /vpn/ipsec/dpd-profiles/<dpd-profile-id>
IPSecVPNTunnelProfile
POST /vpn/ipsec/tunnel-profiles
PUT /vpn/ipsec/tunnel-profiles/<tunnel-profile-id>
DELETE /vpn/ipsec/tunnel-profiles/<tunnel-profile-id>
IPSecVPNLocalEndpoint
POST /vpn/ipsec/local-endpoints
PUT /vpn/ipsec/local-endpoints/<local-endpoint-id>
DELETE /vpn/ipsec/local-endpoints/<local-endpoint-id>
IPSecVPNPeerEndpoint
POST /vpn/ipsec/peer-endpoints
PUT /vpn/ipsec/peer-endpoints/<peer-endpoint-id>
DELETE /vpn/ipsec/peer-endpoints/<peer-endpoint-id>
IPSecVPNService
POST /vpn/ipsec/services
PUT /vpn/ipsec/services/<service-id>
DELETE /vpn/ipsec/services/<service-id>
IPSecVPNSession
POST /vpn/ipsec/sessions
PUT /vpn/ipsec/sessions/<session-id>
DELETE /vpn/ipsec/sessions/<session-id>
DhcpServer
POST /dhcp/servers
PUT /dhcp/servers/<server-id>
DELETE /dhcp/servers/<server-id>
DhcpStaticBinding
POST /dhcp/servers/static-bindings
PUT /dhcp/servers/<server-id>/static-bindings/<binding-id>
DELETE /dhcp/servers/<server-id>/static-bindings/<binding-id>
DhcpIpPool
POST /dhcp/servers/ip-pools
PUT /dhcp/servers/<server-id>/ip-pools/<pool-id>
DELETE /dhcp/servers/<server-id>/ip-pools/<pool-id>
DnsForwarder
POST /dns/forwarders
PUT /dns/forwarders/<forwarder-id>
DELETE /dns/forwarders/<forwarder-id>
您可以呼叫下列 API 來取得實現狀態:
EdgeCluster Request - GET /edge-clusters/<edge-cluster-id>/state?request_id=<request-id> Response - An instance of EdgeClusterStateDto which will inherit ConfigurationState. If the edge cluster is deleted then the state will be unknown and it will return the common entity not found error. LogicalRouter / All L3 Entites - All L3 entities can use this API to get realization state Request - GET /logical-routers/<logical-router-id>/state?request_id=<request-id> Response - An instance of LogicalRouterStateDto which will inherit ConfigurationState. Delete operation of any entity other than logical router can be covered by getting the state of logical router but if the logical router itself is deleted then the state will be unknown and it will return the common entity not found error. LogicalServiceRouterCluster - All L3 entities which are the part of services can use this API to get the realization state Request - GET /logical-routers/<logical-router-id>/service-cluster/state?request_id=<request-id> Response - An instance of LogicalServiceRouterClusterState which will inherit ConfigurationState. LogicalRouterPort / DhcpRelayService / DhcpRelayProfile Request - GET /logical-router-ports/<logical-router-port-id>/state?request_id=<request-id> Response - An instance of LogicalRouterPortStateDto which will inherit ConfigurationState. IPSecVPNIKEProfile / IPSecVPNDPDProfile / IPSecVPNTunnelProfile / IPSecVPNLocalEndpoint / IPSecVPNPeerEndpoint / IPSecVPNService / IPSecVPNSession Request - GET /vpn/ipsec/sessions/<session-id>/state?request_id=<request-id> Response - An instance of IPSecVPNSessionStateDto which will inherit ConfigurationState. If the session is deleted then the state will be unknown and it will return the common entity not found error. When IPSecVPNService is disabled, IKE itself is down and it does not respond. It will return unknown state in such a case. DhcpServer Request - GET /dhcp/servers/<server-id>/state?request_id=<request-id> Response - An instance of ConfigurationState. DhcpStaticBinding Request - GET /dhcp/servers/<server-id>/static-bindings/<binding-id>/state?request_id=<request-id> Response - An instance of ConfigurationState. DhcpIpPool Request - GET /dhcp/servers/<server-id>/ip-pools/<pool-id>/state?request_id=<request-id> Response - An instance of ConfigurationState. DnsForwarder Request - GET /dns/forwarders/<forwarder-id>/state?request_id=<request-id> Response - An instance of ConfigurationState.
如需有關 API 的詳細資訊,請參閱《NSX-T Data Center API 參考》。