進行組態變更後,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 API 指南》。