API Description | API Path |
---|---|
List Cluster ProfilesReturns paginated list of cluster profiles Cluster profiles define policies for edge cluster and bridge cluster. |
GET /api/v1/cluster-profiles
|
Create a Cluster ProfileCreate a cluster profile. The resource_type is required. |
POST /api/v1/cluster-profiles
|
Delete a cluster profileDelete a specified cluster profile. |
DELETE /api/v1/cluster-profiles/<cluster-profile-id>
|
Get cluster profile by IdReturns information about a specified cluster profile. |
GET /api/v1/cluster-profiles/<cluster-profile-id>
|
Update a cluster profileModifie a specified cluster profile. The body of the PUT request must include the resource_type. |
PUT /api/v1/cluster-profiles/<cluster-profile-id>
|
Return inventory configurationSupports retrieving following configuration of inventory module 1. Soft limit on number of compute managers that can be registered. |
GET /api/v1/configs/inventory
|
List Edge ClustersReturns information about the configured edge clusters, which enable you to group together transport nodes of the type EdgeNode and apply fabric profiles to all members of the edge cluster. Each edge node can participate in only one edge cluster. |
GET /api/v1/edge-clusters
|
Create Edge ClusterCreates a new edge cluster. It only supports homogeneous members. The TransportNodes backed by EdgeNode are only allowed in cluster members. DeploymentType (VIRTUAL_MACHINE|PHYSICAL_MACHINE) of these EdgeNodes is recommended to be the same. EdgeCluster supports members of different deployment types. |
POST /api/v1/edge-clusters
|
Delete Edge ClusterDeletes the specified edge cluster. |
DELETE /api/v1/edge-clusters/<edge-cluster-id>
|
Read Edge ClusterReturns information about the specified edge cluster. |
GET /api/v1/edge-clusters/<edge-cluster-id>
|
Replace the transport node in the specified member of the edge-clusterReplace the transport node in the specified member of the edge-cluster. This is a disruptive action. This will move all the LogicalRouterPorts(uplink and routerLink) host on the old transport_node to the new transport_node. The transportNode cannot be present in another member of any edgeClusters. |
POST /api/v1/edge-clusters/<edge-cluster-id>?action=replace_transport_node
|
Update Edge ClusterModifies the specified edge cluster. Modifiable parameters include the description, display_name, transport-node-id. If the optional fabric_profile_binding is included, resource_type and profile_id are required. User should do a GET on the edge-cluster and obtain the payload and retain the member_index of the existing members as returning in the GET output. For new member additions, the member_index cannot be defined by the user, user can read the system allocated index to the new member in the output of this API call or by doing a GET call. User cannot use this PUT api to replace the transport_node of an existing member because this is a disruption action, we have exposed a explicit API for doing so, refer to "ReplaceEdgeClusterMemberTransportNode" EdgeCluster only supports homogeneous members. The TransportNodes backed by EdgeNode are only allowed in cluster members. DeploymentType (VIRTUAL_MACHINE|PHYSICAL_MACHINE) of these EdgeNodes is recommended to be the same. EdgeCluster supports members of different deployment types. |
PUT /api/v1/edge-clusters/<edge-cluster-id>
|
Get the Allocation details of an edge clusterReturns the allocation details of cluster and its members. Lists the edge node members, active and standby services of each node, utilization details of configured sub-pools. These allocation details can be monitored by customers to trigger migration of certain service contexts to different edge nodes, to balance the utilization of edge node resources. |
GET /api/v1/edge-clusters/<edge-cluster-id>/allocation-status
|
Get inter-site status of the edge clusterReturns the aggregated status for the Edge cluster along with status of all edge nodes in the cluster. It always returns cached response. |
GET /api/v1/edge-clusters/<edge-cluster-id>/inter-site/status
|
Get the Realized State of a Edge ClusterReturn realized state information of a edge cluster. Any configuration update that affects the edge cluster can use this API to get its realized state by passing a request_id returned by the configuration change operation. e.g. Update configuration of edge cluster. |
GET /api/v1/edge-clusters/<edge-cluster-id>/state
|
Get the status for the Edge cluster of the given idReturns the aggregated status for the Edge cluster along with status of all edge nodes in the cluster. Query parameter "source=realtime" is the only supported source. |
GET /api/v1/edge-clusters/<edge-cluster-id>/status
|
Returns the List of cloud native service instancesReturns information about all cloud native service instances. |
GET /api/v1/fabric/cloud-native-service-instances
|
Returns information about a particular cloud native service instance by external-id.Returns information about a particular cloud native service instance by external-id. |
GET /api/v1/fabric/cloud-native-service-instances/<external-id>
|
Get compute collection fabric templatesReturns compute collection fabric templates. This functionality is deprecated. Use Transport Node Profiles instead of this template. |
GET /api/v1/fabric/compute-collection-fabric-templates
(Deprecated)
|
Create a compute collection fabric templateFabric templates are fabric configurations applied at the compute collection level. This configurations is used to decide what automated operations should be a run when a host membership changes. This functionality is deprecated. Use Transport Node Profiles instead of this template. |
POST /api/v1/fabric/compute-collection-fabric-templates
(Deprecated)
|
Deletes compute collection fabric templateDeletes compute collection fabric template for the given id. This functionality is deprecated. Use Transport Node Profiles instead of this template. |
DELETE /api/v1/fabric/compute-collection-fabric-templates/<fabric-template-id>
(Deprecated)
|
Get compute collection fabric template by idGet compute collection fabric template for the given id. This functionality is deprecated. Use Transport Node Profiles instead of this template. |
GET /api/v1/fabric/compute-collection-fabric-templates/<fabric-template-id>
(Deprecated)
|
Updates compute collection fabric templateUpdates compute collection fabric template for the given id. This functionality is deprecated. Use Transport Node Profiles instead of this template. |
PUT /api/v1/fabric/compute-collection-fabric-templates/<fabric-template-id>
(Deprecated)
|
Return the List of Compute CollectionsReturns information about all compute collections. |
GET /api/v1/fabric/compute-collections
|
Return Compute Collection InformationReturns information about a specific compute collection. |
GET /api/v1/fabric/compute-collections/<cc-ext-id>
|
Perform action specific to NSX on the compute-collection. cc-ext-id should be of type VC_Cluster. |
POST /api/v1/fabric/compute-collections/<cc-ext-id>
|
Get status of member host nodes of the compute-collection. Only nsx prepared host nodes in the specified compute-collection are included in the response. cc-ext-id should be of type VC_Cluster. |
GET /api/v1/fabric/compute-collections/<cc-ext-id>/member-status
|
List the Physical Network Interface for all discovered nodesReturns list of physical network interfaces for all discovered nodes in compute collection. Interface information includes PNIC name, hostswitch name it's attached to(if any) and MAC address. |
GET /api/v1/fabric/compute-collections/<cc-ext-id>/network/physical-interfaces
|
Return the List of Compute managersReturns information about all compute managers. |
GET /api/v1/fabric/compute-managers
|
Register compute manager with NSXRegisters compute manager with NSX. Inventory service will collect data from the registered compute manager |
POST /api/v1/fabric/compute-managers
|
Unregister a compute managerUnregisters a specified compute manager |
DELETE /api/v1/fabric/compute-managers/<compute-manager-id>
|
Return compute manager InformationReturns information about a specific compute manager |
GET /api/v1/fabric/compute-managers/<compute-manager-id>
|
Update compute managerUpdates a specified compute manager |
PUT /api/v1/fabric/compute-managers/<compute-manager-id>
|
Get the realized state of a compute manager |
GET /api/v1/fabric/compute-managers/<compute-manager-id>/state
|
Return runtime status information for a compute managerReturns connection and version information about a compute manager |
GET /api/v1/fabric/compute-managers/<compute-manager-id>/status
|
Return the list of container application instanceReturns information about all container application instance. |
GET /api/v1/fabric/container-application-instances
|
Return a container application instanceReturns information about a specific container application instance. |
GET /api/v1/fabric/container-application-instances/<container-application-instance-id>
|
Return the List of Container ApplicationsReturns information about all Container Applications. |
GET /api/v1/fabric/container-applications
|
Return a Container Application within a container projectReturns information about a specific Container Application within a project. |
GET /api/v1/fabric/container-applications/<container-application-id>
|
Return the list of container cluster nodesReturns information about all container cluster nodes. |
GET /api/v1/fabric/container-cluster-nodes
|
Return a container cluster nodeReturns information about a specific container cluster node. |
GET /api/v1/fabric/container-cluster-nodes/<container-cluster-node-id>
|
Return the List of Container ClustersReturns information about all Container Clusters. |
GET /api/v1/fabric/container-clusters
|
Return a container clusterReturns information about a specific container cluster |
GET /api/v1/fabric/container-clusters/<container-cluster-id>
|
Return the List of Container Ingress PoliciesReturns information about all ingress policies. |
GET /api/v1/fabric/container-ingress-policies
|
Returns an ingress policy specReturns information about a specific ingress policy. |
GET /api/v1/fabric/container-ingress-policies/<ingress-policy-id>
|
Return the List of Container Network PoliciesReturns information about all network policies. |
GET /api/v1/fabric/container-network-policies
|
Return a network policy specReturns information about a specific network policy. |
GET /api/v1/fabric/container-network-policies/<network-policy-id>
|
Return the list of container projectsReturns information about all container projects |
GET /api/v1/fabric/container-projects
|
Return a container projectReturns information about a specific project |
GET /api/v1/fabric/container-projects/<container-project-id>
|
Return the List of Discovered NodesReturns information about all discovered nodes. |
GET /api/v1/fabric/discovered-nodes
|
Return Discovered Node InformationReturns information about a specific discovered node. |
GET /api/v1/fabric/discovered-nodes/<node-ext-id>
|
Apply cluster level config on Discovered NodeWhen transport node profile (TNP) is applied to a cluster, if any validation fails (e.g. VMs running on host) then transport node (TN) is not created. In that case after the required action is taken (e.g. VMs powered off), you can call this API to try to create TN for that discovered node. Do not call this API if Transport Node already exists for the discovered node. In that case use API on transport node. /transport-nodes/ |
POST /api/v1/fabric/discovered-nodes/<node-ext-id>?action=reapply_cluster_config
|
(Deprecated) Prepares discovered Node for NSXPrepares(hostprep) discovered node for NSX. NSX LCP bundles are installed on this discovered node. This API is deprecated. Use /fabric/discovered-nodes/ |
POST /api/v1/fabric/discovered-nodes/<node-ext-id>?action=hostprep
(Deprecated)
|
Created Transport Node for Discovered NodeNSX components are installaed on host and transport node is created with given configurations. |
POST /api/v1/fabric/discovered-nodes/<node-ext-id>?action=create_transport_node
|
Return the List of NodesReturns information about all fabric nodes (hosts and edges). This api is deprecated as part of FN+TN unification. Please use Transport Node API GET /transport-nodes to list all fabric nodes. |
GET /api/v1/fabric/nodes
(Deprecated)
|
Register and Install NSX Components on a NodeCreates a host node (hypervisor) or edge node (router) in the transport network. When you run this command for a host, NSX Manager attempts to install the NSX kernel modules, which are packaged as VIB, RPM, or DEB files. For the installation to succeed, you must provide the host login credentials and the host thumbprint. To get the ESXi host thumbprint, SSH to the host and run the openssl x509 -in /etc/vmware/ssl/rui.crt -fingerprint -sha256 -noout command. To generate host key thumbprint using SHA-256 algorithm please follow the steps below. Log into the host, making sure that the connection is not vulnerable to a man in the middle attack. Check whether a public key already exists. Host public key is generally located at '/etc/ssh/ssh_host_rsa_key.pub'. If the key is not present then generate a new key by running the following command and follow the instructions. ssh-keygen -t rsa Now generate a SHA256 hash of the key using the following command. Please make sure to pass the appropriate file name if the public key is stored with a different file name other than the default 'id_rsa.pub'. awk '{print $2}' id_rsa.pub | base64 -d | sha256sum -b | sed 's/ .*$//' | xxd -r -p | base64 This api is deprecated as part of FN+TN unification. Please use Transport Node API POST /transport-nodes to install NSX components on a node. |
POST /api/v1/fabric/nodes
(Deprecated)
|
Delete a NodeRemoves a specified fabric node (host or edge). A fabric node may only be deleted when it is no longer referenced by a Transport Node. If unprepare_host option is set to false, the host will be deleted without uninstalling the NSX components from the host. This api is deprecated, use Transport Node API DELETE /transport-nodes/<transport-node-id> to delete FN. DELETE /transport-nodes/ |
DELETE /api/v1/fabric/nodes/<node-id>
(Deprecated)
|
Return Node InformationReturns information about a specific fabric node (host or edge). This api is deprecated, use Transport Node API GET /transport-nodes/<transport-node-id> to get fabric node information. |
GET /api/v1/fabric/nodes/<node-id>
(Deprecated)
|
Perform an Action on Fabric NodeThe supported fabric node actions are enter_maintenance_mode, exit_maintenance_mode for EdgeNode. This API is deprecated, please call TransportNode maintenance mode API to update maintenance mode, refer to "Update transport node maintenance mode". |
POST /api/v1/fabric/nodes/<node-id>
(Deprecated)
|
Perform a service deployment upgrade on a host node |
POST /api/v1/fabric/nodes/<node-id>?action=upgrade_infra
|
Restart the inventory sync for the node if it is paused currently.Restart the inventory sync for the node if it is currently internally paused. After this action the next inventory sync coming from the node is processed. This api is deprecated as part of FN+TN unification. Please use Transport Node API POST /transport-nodes/<transport-node-id>?action=restart_inventory_sync to restart inventory sync of node. |
POST /api/v1/fabric/nodes/<node-id>?action=restart_inventory_sync
(Deprecated)
|
Update a NodeModifies attributes of a fabric node (host or edge). This api is deprecated as part of FN+TN unification. Please use Transport Node API PUT /transport-nodes/<transport-node-id> to update fabric node details. API PUT /transport-nodes/ |
PUT /api/v1/fabric/nodes/<node-id>
(Deprecated)
|
Return the List of Capabilities of a Single NodeReturns information about capabilities of a single fabric host node. Edge nodes do not have capabilities. This api is deprecated, use GET /transport-nodes/<transportnode-id>/capabilities if FN is converted to TN. |
GET /api/v1/fabric/nodes/<node-id>/capabilities
(Deprecated)
|
Get the module details of a Fabric Node This api is deprecated, use Transport Node API GET /transport-nodes/<transportnode-id>/modules to get fabric node modules. |
GET /api/v1/fabric/nodes/<node-id>/modules
(Deprecated)
|
List the specified node's Network InterfacesReturns the number of interfaces on the node and detailed information about each interface. Interface information includes MTU, broadcast and host IP addresses, link and admin status, MAC address, network mask, and the IP configuration method (static or DHCP). This api is deprecated. Please use Transport Node API GET /transport-nodes/ to list node network interfaces for the corresponding TN. |
GET /api/v1/fabric/nodes/<node-id>/network/interfaces
(Deprecated)
|
Read the node's Network InterfaceReturns detailed information about the specified interface. Interface information includes MTU, broadcast and host IP addresses, link and admin status, MAC address, network mask, and the IP configuration method (static or DHCP). This api is deprecated as part of FN+TN unification. Please use Transport Node API GET /transport-nodes/ to get interface details of a node. |
GET /api/v1/fabric/nodes/<node-id>/network/interfaces/<interface-id>
(Deprecated)
|
Get the Realized State of a Fabric Node.For edge nodes, returns the current install state when deployment is in progress, NODE_READY when deployment is complete and the failure state when deployment has failed. This api is deprecated. Please use /transport-nodes/<transportnode-id>/state to get realized state of a Fabric Node. |
GET /api/v1/fabric/nodes/<node-id>/state
(Deprecated)
|
Return Runtime Status Information for a NodeReturns connectivity, heartbeat, and version information about a fabric node (host or edge). Note that the LCP connectivity status remains down until after the fabric node has been added as a transpot node and the NSX host switch has been successfully installed. See POST /api/v1/transport-nodes. This api is deprecated, use GET /api/v1/transport-nodes/<node-id>/status to get status information of a node with constraint FN is converted to TN. |
GET /api/v1/fabric/nodes/<node-id>/status
(Deprecated)
|
Invoke DELETE request on target fabric nodeInvoke DELETE request on target fabric node. This api is deprecated as part of FN+TN unification. Please use Transport Node API DELETE /transport-nodes/<transport-node-id>/<target-node-id>/<target-uri> |
DELETE /api/v1/fabric/nodes/<target-node-id>/<target-uri>
(Deprecated)
|
Invoke GET request on target fabric nodeInvoke GET request on target fabric node. This api is deprecated as part of FN+TN unification. Please use Transport Node API GET /transport-nodes/<transport-node-id>/<target-node-id>/<target-uri> |
GET /api/v1/fabric/nodes/<target-node-id>/<target-uri>
(Deprecated)
|
Invoke POST request on target fabric nodeInvoke POST request on target fabric node. This api is deprecated as part of FN+TN unification. Please use Transport Node API POST /transport-nodes/<transport-node-id>/<target-node-id>/<target-uri> |
POST /api/v1/fabric/nodes/<target-node-id>/<target-uri>
(Deprecated)
|
Invoke PUT request on target fabric nodeInvoke PUT request on target fabric node. This api is deprecated as part of FN+TN unification. Please use Transport Node API PUT /transport-nodes/<transport-node-id>/<target-node-id>/<target-uri> |
PUT /api/v1/fabric/nodes/<target-node-id>/<target-uri>
(Deprecated)
|
Return Runtime Status Information for given NodesReturns connectivity, heartbeat, and version information about all fabric nodes (host or edge). This api is deprecated as part of FN+TN unification. Please use Transport Node Status API /transport-nodes/<node-id>/status to get status information of a node and to get all transport nodes ids use GET /transport-nodes. |
GET /api/v1/fabric/nodes/status
(Deprecated)
|
Return list of supported host OS typesReturns names of all supported host OS. |
GET /api/v1/fabric/ostypes
|
Return the list of physical serversReturns information of all physical/bare metal servers registered as TN. |
GET /api/v1/fabric/physical-servers
|
Return a specific physical serverReturns information about physical/bare metal server based on given transport node id. |
GET /api/v1/fabric/physical-servers/<physical-server-id>
|
Return the List of Virtual Network Interfaces (VIFs)Returns information about all VIFs. A virtual network interface aggregates network interfaces into a logical interface unit that is indistinuishable from a physical network interface. |
GET /api/v1/fabric/vifs
|
Return the List of Virtual MachinesReturns information about all virtual machines. |
GET /api/v1/fabric/virtual-machines
|
Perform action on specified virtual machine e.g. update tagsPerform action on a specific virtual machine. External id of the virtual machine needs to be provided in the request body. Some of the actions that can be performed are update tags, add tags, remove tags. To add tags to existing list of tag, use action parameter add_tags. To remove tags from existing list of tag, use action parameter remove_tags. To replace existing tags with new tags, use action parameter update_tags. To clear all tags, provide an empty list and action parameter as update_tags. The vmw-async: True HTTP header cannot be used with this API. |
POST /api/v1/fabric/virtual-machines?action=add_tags
|
Perform action on specified virtual machine e.g. update tagsPerform action on a specific virtual machine. External id of the virtual machine needs to be provided in the request body. Some of the actions that can be performed are update tags, add tags, remove tags. To add tags to existing list of tag, use action parameter add_tags. To remove tags from existing list of tag, use action parameter remove_tags. To replace existing tags with new tags, use action parameter update_tags. To clear all tags, provide an empty list and action parameter as update_tags. The vmw-async: True HTTP header cannot be used with this API. |
POST /api/v1/fabric/virtual-machines?action=remove_tags
|
Perform action on specified virtual machine e.g. update tagsPerform action on a specific virtual machine. External id of the virtual machine needs to be provided in the request body. Some of the actions that can be performed are update tags, add tags, remove tags. To add tags to existing list of tag, use action parameter add_tags. To remove tags from existing list of tag, use action parameter remove_tags. To replace existing tags with new tags, use action parameter update_tags. To clear all tags, provide an empty list and action parameter as update_tags. The vmw-async: True HTTP header cannot be used with this API. |
POST /api/v1/fabric/virtual-machines?action=update_tags
|
Return the list of tools and agents installed in VMs.This API returns the list of tools and agents installed in VMs. |
GET /api/v1/fabric/virtual-machines/tools-info
|
Return the List of Virtual SwitchesReturns information about all virtual switches based on the request parameters. |
GET /api/v1/fabric/virtual-switches
|
List Failure DomainsReturns information about configured failure domains. |
GET /api/v1/failure-domains
|
Create Failure DomainCreates a new failure domain. |
POST /api/v1/failure-domains
|
Delete Failure DomainDeletes an existing failure domain. You can not delete system generated default failure domain. |
DELETE /api/v1/failure-domains/<failure-domain-id>
|
Get a Failure DomainReturns information about a single failure domain. |
GET /api/v1/failure-domains/<failure-domain-id>
|
Update Failure DomainUpdates an existing failure domain. Modifiable parameters are display_name, preferred_active_edge_services flag. |
PUT /api/v1/failure-domains/<failure-domain-id>
|
List Hostswitch ProfilesReturns information about the configured hostswitch profiles. Hostswitch profiles define networking policies for hostswitches (sometimes referred to as bridges in OVS). Currently, only uplink teaming is supported. Uplink teaming allows NSX to load balance traffic across different physical NICs (PNICs) on the hypervisor hosts. Multiple teaming policies are supported, including LACP active, LACP passive, load balancing based on source ID, and failover order. |
GET /api/v1/host-switch-profiles
|
Create a Hostswitch ProfileCreates a hostswitch profile. The resource_type is required. For uplink profiles, the teaming and policy parameters are required. By default, the mtu is 1600 and the transport_vlan is 0. The supported MTU range is 1280 through (uplink_mtu_threshold). (uplink_mtu_threshold) is 9000 by default. Range can be extended by modifying (uplink_mtu_threshold) in SwitchingGlobalConfig to the required upper threshold. |
POST /api/v1/host-switch-profiles
|
Delete a Hostswitch ProfileDeletes a specified hostswitch profile. |
DELETE /api/v1/host-switch-profiles/<host-switch-profile-id>
|
Get a Hostswitch Profile by IDReturns information about a specified hostswitch profile. |
GET /api/v1/host-switch-profiles/<host-switch-profile-id>
|
Update a Hostswitch ProfileModifies a specified hostswitch profile. The body of the PUT request must include the resource_type. For uplink profiles, the put request must also include teaming parameters. Modifiable attributes include display_name, mtu, and transport_vlan. For uplink teaming policies, uplink_name and policy are also modifiable. |
PUT /api/v1/host-switch-profiles/<host-switch-profile-id>
|
List LLDP Neighbor Properties of Fabric NodeList LLDP Neighbor Properties for all interfaces of Fabric Node |
GET /api/v1/lldp/fabric-nodes/<fabric-node-id>/interfaces
|
Read LLDP Neighbor Properties of Fabric Node by Interface NameRead LLDP Neighbor Properties for a specific interface of Fabric Node |
GET /api/v1/lldp/fabric-nodes/<fabric-node-id>/interfaces/<interface-name>
|
List LLDP Neighbor Properties of Transport NodeList LLDP Neighbor Properties for all interfaces of Transport Node |
GET /api/v1/lldp/transport-nodes/<node-id>/interfaces
|
Read LLDP Neighbor Properties of Transport Node by Interface NameRead LLDP Neighbor Properties for a specific interface of Transport Node |
GET /api/v1/lldp/transport-nodes/<node-id>/interfaces/<interface-name>
|
Returns list of configured IP address blocks.Returns information about configured IP address blocks. Information includes the id, display name, description & CIDR of IP address blocks |
GET /api/v1/pools/ip-blocks
|
Create a new IP address block.Creates a new IPv4 address block using the specified cidr. cidr is a required parameter. display_name & description are optional parameters |
POST /api/v1/pools/ip-blocks
|
Delete an IP Address BlockDeletes the IP address block with specified id if it exists. IP block cannot be deleted if there are allocated subnets from the block. |
DELETE /api/v1/pools/ip-blocks/<block-id>
|
Get IP address block information.Returns information about the IP address block with specified id. Information includes id, display_name, description & cidr. |
GET /api/v1/pools/ip-blocks/<block-id>
|
Update an IP Address BlockModifies the IP address block with specifed id. display_name, description and cidr are parameters that can be modified. If a new cidr is specified, it should contain all existing subnets in the IP block. Returns a conflict error if the IP address block cidr can not be modified due to the presence of subnets that it contains. Eg: If the IP block contains a subnet 192.168.0.1/24 and we try to change the IP block cidr to 10.1.0.1/16, it results in a conflict. |
PUT /api/v1/pools/ip-blocks/<block-id>
|
List IP PoolsReturns information about the configured IP address pools. Information includes the display name and description of the pool and the details of each of the subnets in the pool, including the DNS servers, allocation ranges, gateway, and CIDR subnet address. |
GET /api/v1/pools/ip-pools
|
Create an IP PoolCreates a new IPv4 or IPv6 address pool. Required parameters are allocation_ranges and cidr. Optional parameters are display_name, description, dns_nameservers, dns_suffix, and gateway_ip. |
POST /api/v1/pools/ip-pools
|
Delete an IP PoolDeletes the specified IP address pool. By default, if the IpPool is used in other configurations (such as transport node template), it won't be deleted. In such situations, pass "force=true" as query param to force delete the IpPool |
DELETE /api/v1/pools/ip-pools/<pool-id>
|
Read IP PoolReturns information about the specified IP address pool. |
GET /api/v1/pools/ip-pools/<pool-id>
|
Allocate or Release an IP Address from a PoolAllocates or releases an IP address from the specified IP pool. To allocate an address, include ?action=ALLOCATE in the request and "allocation_id":null in the request body. When the request is successful, the response is "allocation_id": " the specified pool. To release an IP address (return it back to the pool), include ?action=RELEASE in the request and "allocation_id": the request body, where request is successful, the response is NULL. Tags, display_name and description attributes are not supported for AllocationIpAddress in this release. |
POST /api/v1/pools/ip-pools/<pool-id>
|
Update an IP PoolModifies the specified IP address pool. Modifiable parameters include the description, display_name, and all subnet information. |
PUT /api/v1/pools/ip-pools/<pool-id>
|
List IP Pool AllocationsReturns information about which addresses have been allocated from a specified IP address pool. |
GET /api/v1/pools/ip-pools/<pool-id>/allocations
|
List subnets within an IP blockReturns information about all subnets present within an IP address block. Information includes subnet's id, display_name, description, cidr and allocation ranges. |
GET /api/v1/pools/ip-subnets
|
Create subnet of specified size within an IP blockCarves out a subnet of requested size from the specified IP block. The "size" parameter and the "block_id " are the requireds field while invoking this API. If the IP block has sufficient resources/space to allocate a subnet of specified size, the response will contain all the details of the newly created subnet including the display_name, description, cidr & allocation_ranges. Returns a conflict error if the IP block does not have enough resources/space to allocate a subnet of the requested size. |
POST /api/v1/pools/ip-subnets
|
Delete subnet within an IP blockDeletes a subnet with specified id within a given IP address block. Deletion is allowed only when there are no allocated IP addresses from that subnet. |
DELETE /api/v1/pools/ip-subnets/<subnet-id>
|
Get the subnet within an IP blockReturns information about the subnet with specified id within a given IP address block. Information includes display_name, description, cidr and allocation_ranges. |
GET /api/v1/pools/ip-subnets/<subnet-id>
|
Allocate or Release an IP Address from a Ip SubnetAllocates or releases an IP address from the specified IP subnet. To allocate an address, include ?action=ALLOCATE in the request and a "{}" in the request body. When the request is successful, the response is "allocation_id": " the specified pool. To release an IP address (return it back to the pool), include ?action=RELEASE in the request and "allocation_id": the request body, where request is successful, the response is NULL. |
POST /api/v1/pools/ip-subnets/<subnet-id>
|
List MAC PoolsReturns a list of all the MAC pools |
GET /api/v1/pools/mac-pools
|
Read MAC PoolReturns information about the specified MAC pool. |
GET /api/v1/pools/mac-pools/<pool-id>
|
List VNI PoolsReturns information about the default and configured virtual network identifier (VNI) pools for use when building logical network segments. Each virtual network has a unique ID called a VNI. Instead of creating a new VNI each time you need a new logical switch, you can instead allocate a VNI from a VNI pool. VNI pools are sometimes called segment ID pools. Each VNI pool has a range of usable VNIs. By default, there is one pool with two ranges [5000, 65535] and [65536, 75000]. To create multiple smaller pools, specify a smaller range for each pool such as 75001-75100 and 75101-75200. The VNI range determines the maximum number of logical switches that can be created in each network segment. |
GET /api/v1/pools/vni-pools
|
Create a new VNI Pool.Creates a new VNI pool using the specified VNI pool range. The range should be non-overlapping with an existing range. If the range in payload is present or overlaps with an existing range, return code 400 with bad request and an error message is returned mentioning that the given range overlaps with an existing range. |
POST /api/v1/pools/vni-pools
|
Delete a VNI PoolDeletes the given VNI pool. |
DELETE /api/v1/pools/vni-pools/<pool-id>
|
Read VNI PoolReturns information about the specified virtual network identifier (VNI) pool. |
GET /api/v1/pools/vni-pools/<pool-id>
|
Update a VNI PoolUpdates the specified VNI pool. Modifiable parameters include description, display_name and ranges. Ranges can be added, modified or deleted. Overlapping ranges are not allowed. Only range end can be modified for any existing range. Range shrinking or deletion is not allowed if there are any allocated VNIs. |
PUT /api/v1/pools/vni-pools/<pool-id>
|
List virtual tunnel endpoint Label PoolsReturns a list of all virtual tunnel endpoint label pools |
GET /api/v1/pools/vtep-label-pools
|
Read a virtual tunnel endpoint label poolReturns information about the specified virtual tunnel endpoint label pool. |
GET /api/v1/pools/vtep-label-pools/<pool-id>
|
List Transport Node collectionsReturns all Transport Node collections |
GET /api/v1/transport-node-collections
|
Create transport node collection by attaching Transport Node Profile to cluster.When transport node collection is created the hosts which are part of compute collection will be prepared automatically i.e. NSX Manager attempts to install the NSX components on hosts. Transport nodes for these hosts are created using the configuration specified in transport node profile. |
POST /api/v1/transport-node-collections
|
Detach transport node profile from compute collection.By deleting transport node collection, we are detaching the transport node profile(TNP) from the compute collection. It has no effect on existing transport nodes. However, new hosts added to the compute collection will no longer be automatically converted to NSX transport node. Detaching TNP from compute collection does not delete TNP. |
DELETE /api/v1/transport-node-collections/<transport-node-collection-id>
|
Get Transport Node collection by idReturns transport node collection by id |
GET /api/v1/transport-node-collections/<transport-node-collection-id>
|
Update Transport Node collectionAttach different transport node profile to compute collection by updating transport node collection. |
PUT /api/v1/transport-node-collections/<transport-node-collection-id>
|
Get Transport Node collection application stateReturns the state of transport node collection based on the states of transport nodes of the hosts which are part of compute collection. |
GET /api/v1/transport-node-collections/<transport-node-collection-id>/state
|
List Transport NodesReturns information about all transport node profiles. |
GET /api/v1/transport-node-profiles
|
Create a Transport Node ProfileTransport node profile captures the configuration needed to create a transport node. A transport node profile can be attached to compute collections for automatic TN creation of member hosts. |
POST /api/v1/transport-node-profiles
|
Delete a Transport Node ProfileDeletes the specified transport node profile. A transport node profile can be deleted only when it is not attached to any compute collection. |
DELETE /api/v1/transport-node-profiles/<transport-node-profile-id>
|
Get a Transport NodeReturns information about a specified transport node profile. |
GET /api/v1/transport-node-profiles/<transport-node-profile-id>
|
Update a Transport Node ProfileWhen configurations of a transport node profile(TNP) is updated, all the transport nodes in all the compute collections to which this TNP is attached are updated to reflect the updated configuration. |
PUT /api/v1/transport-node-profiles/<transport-node-profile-id>
|
List Transport NodesReturns information about all transport nodes along with underlying host or edge details. A transport node is a host or edge that contains hostswitches. A hostswitch can have virtual machines connected to them. Because each transport node has hostswitches, transport nodes can also have virtual tunnel endpoints, which means that they can be part of the overlay. |
GET /api/v1/transport-nodes
|
Create a Transport NodeTransport nodes are hypervisor hosts and NSX Edges that will participate in an NSX-T overlay. For a hypervisor host, this means that it hosts VMs that will communicate over NSX-T logical switches. For NSX Edges, this means that it will have logical router uplinks and downlinks. This API creates transport node for a host node (hypervisor) or edge node (router) in the transport network. When you run this command for a host, NSX Manager attempts to install the NSX kernel modules, which are packaged as VIB, RPM, or DEB files. For the installation to succeed, you must provide the host login credentials and the host thumbprint. To get the ESXi host thumbprint, SSH to the host and run the openssl x509 -in /etc/vmware/ssl/rui.crt -fingerprint -sha256 -noout command. To generate host key thumbprint using SHA-256 algorithm please follow the steps below. Log into the host, making sure that the connection is not vulnerable to a man in the middle attack. Check whether a public key already exists. Host public key is generally located at '/etc/ssh/ssh_host_rsa_key.pub'. If the key is not present then generate a new key by running the following command and follow the instructions. ssh-keygen -t rsa Now generate a SHA256 hash of the key using the following command. Please make sure to pass the appropriate file name if the public key is stored with a different file name other than the default 'id_rsa.pub'. awk '{print $2}' id_rsa.pub | base64 -d | sha256sum -b | sed 's/ .*$//' | xxd -r -p | base64 This api is deprecated as part of FN+TN unification. Please use Transport Node API to install NSX components on a node. Additional documentation on creating a transport node can be found in the NSX-T Installation Guide. In order for the transport node to forward packets, the host_switch_spec property must be specified. Host switches (called bridges in OVS on KVM hypervisors) are the individual switches within the host virtual switch. Virtual machines are connected to the host switches. When creating a transport node, you need to specify if the host switches are already manually preconfigured on the node, or if NSX should create and manage the host switches. You specify this choice by the type of host switches you pass in the host_switch_spec property of the TransportNode request payload. For a KVM host, you can preconfigure the host switch, or you can have NSX Manager perform the configuration. For an ESXi host or NSX Edge node, NSX Manager always configures the host switch. To preconfigure the host switches on a KVM host, pass an array of PreconfiguredHostSwitchSpec objects that describes those host switches. In the current NSX-T release, only one prefonfigured host switch can be specified. See the PreconfiguredHostSwitchSpec schema definition for documentation on the properties that must be provided. Preconfigured host switches are only supported on KVM hosts, not on ESXi hosts or NSX Edge nodes. To allow NSX to manage the host switch configuration on KVM hosts, ESXi hosts, or NSX Edge nodes, pass an array of StandardHostSwitchSpec objects in the host_switch_spec property, and NSX will automatically create host switches with the properties you provide. In the current NSX-T release, up to 16 host switches can be automatically managed. See the StandardHostSwitchSpec schema definition for documentation on the properties that must be provided. Note: Previous versions of NSX-T also used a property named transport_zone_endpoints at TransportNode level. This property is deprecated which creates some combinations of new client along with old client payloads. Examples [1] & [2] show old/existing client request and response by populating transport_zone_endpoints property at TransportNode level. Example [3] shows TransportNode creation request/response by populating transport_zone_endpoints property at StandardHostSwitch level and other new properties. The request should either provide node_deployement_info or node_id. If the host node (hypervisor) or edge node (router) is already added in system then it can be converted to transport node by providing node_id in request. If host node (hypervisor) or edge node (router) is not already present in system then information should be provided under node_deployment_info. |
POST /api/v1/transport-nodes
|
Paginated list of BGP Neighbors on edge transport nodePaginated list of BGP Neighbors on edge transport node. |
GET /api/v1/transport-nodes/<edge-node-id>/inter-site/bgp/neighbors
|
Get BGP neighbor advertised routes on edge transport nodeReturns routes advertised by BGP neighbor from the given edge transport node. It always returns realtime response. |
GET /api/v1/transport-nodes/<edge-node-id>/inter-site/bgp/neighbors/<neighbor-id>/advertised-routes
|
Get BGP neighbor learned routes on edge transport nodeReturns routes learned by BGP neighbor from the given edge transport node. It always returns realtime response. |
GET /api/v1/transport-nodes/<edge-node-id>/inter-site/bgp/neighbors/<neighbor-id>/routes
|
Get inter-site BGP summary of edge nodeReturns BGP summary for all configured neighbors in tunnel VRF on the given egde node. It always returns realtime response. |
GET /api/v1/transport-nodes/<edge-node-id>/inter-site/bgp/summary
|
Get inter-site statistics of edge nodeReturns RTEP to RTEP tunnel port statistics of the given edge node. It always returns realtime response. |
GET /api/v1/transport-nodes/<edge-node-id>/inter-site/statistics
|
Get the module details of a transport node |
GET /api/v1/transport-nodes/<node-id>/modules
|
Get high-level summary of a transport node |
GET /api/v1/transport-nodes/<node-id>/pnic-bond-status
|
Read status of all transport nodes with tunnel connections to transport node |
GET /api/v1/transport-nodes/<node-id>/remote-transport-node-status
|
Read status of a transport node |
GET /api/v1/transport-nodes/<node-id>/status
|
List of tunnels |
GET /api/v1/transport-nodes/<node-id>/tunnels
|
Tunnel properties |
GET /api/v1/transport-nodes/<node-id>/tunnels/<tunnel-name>
|
Invoke DELETE request on target transport node |
DELETE /api/v1/transport-nodes/<target-node-id>/<target-uri>
|
Invoke GET request on target transport node |
GET /api/v1/transport-nodes/<target-node-id>/<target-uri>
|
Invoke POST request on target transport node |
POST /api/v1/transport-nodes/<target-node-id>/<target-uri>
|
Invoke PUT request on target transport node |
PUT /api/v1/transport-nodes/<target-node-id>/<target-uri>
|
Delete a Transport NodeDeletes the specified transport node. Query param force can be used to force delete the host nodes. Force deletion of edge and public cloud gateway nodes is not supported. It also removes the specified node (host or edge) from system. If unprepare_host option is set to false, then host will be deleted without uninstalling the NSX components from the host. |
DELETE /api/v1/transport-nodes/<transport-node-id>
|
Get a Transport NodeReturns information about a specified transport node. |
GET /api/v1/transport-nodes/<transport-node-id>
|
Apply cluster level Transport Node Profile on overridden hostA host can be overridden to have different configuration than Transport Node Profile(TNP) on cluster. This action will restore such overridden host back to cluster level TNP. This API can be used in other case. When TNP is applied to a cluster, if any validation fails (e.g. VMs running on host) then existing transport node (TN) is not updated. In that case after the issue is resolved manually (e.g. VMs powered off), you can call this API to update TN as per cluster level TNP. |
POST /api/v1/transport-nodes/<transport-node-id>?action=restore_cluster_config
|
Refresh the node configuration for the Edge node.The API is applicable for Edge transport nodes. If you update the VM configuration and find a discrepancy in VM configuration at NSX Manager, then use this API to refresh configuration at NSX Manager. It refreshes the VM configuration from sources external to MP. Sources include vSphere Server and the edge node. After this action, the API GET api/v1/transport-nodes will show refreshed data. |
POST /api/v1/transport-nodes/<transport-node-id>?action=refresh_node_configuration&resource_type=EdgeNode
|
Restart the inventory sync for the node if it is paused currently.Restart the inventory sync for the node if it is currently internally paused. After this action the next inventory sync coming from the node is processed. |
POST /api/v1/transport-nodes/<transport-node-id>?action=restart_inventory_sync
|
Enable flow cache for an edge transport nodeEnable flow cache for edge transport node. Caution: This involves restart of the edge dataplane and hence may lead to network disruption. |
POST /api/v1/transport-nodes/<transport-node-id>?action=enable_flow_cache
|
Disable flow cache for an edge transport nodeDisable flow cache for edge transport node. Caution: This involves restart of the edge dataplane and hence may lead to network disruption. |
POST /api/v1/transport-nodes/<transport-node-id>?action=disable_flow_cache
|
Update a Transport NodeModifies the transport node information. The host_switch_name field must match the host_switch_name value specified in the transport zone (API: transport-zones). You must create the associated uplink profile (API: host-switch-profiles) before you can specify an uplink_name here. If the host is an ESX and has only one physical NIC being used by a vSphere standard switch, TransportNodeUpdateParameters should be used to migrate the management interface and the physical NIC into a logical switch that is in a transport zone this transport node will join or has already joined. If the migration is already done, TransportNodeUpdateParameters can also be used to migrate the management interface and the physical NIC back to a vSphere standard switch. In other cases, the TransportNodeUpdateParameters should NOT be used. When updating transport node you should follow pattern where you should fetch the existing transport node and then only modify the required properties keeping other properties as is. It also modifies attributes of node (host or edge). Note: Previous versions of NSX-T also used a property named transport_zone_endpoints at TransportNode level. This property is deprecated which creates some combinations of new client along with old client payloads. Examples [1] shows old/existing client request and response by populating transport_zone_endpoints property at TransportNode level. Example [2] shows TransportNode updating TransportNode from exmaple [1] request/response by adding a new StandardHostSwitch by populating transport_zone_endpoints at StandardHostSwitch level. TransportNode level transport_zone_endpoints will ONLY have TransportZoneEndpoints that were originally specified here during create/update operation and does not include TransportZoneEndpoints that were directly specified at StandardHostSwitch level. |
PUT /api/v1/transport-nodes/<transport-node-id>
|
Return the list of capabilities of transport nodeReturns information about capabilities of transport host node. Edge nodes do not have capabilities. |
GET /api/v1/transport-nodes/<transport-node-id>/capabilities
|
List the specified transport node's network interfacesReturns the number of interfaces on the node and detailed information about each interface. Interface information includes MTU, broadcast and host IP addresses, link and admin status, MAC address, network mask, and the IP configuration method (static or DHCP). |
GET /api/v1/transport-nodes/<transport-node-id>/network/interfaces
|
Read the transport node's network interfaceReturns detailed information about the specified interface. Interface information includes MTU, broadcast and host IP addresses, link and admin status, MAC address, network mask, and the IP configuration method (static or DHCP). |
GET /api/v1/transport-nodes/<transport-node-id>/network/interfaces/<interface-id>
|
Read the NSX Manager's Network Interface StatisticsOn the specified interface, returns the number of received (rx), transmitted (tx), and dropped packets; the number of bytes and errors received and transmitted on the interface; and the number of detected collisions. |
GET /api/v1/transport-nodes/<transport-node-id>/network/interfaces/<interface-id>/stats
|
Get a Transport Node's StateReturns information about the current state of the transport node configuration and information about the associated hostswitch. |
GET /api/v1/transport-nodes/<transport-node-id>/state
|
Resync a Transport NodeResync the TransportNode configuration on a host. It is similar to updating the TransportNode with existing configuration, but force synce these configurations to the host (no backend optimizations). |
POST /api/v1/transport-nodes/<transportnode-id>?action=resync_host_config
|
Update transport node maintenance modePut transport node into maintenance mode or exit from maintenance mode. |
POST /api/v1/transport-nodes/<transportnode-id>
|
List transport nodes by realized stateReturns a list of transport node states that have realized state as provided as query parameter |
GET /api/v1/transport-nodes/state
|
Get high-level summary of all transport nodes. The service layer does not support source = realtime or cached. |
GET /api/v1/transport-nodes/status
|
List Transport ZonesReturns information about configured transport zones. NSX requires at least one transport zone. NSX uses transport zones to provide connectivity based on the topology of the underlying network, trust zones, or organizational separations. For example, you might have hypervisors that use one network for management traffic and a different network for VM traffic. This architecture would require two transport zones. The combination of transport zones plus transport connectors enables NSX to form tunnels between hypervisors. Transport zones define which interfaces on the hypervisors can communicate with which other interfaces on other hypervisors to establish overlay tunnels or provide connectivity to a VLAN. A logical switch can be in one (and only one) transport zone. This means that all of a switch's interfaces must be in the same transport zone. However, each hypervisor virtual switch (OVS or VDS) has multiple interfaces (connectors), and each connector can be attached to a different logical switch. For example, on a single hypervisor with two connectors, connector A can be attached to logical switch 1 in transport zone A, while connector B is attached to logical switch 2 in transport zone B. In this way, a single hypervisor can participate in multiple transport zones. The API for creating a transport zone requires that a single host switch be specified for each transport zone, and multiple transport zones can share the same host switch. |
GET /api/v1/transport-zones
|
Create a Transport ZoneCreates a new transport zone. The required parameters are host_switch_name and transport_type (OVERLAY or VLAN). The optional parameters are description and display_name. |
POST /api/v1/transport-zones
|
Delete a Transport ZoneDeletes an existing transport zone. |
DELETE /api/v1/transport-zones/<zone-id>
|
Get a Transport ZoneReturns information about a single transport zone. |
GET /api/v1/transport-zones/<zone-id>
|
Update a Transport ZoneUpdates an existing transport zone. Modifiable parameters are is_default, description, and display_name. The request must include the existing host_switch_name. |
PUT /api/v1/transport-zones/<zone-id>
|
Get high-level summary of a transport zone |
GET /api/v1/transport-zones/<zone-id>/status
|
Get a Transport Zone's Current Runtime Status InformationReturns information about a specified transport zone, including the number of logical switches in the transport zone, number of logical spitch ports assigned to the transport zone, and number of transport nodes in the transport zone. |
GET /api/v1/transport-zones/<zone-id>/summary
|
Read status of transport nodes in a transport zone |
GET /api/v1/transport-zones/<zone-id>/transport-node-status
|
Creates a status report of transport nodes in a transport zoneYou must provide the request header "Accept:application/octet-stream" when calling this API. |
GET /api/v1/transport-zones/<zone-id>/transport-node-status-report
|
Get high-level summary of a transport zone. The service layer does not support source = realtime or cached. |
GET /api/v1/transport-zones/status
|
Read status of all the transport nodes |
GET /api/v1/transport-zones/transport-node-status
|
Creates a status report of transport nodes of all the transport zonesYou must provide the request header "Accept:application/octet-stream" when calling this API. |
GET /api/v1/transport-zones/transport-node-status-report
|
List transport zone profilesReturns information about the configured transport zone profiles. Transport zone profiles define networking policies for transport zones and transport zone endpoints. |
GET /api/v1/transportzone-profiles
|
Create a transport zone ProfileCreates a transport zone profile. The resource_type is required. |
POST /api/v1/transportzone-profiles
|
Delete a transport zone ProfileDeletes a specified transport zone profile. |
DELETE /api/v1/transportzone-profiles/<transportzone-profile-id>
|
Get transport zone profile by identifierReturns information about a specified transport zone profile. |
GET /api/v1/transportzone-profiles/<transportzone-profile-id>
|
Update a transport zone profileModifies a specified transport zone profile. The body of the PUT request must include the resource_type. |
PUT /api/v1/transportzone-profiles/<transportzone-profile-id>
|