NSX-T Data Center API Guide
Copyright © 2014-2022 VMware, Inc. All rights reserved. Copyright and trademark information.
NSX-T Data Center API Guide
NSX-T Data Center 3.2.1
Table of Contents
- Overview
- API Methods
-
Cloud Service Manager
- AWS
- AWS Accounts
- AWS Gateway AMIS
- AWS Gateways
- AWS Key Pairs
- AWS Regions
- AWS Resources
- AWS VPCS
- Accounts Statistics
- Azure
- Azure Accounts
- Azure Gateways
- Azure IP Allocations
- Azure Regions
- Azure Resources
- Azure Vnets
- Cloud Service Manager
- Cloud Types
- Manager Configuration
- NSX Manager Accounts
- Proxy Server Profile
- Supported Regions
- System Configuration
- VPN
- Virtual Machines
- Federation
- Management Plane API
- NSX Application Platform
-
Policy
- Infra
- Inventory
- Monitoring
-
Networking
-
Connectivity
- Segments
- Tier-0 Gateways
- Tier-1 Gateways
- Transport Zones
- IP Management
-
Network Services
-
Advanced Load Balancing
- Alb Analytics Profiles
- Alb Application Persistence Profiles
- Alb Application Profiles
- Alb Auth Profiles
- Alb Auth Token
- Alb Auto Scale Launch Configs
- Alb Controller Version
- Alb DNS Policies
- Alb Error Page Bodies
- Alb Error Page Profiles
- Alb HTTP Policy Sets
- Alb Hardware Security Module Groups
- Alb Health Monitors
- Alb IP Addr Groups
- Alb L4 Policy Sets
- Alb Network Profiles
- Alb Network Security Policies
- Alb Onboarding Workflow
- Alb Pki Profiles
- Alb Pool Group Deployment Policies
- Alb Pool Groups
- Alb Pools
- Alb Priority Labels
- Alb Protocol Parsers
- Alb SSL Key And Certificates
- Alb SSL Profiles
- Alb Security Policies
- Alb Server Auto Scale Policies
- Alb Sso Policies
- Alb String Groups
- Alb Traffic Clone Profiles
- Alb Virtual Services
- Alb Vs Data Script Sets
- Alb Vs Vips
- Alb Waf Crs
- Alb Waf Policies
- Alb Waf Policy Psm Groups
- Alb Waf Profiles
- Alb Webhooks
- Forwarding Policies
- Load Balancing
- Metadata Proxy
- NAT
- VPN
-
Advanced Load Balancing
- Networking Profiles
-
Connectivity
- Security
- Search
-
System Administration
-
Configuration
- Directory Service
-
Fabric
- Cloud Native Service Instances
- Compute Collections
- Compute Managers
- Edge Clusters
-
Nodes
- Certificates
- Cluster Control Planes
- DNS
- Discovered Nodes
- Fabric Nodes
- File Store
- Hardening
- LLDP
- Logs
- NSX Edge
-
NSX Manager
- Management Plane
- Manager Configuration
- Manager Network Interfaces
-
Services
- Async Replicator Service
- Cluster Manager Service
- Cm Inventory Service
- Controller Service
- Dispatcher Service
- HTTP Service
- Idps Reporting Service
- Install Upgrade Service
- Local-Controller Service
- Manager Service
- Messaging Manager Service
- Metadata Proxy Service
- Migration Coordinator Service
- NSX Control Plane Agent Service
- Node Stats Service
- Policy Service
- Search Service
- Telemetry Service
- User Interface Service
- Network Interfaces
- Physical Servers
- Services
- Settings
- Support-Bundle
- Transport Node Collections
- Transport Node Interfaces
- Transport Node Status
- Transport Node Tunnels
- Transport Nodes
- User Management
- Pool Management
- Profiles
- Transport Zones
- Global Configurations
- NSX Advanced Load Balancer
- NSX Intelligence
- NSX Managers
- NSX Partial Patch
- Nodes
- Site Management
- System Properties
- Lifecycle Management
- Monitoring
- Settings
-
Configuration
- Uncategorized APIs
-
Cloud Service Manager
- API Types
- API Type Schemas
- API Errors
- Deprecated Types and Methods
Overview
Introduction
NSX-T Data Center provides a programmatic API to automate management activities. The API follows a resource-oriented Representational State Transfer (REST) architecture, using JSON object encoding. Clients interact with the API using RESTful web service calls over the HTTPS protocol.
Each API method is identified by a request method and URI. Method parameters are specified as key-value pairs appended to the URI. Unless otherwise noted, request and response bodies are encoded using JSON, and must conform to the JSON schema associated with each method. The content type of each request and reply is "application/json" unless otherwise specified. Each request that can be made is documented in the API Methods section. The associated request and response body schemas are documented in the API Schemas section.
If you provide URL-encoded UTF-8 characters in the URL of your API request, you must include the header "Content-Type:charset=UTF-8" in your request.
API Policy: Changes, Deprecations and Removals
VMware NSX Data Center and associated firewall offerings may add new features in a NSX Data Center release. These new features may lead to additional APIs or backward compatible changes to existing APIs to support the new features.
Changes to the API that lead to incompatibility with previous releases will be announced at least one year prior to the change. These changes will be announced and documented in the NSX Data Center API Guide and in the NSX Data Center release notes. These changes can be implemented in either major or minor releases of NSX Data Center.
NSX Data Center APIs marked as "experimental" or that are not documented in the NSX Data Center API Guide are not subject to this policy. This indicates that the API may be changed or removed without notice in a future NSX Data Center release.
Definitions:
- Major Release: Designated by an increment of the "x" digit of the x.y.z product version.
- Minor Release: Designated by an increment of the "y" digit of the x.y.z product version.
API Data Types and Allowed Ranges
The NSX-T API uses JSON to represent API request and response payloads, and uses JSONSchema to describe the schema of these payloads. The data types are:
string: a sequence of UTF-8 characters. If a particular string property has a maximum length, it is represented in the documentation with a maxLength property.
integer: a signed 64-bit value. Unless a minimum or maximum value is shown in the documentation, integer values may take on values in the range -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
unsigned_integer: an unsigned 64-bit value. Unless a minimum or maximum value is shown in the documentation, integer values may take on values in the range 0 to 9,223,372,036,854,775,807.
int: a signed 32-bit value. Unless a minimum or maximum value is shown in the documentation, int values may take on values in the range -2,147,483,648 to 2,147,483,647.
number: a 64-bit floating point number. Unless a minimum or maximum value is shown in the documentation, number values may take on values in the range 4.9406564584124654 x 10-324 to 1.7976931348623157 x 10308.
boolean: the values true or false. Do not use quotes when sending boolean values in payloads.
object: a nested JSON object.
array: an array of one of the above types.
Formats
Some API types have a required format, and payloads that do not conform to the required format will be rejected. If a property has a required format, it is listed in the "Notes" section in this API Guide. The following formats are used in NSX-T:
ipv4: Must be a valid Internet Protocol version 4 address, in dotted-quad notation. For example, "192.168.1.232".
ipv6: Must be a valid Internet Protocol version 6 address, as described in RFC 1924. For example, "2001:0db8:85a3:0000:0000:8a2e:0370:7334". Abbreviations are supported.
ip: Either an ipv4 or ipv6 address.
hostname: An internet hostname, as described in RFC 1123. For example, "example.com"
ipv4-cidr-block: An ipv4 Classless Inter-Domain Routing (CIDR) block, expressed as a base ipv4 address, a slash, and the number of bits in the subnet mask. For example, "10.1.0.1/24".
ipv6-cidr-block: An ipv6 Classless Inter-Domain Routing (CIDR) block, expressed as a base ipv6 address, a slash, and the number of bits in the subnet mask. For example, "2001:db8::/32".
ip-cidr-block: Either an ipv4-cidr-block or an ip-v6-cidr-block.
ipv4-address-range: A range of ipv4 addresses, expressed as a lower-bound ipv4 address, a dash, and an upper-bound ipv4 address. For example, "192.168.1.0-192.168.1.255"
ipv6-address-range: A range of ipv6 addresses, expressed as a lower-bound ipv6 address, a dash, and an upper-bound ipv6 address. For example, "fe80::0202:b3ff:fe1e:8329-fe80::0202:b3ff:fe1e:832a"
address-or-block-or-range: Either an ip address, an ip-cidr-block, an ipv4-address-range, or an ipv6-address-range.
port-or-range: A port number (an integer in the range 0 to 65535) or a range of port numbers, expressed as a lower and upper port number, separated by a dash. Examples: "80" or "997-1023".
hostname-or-ip: Either a hostname or an ip address.
hostname-or-ipv4: Either a hostname or an ipv4 address.
list-of-address-or-block-or-range: A comma-separated list address-or-block-or-range.
mac-address: A Media Access Control (MAC) address. MAC addresses are six hexadecimal numbers, separated by either colons ":" or dashes "-". Case is not significant. Examples: "20:f3:75:5e:47:f0" or "20-F3-75-5E-47-F0".
Request Failures
It is possible for any request to fail. Errors are reported using standard HTTP response codes. It should be assumed the following errors could be returned by any API method: 301 Moved Permanently, 307 Temporary Redirect, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 412 Precondition Failed, 429 Too Many Requests, 500 Internal Server Error, 503 Service Unavailable. Where other errors may be returned, the type of error is indicated in the API method description. All errors are documented in the API Errors section. API requests may fail due to concurrent updates, where an API request collides with another API request, and NSX cannot reconcile the two operations. In that case, the client must re-fetch the resource, apply the changes, and re-submit the operation.
Request Authentication
Most API calls require authentication. This API supports several different authentication schemes, which are documented in this section. Multiple authentication schemes may not be used concurrently.
HTTP Basic Authentication
To authenticate a request using HTTP Basic authentication, the caller's credentials are passed using the 'Authorization' header. The header content should consist of a base64-encoded string containing the username and password separated by a single colon (":") character, as specified in RFC 1945 section 11.1.
For example, to authenticate a request using the credentials of user admin with password admin, include the following header with the request:
The following cURL command will authenticate to the manager using basic authentication and will issue a GET request for logical ports:
where:
USERNAME is the user to authenticate as,
PASSWORD is the password to provide, and
MANAGER is the IP address or host name of the NSX manager
For example:
Note: the -k argument instructs cURL to skip verifying the manager's self-signed X.509 certificate. It is more secure to verify that the server's certificate is signed by a Certificate Authority (CA) that you trust. To do that, omit the -k argument and use the --cacert <ca-file> option, where <ca-file> is a PEM-formatted file containing the CA certificate to trust.
For example:
Additional cURL examples below use the -k flag, but you can always substitute the --rootca <ca-file> argument for additional security.
In the above examples, USERNAME may be:
- A local user name. For example, "admin".
- A remote user name, of the form "user@domain", for example, "[email protected]". The domain must match a domain for a configured VIDM identity source or a configured LDAP identity source.
Session-Based Authentication
Session-based authentication is used by calling the /api/session/create authentication API to manage a session cookie. The session cookie returned in the result of a successful login must be provided in subsequent requests in order to associate those requests with the session.
Session state is local to the server responding to the API request. Idle sessions will automatically time-out, or can be terminated immediately using the POST /api/session/destroy API.
To obtain a session cookie, POST form data to the server using the application/x-ww-form-urlencoded media type, with fields "j_username" and "j_password" containing the username and password separated by an ampersand. Since an ampersand is a UNIX shell metacharacter, you may need to surround the argument with single quotes.
If the user is a remote user, append "@domain" to the username, for example, "[email protected]". The domain must match a domain for a configured VIDM identity source or a configured LDAP identity source.
The following cURL command will authenticate to the server, will deposit the session cookie in the file "cookies.txt", and will write all HTTP response headers to the file headers.txt. One of these headers is the X-XSRF-TOKEN header that you will need to provide in subsequent requests.
For example:
The manager will respond with the roles and permissions granted to the user, and cURL will deposit the session cookie into the file "cookies.txt".
In subsequent cURL requests, use the -b argument to specify the cookie file. You also need to pass the X-XSRF-TOKEN header that was saved to the headers.txt file, using cURL's -H option:
When the session expires, the manager will respond with a 403 Forbidden HTTP response, at which point you must obtain a new session cookie and X-XSRF-TOKEN.
Session cookies can be destroyed by using the /api/session/destroy API:
Authentication using an X.509 certificate and a Principal Identity
NSX supports using an X.509 client certificate for authentication. The certificate is associated with a principal identity (a short name, similar to a username), and that principal identity can be bound to an NSX role. This is useful for automated processes or scripts that perform NSX API calls, and has the advantage that a user password does not need to be stored with the script.
For information on how to import a certificate and set up a principal identity, see the section "Add a Role Assignment or Principal Identity" in the NSX-T Administration Guide.
To use the client certificate to authenticate, your client must have access to the certificate and its associated private key. How to specify client authentication depends on the client you are using. For example, with curl, you use the --key argument to give the filename containing the private key and the --cert argument to give the filename containg the public certificate.
Authentication in VMware Cloud on AWS (VMC)
To make API calls to an NSX-T Manager in the VMware Cloud on AWS service (VMC), you need to gather a few pieces of information:
- Your VMC Organization ID
- Your Software Defined Data Center (SDDC) ID
- Your API token
All of this information is available in the VMC web console, https://console.cloud.vmware.com
In VMC, you always exchange your API token for a limited-duration authentication token, which you then pass in a header with your API calls. This authentication token is valid for 30 minutes. After that time, you must obtain a new authentication token using your API token. If you use an expired authentication token, the API call will be rejected.
To obtain an authentication token, you issue a POST request to the URL https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize, passing your API token in a form. To do this with cURL:
For example, if your refresh token is aB1jtC5yk2rDL6A1KPxzM0W4D7OeHFUNuXFHZidufYS3fIwn60ZRag0Y9dvX15Qv, the command will be:
You will receive a JSON response with several properties. The "access_token" property contains the token you will need to provide with your API requests. An easy way to parse this token out of the response is to use the "jq" utility. For example:
produces just the access token. You can set an environment variable with the correct authentication header with:
The AUTH_HDR environment variable now contains the authentication header. The token itself will be a long string of characters and digits.
Once you have your authentication token, you need to determine the URL for accessing the NSX-T manager in your SDDC. To do that, you issue a GET request to the endpoint https://vmc.vmware.com/vmc/api/orgs/<org-id>/sddcs/<sddc-id>, where <org-id> is your organization's ID and <sddc-id> is your SDDC's ID. The URL of the NSX-T manager will be in the resource_config.nsx_api_public_endpoint_url property. For example, if your organizations's ID is a003c3a5-3f68-4a8c-a74f-f79a0625da17 and your SDDC is 449369c7-7936-4f7f-b46e-624cdb2a0a99:
The output will look like:
This is the URL you should use to access your NSX-T manager from the internet. Append the particular API's URL to this base URL. For example, to list all domains, the API is "/policy/api/v1/infra/domains", so the full request will look like the following:
Example Requests and Responses
Example requests and responses are provided for most of the API calls below. Your actual response might differ from the example in the number of fields returned because optional empty fields are not returned when you make an API call.
Restrictions on Certain Fields in a Request
When configuring layer 2 switching, the following fields can contain any character except semicolon (;), vertical bar (|), equal sign (=), comma (,), tilde (~), and the "at" sign (@). They also have a length limitation as specified below:
- Logical switch display name. Maximum length: 80 bytes.
- Host switch name in TransportZone. Maximum length: 80 bytes.
- Uplink name in UplinkHostSwitchProfile. Maximum length: 47 bytes.
Optimistic Concurrency Control and the _revision property
Overview
In order to prevent one client from overwriting another client's updates, NSX-T employs a technique called optimistic concurrency control.
All REST payloads contain a property named "_revision". This is an integer that is incremented each time an existing resource is updated. Clients must provide this property in PUT requests and it must match the current _revision or the update will be rejected. This guards against the following situation:
Client 1 reads resource A.
Client 2 reads resource A.
Client 1 replaces the display_name property of resource A and does a PUT to replace the resource.
Client 2 replaces is different property of resource A and attempts to perform a PUT operation.
Without optimistic concurrency control, Client 2's update would overwrite Client 1's update to the display_name property. Instead, Client 2 receives a 409 Conflict error. To recover, Client 2 must fetch the resource again, apply the change, and perform a PUT.
Exceptions for /policy APIs
APIs whose URI begins with /policy have slightly different behavior. For those APIs, the _revision property must not be set when PUT is used to create a new resource. Once the resource is created, however, the _revision property must be provided with PUT operations.
PATCH and _revision for /policy APIs
APIs whose URI begins with /policy support the PATCH operation. Those APIs do not require that the _revision property be provided. A client can, however, request that the _revision property be checked when it is performing a PATCH in the /infra path. To do this, the client should pass the query parameter enforce_revision_check, e.g. PATCH /infra?enforce_revision_check=true.
PUT Operations
NSX-T conforms to REST and HTTP standards regarding the operation of PUT operations. A PUT is always a full replace of a resource, and if any properties are omitted from the payload, those properties will be reset to default values. It is suggested that API clients retrieve the existing resource, apply any desired changes to the copy of the resource, and PUT the entire modified resource.
Partial patching of objects is a feature supported by NSX that allows patching a subset of properties of any object. This behavior needs to be explicitly enabled. When partial patching is disabled (default behavior), the entire payload of object is expected to be provided in both PUT and PATCH operations for the /policy APIs.
In order to perform partial patching of existing objects using PATCH operation, partial patching should be enabled using either one of the following approach:
- System-wide partial patch configuration
Partial patch can be enabled/disabled in the system by using the Partial Patch Config api (i.e. PATCH /policy/api/v1/system-config/nsx-partial-patch-config) with sample request payload.
{ "enable_partial_patch": "true" }Default is 'false'.
Note: If the API request header has 'nsx-enable-partial-patch' parameter, then the header takes precedence over this system-wide configuration. - Header parameter (request level configuration)
Partial patch can also be enabled/disabled using API request header parameter. This will override the system-wide configuration for a particular request.
To enable partial patch, use 'nsx-enable-partial-patch=true'
To disable partial patch, use 'nsx-enable-partial-patch=false'
If this parameter is not passed in header, the system level configuration will be considered for Partial Patch operation. This header parameter will be considered only for PATCH requests. For other requests (e.g. PUT, POST etc.), this header parameter will be ignored.
Some important considerations/notes on Partial Patch:
- Array properties will be replaced entirely in partial patch.
- If PATCH api is executed on a non-existing object, a new object will be created after performing all applicable validations.
- There are cases where properties of an object are inter-dependent on each other e.g. username and password, IP address and thumbprint etc. In such cases, the partial patch request expects all such inter-dependent fields to be provided (either all or none).
- Partial patch is not supported for 'Infra' object.
- Certain types like Labels, Security Policies (for the 'rules' attribute) and Services have special
handling for certain attributes in PATCH request. This behavior will not be overridden by Partial Patch.
For instance, specifying rules on Security policies as a part of the PATCH invocation merges the specified rules with the existing rules. For full replacement of rules, PUT operation needs to be performed on the Security Policy. - Partial patch will not work for properties accepting polymorphic types if the specified value has a type that is different from that of the existing value.
API Rate Limiting
The NSX-T API service has three settings that control the rate of incoming API requests:
1) A per-client rate limit, in requests per second. If a client makes more requests than this limit in one second, the API server will refuse to service the API request and will return an HTTP 429 Too Many Requests Error. By default, this limit is 100 requests per second.
2) A per-client concurrency limit. This is the maximum number of outstanding requests that a client can have. For example, a client can open multiple connections to NSX-T and submit operations on each connection. When this limit is exceeded, the server returns a 429 Too Many Requests error to the client. By default, this limit is 40 concurrent requests.
3) An overall maximum number of concurrent requests. This is the maximum number of API requests that can be in process on the server. If the server is at this limit, additional requests will be refused and the HTTP error 503 Service Unavailable will be returned to the client. By default, this limit is 199 concurrent requests.
The first two limits exist to provide some level of fairness across multiple clients of NSX-T, and are intended to prevent one greedy client from preventing other clients from making API requests.
The last limit is the server's way of protecting itself against an unintentional (or intentional) denial of service attack.
While it is possible to configure these rate limits using the /api/v1/node/services/http API, it is not recommended. Instead, you should design your API client to gracefully deal with situations where limits are exceeded.
Designing API client code to work gracefully with rate limits
One approach is to build in throttling into the client code so that it never sends more than 100 requests in a given second and that it never has more than 40 concurrent requests in flight.
However, there isn't any way to ensure that the overall concurrency limits are never hit. That is because there may be other clients calling APIs, driving up the load on the server. API clients need to check for the HTTP error 503 Service Unavailable. In the event a 503 error is received, the simplest strategy is to insert a delay, possibly with an exponential backoff in the event that server load is high.
There are open-source libraries than can help you implement this retry/backoff behavior, such as Google's Retry helper in its Python google-api-core library. For an example of using this library with the NSX-T APIs, see https://github.com/vmware-samples/nsx-t/blob/master/python/basics/rate-limits.py
OpenAPI Specification of NSX-T APIs
You can download OpenAPI specifications for the various NSX-T APIs at the following URLs:
NSX-T Data Center Manager API:
APIs for NSX-T administration; node and cluster management APIs and
fabric management APIs for on-premise customers.
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_api.yaml
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_api.json
APIs for managing logical networking in NSX-T for on-premise customers.
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_policy_api.yaml
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_policy_api.json
APIs for managing logical networking in NSX-T for VMware Cloud customers.
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_vmc_policy_api.yaml
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_vmc_policy_api.json
APIs for managing AWS underlay networking for VMware Cloud customers.
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_vmc_aws_integration_api.yaml
- GET https://<nsx-mgr>/api/v1/spec/openapi/nsx_vmc_aws_integration_api.json
Cloud Service Manager
Cloud Service Manager: AWS Accounts
Add a AWS account to cloud serivce manager
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/aws/accounts { "display_name": "Account ABC", "cloud_type": "AWS", "cloud_tags_enabled" : true, "tenant_id": "123", "auth_method": "CREDENTIALS", "credentials": { "access_key": "A1B1C1", "secret_key": "a2b2c2", "gateway_role": "test-role" } } Successful Response:
Example Response: { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "Account ABC", "tenant_id": "123", "cloud_type": "AWS", "cloud_tags_enabled" : true, "auth_method": "CREDENTIALS", "credentials": { "gateway_role": "test-role" } "instance_stats": { "managed": 0, "unmanaged": 0, "error": 0 }, "vpc_stats": { "managed": 0, "unmanged": 0 }, "regions_count": 0, "status": { "inventory_sync_status": "IN_PROGRESS", "inventory_sync_state": "SYNCING_AWS_REGIONS" } } Required Permissions: Feature: cloud_accounts Additional Errors:
Return a list of all AWS accounts
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/accounts?region_id=us-west-2 Successful Response:
Example Response: { "all_accounts_vpc_stats": { "managed": 2, "unmanaged": 4 }, "all_accounts_instance_stats": { "managed": 12, "unmanaged": 22, "error": 1 } } Required Permissions: Feature: cloud_accounts Additional Errors:
Delete AWS account information
Request:Example Request: DELETE https://<nsx-csm>/api/v1/csm/aws/accounts/
Required Permissions: Feature: cloud_accounts Additional Errors:
Returns the details of the particular AWS account
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/accounts/9174ffd1-41b1-42d6-a28d-05c61a0698e2 Successful Response:
Example Response: { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "Account ABC", "tenant_id": "123", "cloud_type": "AWS", "cloud_tags_enabled" : true, "auth_method": "CREDENTIALS", "credentials": { "gateway_role": "test-role" } "instance_stats": { "managed": 63, "unmanaged": 25, "error": 1 }, "vpc_stats": { "managed": 4, "unmanaged": 7 }, "regions_count": 4, "status": { "inventory_sync_status": "SYNCED", "inventory_sync_state": "NOT_APPLICABLE", "credentials_status": "VALID" } } Required Permissions: Feature: cloud_accounts Additional Errors:
Update a AWS account information
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/aws/accounts/9174ffd1-41b1-42d6-a28d-05c61a0698e2 { "display_name": "New Name", "cloud_type": "AWS" } Successful Response:
Example Response: { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "New Name", "tenant_id": "123", "cloud_type": "AWS", "cloud_tags_enabled" : true, "auth_method": "CREDENTIALS", "credentials": { "gateway_role": "test-role" } "instance_stats": { "managed": 63, "unmanaged": 25, "error": 1 }, "vpc_stats": { "managed": 4, "unmanaged": 7 }, "regions_count": 4, "status": { "inventory_sync_status": "SYNCED", "inventory_sync_state": "NOT_APPLICABLE", "credentials_status": "VALID" } } Required Permissions: Feature: cloud_accounts Additional Errors:
Updates the list of desired regions for a particular AWS account
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/aws/accounts/9174ffd1-41b1-42d6-a28d-05c61a0698e2/desired-regions { "default_client_region": "us-east-1", "regions": [ { "id": "us-west-2", "display_name": "Oregon", "enabled": false, }, { "id": "us-east-1", "display_name": "N. Virginia", "enabled": true, } ] } Successful Response:
Example Response: { "default_client_region": "us-east-1", "regions": [ { "id": "us-west-2", "display_name": "Oregon", "enabled": false, }, { "id": "us-east-1", "display_name": "N. Virginia", "enabled": true, } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Returns a list of desired regions for a particular AWS account
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/accounts/9174ffd1-41b1-42d6-a28d-05c61a0698e2/desired-regions Successful Response:
Example Response: { "default_client_region": "us-west-2", "regions": [ { "id": "us-west-2", "display_name": "Oregon", "enabled": true, }, { "id": "us-east-1", "display_name": "N. Virginia", "enabled": true, } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Return status of the account like credentials validity, inventory synchronization status and inventory synchronization state
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/accounts/ d02af61a-e212-486e-b6c8-10462ccfbad6/status Successful Response:
Example Response: { "inventory_sync_status": "IN_PROGRESS", "inventory_sync_state": "SYNCING_AWS_VPCS", "credentials_status": "VALID" } Required Permissions: Feature: cloud_accounts Additional Errors:
Synchronizes Aws account related inventory like Regions, Vpcs, Instances Status of inventory synchronization can be known from Aws account status api
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/aws/accounts/ d02af61a-e212-486e-b6c8-10462ccfbad6?action=sync_inventory Successful Response:
Required Permissions: Feature: cloud_accounts Additional Errors:
Cloud Service Manager: AWS Gateway AMIS
DEPRECATED. This API is needed only in NSX Cloud as a Service workflow, which is discontinued. Registers a AWS Gateway AMI for the region specified in the body. One can register only one gateway AMI ID per region. If a gateway AMI is already registered with a region, user is expected to use update API to overwrite the registerd AMI for a region. (Deprecated)
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/aws/gateway-amis { "region_id": "us-west-2", "ami_id": "ami-123" } Successful Response:
Example Response: { "region_id": "us-west-2", "ami_id": "ami-123", "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: Feature: ami_region_mapping Additional Errors:
DEPRECATED. This API is needed only in NSX Cloud as a Service workflow, which is discontinued. Returns a list of Aws Gateway Amis. (Deprecated)
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/gateway-amis/ Successful Response:
Example Response: { "results": [ { "region_id": "us-west-1", "ami_id": "ami-789", "_protection": "NOT_PROTECTED", "_revision": 0 }, { "region_id": "us-west-2", "ami_id": "ami-123", "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: Feature: ami_region_mapping Additional Errors:
DEPRECATED. This API is needed only in NSX Cloud as a Service workflow, which is discontinued. Returns AWS Gateway AMI for a particular region. (Deprecated)
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/gateway-amis/us-west-2 Successful Response:
Example Response: { "region_id": "us-west-2", "ami_id": "ami-123", "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: Feature: ami_region_mapping Additional Errors:
DEPRECATED. This API is needed only in NSX Cloud as a Service workflow, which is discontinued. Update a AWS Gateway AMI. (Deprecated)
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/aws/gateway-amis/us-west-2 { "region_id": "us-west-2", "ami_id": "ami-456", "_revision": 0 } Successful Response:
Example Response: { "region_id": "us-west-2", "ami_id": "ami-123", "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: Feature: ami_region_mapping Additional Errors:
DEPRECATED. This API is needed only in NSX Cloud as a Service workflow, which is discontinued. Delete a AWS Gateway AMI. (Deprecated)
Request:Example Request: DELETE https://<nsx-csm>/api/v1/csm/aws/gateway-amis/us-west-2 Successful Response:
Required Permissions: Feature: ami_region_mapping Additional Errors:
Cloud Service Manager: AWS Gateways
Returns configuration information for all gateways
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/gateways Successful Response:
Example Response: { "results": [ { "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "configuration": { "gateway_ha_configuration": [ { "availability_zone": "us-west-2a", "uplink_subnet": "subnet-4b1e122f", "management_subnet": "subnet-ea1e128e", "downlink_subnet": "subnet-041e1260", "gateway_ha_index": 0 } ], "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "dns_settings": { "dns_mode": "DHCP" }, "nsx_manager_connection": "PUBLIC_IP", "ami_id": "ami-123", "key_pair_name": "test-key", "is_ha_enabled": false, "form_factor": "LARGE" }, "vpc_id": "vpc-c35dbaa4" }, { "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "configuration": { "gateway_ha_configuration": [ { "availability_zone": "us-west-1b", "uplink_subnet": "subnet-5b1e124h", "management_subnet": "subnet-a1e128t", "downlink_subnet": "subnet-141e1266", "gateway_ha_index": 0 }, { "availability_zone": "us-west-1a", "uplink_subnet": "subnet-7b1e932d", "management_subnet": "subnet-w1e128h", "downlink_subnet": "subnet-a41e1264", "gateway_ha_index": 0 } ], "default_quarantine_policy_enabled": true, "managed_without_agents": false, "nsx_manager_connection": "PRIVATE_IP", "ami_id": "ami-456", "key_pair_name": "test-key", "is_ha_enabled": true, "form_factor": "LARGE" }, "vpc_id": "vpc-d76nfie6" } ] } Required Permissions: Feature: gateway_deployment Additional Errors:
Updates configuration for primary gateway and secondary gateway for the vpc, if exists.
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/aws/gateways/vpc-1234 { "configuration": { "default_quarantine_policy_enabled": true, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "is_ha_enabled": false }, "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "vpc_id": "vpc-c35dbaa4" } Successful Response:
Example Response: { "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "configuration": { "gateway_ha_configuration": [ { "availability_zone": "us-west-2a", "uplink_subnet": "subnet-4b1e122f", "management_subnet": "subnet-ea1e128e", "downlink_subnet": "subnet-041e1260", "gateway_ha_index": 0 } ], "default_quarantine_policy_enabled": true, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "dns_settings": { "dns_mode": "DHCP" }, "nsx_manager_connection": "PUBLIC_IP", "ami_id": "ami-123", "key_pair_name": "test-key", "is_ha_enabled": false, "form_factor": "LARGE" }, "vpc_id": "vpc-c35dbaa4" } Required Permissions: Feature: quarantine_policy Additional Errors:
Returns configuration for primary gateway and secondary gateway for the vpc,if exists.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/gateways/vpc-1234 Successful Response:
Example Response: { "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "configuration": { "gateway_ha_configuration": [ { "availability_zone": "us-west-2a", "uplink_subnet": "subnet-4b1e122f", "management_subnet": "subnet-ea1e128e", "downlink_subnet": "subnet-041e1260", "gateway_ha_index": 0 } ], "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile":"a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PUBLIC_IP", "ami_id": "ami-123", "key_pair_name": "test-key", "is_ha_enabled": false, "form_factor": "LARGE" }, "vpc_id": "vpc-c35dbaa4" } Required Permissions: Feature: gateway_deployment Additional Errors:
Returns status information for primary gateway and secondary gateway for the vpc, if exists.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/gateways/vpc-1234/status Successful Response:
Example Response: { "gateway_instances_status": [ { "gateway_status": "DEPLOYING", "gateway_instance_id": "i-176", "gateway_ha_index": 0, "deployment_status": 80, "deployment_state": "CONFIGURING_GATEWAY", "gateway_name": "nsxc-gw-vpc-c35dbaa4-preferred-active" } ] } Required Permissions: Feature: gateway_deployment Additional Errors:
Deploys gateway for the specified VPC
All the required configuration to deploy AWS gateways will be absorbedas a part of request body in this API and gateway deployment will be
triggered. Deployment progress can be known from GetAwsGatewayStatus API.
Upon successful deployment of a gateway, the deployment_step will be
DEPLOYMENT_SUCCESSFUL gateway_status will be UP and op_status of the VPC
will be NSX_MANAGED_BY_GATEWAY. If any error is encountered during
deployment, corresponding error_code and error_message will be populated
in gateway_instances_status. To manage a compute VPC using transit VPC,
user needs to undeploy gateway and onboard the compute VPC
using /csm/aws/vpcs/<vpc-id>?action=onboard API.
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/aws/gateways?action=deploy { "configuration": { "ami_id": "ami-123", "nsx_manager_connection": "PUBLIC_IP", "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "key_pair_name": "test-key", "is_ha_enabled": false, "form_factor": "LARGE", "gateway_ha_configuration": [{ "availability_zone": "us-west-2a", "uplink_subnet": "subnet-4b1e122f", "downlink_subnet": "subnet-041e1260", "management_subnet": "subnet-ea1e128e", "gateway_ha_index": 0, "public_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "uplink_public_ip_settings" : { "public_ip" : "104.210.53.56", "ip_allocation_mode" : "USE_EXISTING" } }], "dns_settings": { "dns_mode": "DHCP", "dns_list": ["10.162.204.1", "10.166.1.1"] }}, "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "vpc_id": "vpc-c35dbaa4" } Successful Response:
Example Response: { "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "configuration": { "gateway_ha_configuration": [ { "availability_zone": "us-west-2a", "uplink_subnet": "subnet-4b1e122f", "management_subnet": "subnet-ea1e128e", "downlink_subnet": "subnet-041e1260", "gateway_ha_index": 0, "public_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "uplink_public_ip_settings" : { "public_ip" : "104.210.53.56", "ip_allocation_mode" : "USE_EXISTING" } } ], "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "dns_settings": { "dns_mode": "DHCP", "dns_list": ["10.162.204.1", "10.166.1.1"] }, "nsx_manager_connection": "PUBLIC_IP", "ami_id": "ami-123", "key_pair_name": "test-key", "is_ha_enabled": false, "form_factor": "LARGE" }, "vpc_id": "vpc-c35dbaa4" } Required Permissions: Feature: gateway_deployment Additional Errors:
Undeploys gateway for the specified VPC
All the required configuration to undeploy AWS gateway will be absorbedas a part of request body in this API and gateway undeployment will be
triggered. Undeployment progress can be known from GetAwsGatewayStatus
API. Upon successful undeployment of a gateway, the deployment_step will be
UNDEPLOYMENT_SUCCESSFUL and gateway_status will be NOT_AVAILABLE. If any
error is encountered during undeployment, corresponding error_code and
error_message will be populated in gateway_instances_status
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/aws/gateways?action=undeploy { "account_id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "instance_id": "i-0c2ab8e25221bcf7c" } Successful Response:
Required Permissions: Feature: gateway_deployment Additional Errors:
Cloud Service Manager: AWS Key Pairs
Returns a list of Aws Key Pairs
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/key-pairs? account_id=7324800c-a41a-4cb4-b988-51fa3d093397®ion_id=ap-southeast-1 Successful Response:
Example Response: { "results": [ { "name": "test-key-1" }, { "name": "test-key-2" }, { "name": "test-key-3" } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns a list of subnets
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/subnets? account_id=7324800c-a41a-4cb4-b988-51fa3d093397& vpc_id=vpc-c35dbaa4&availability_zone_name=us-west-2a Successful Response:
Example Response: { "results": [ { "display_name": "test-subnet-3", "availability_zone": "us-west-2a", "cidr": "10.0.3.0/24", "id": "subnet-ea1e128e" }, { "display_name": "test-subnet-2", "availability_zone": "us-west-2a", "cidr": "10.0.2.0/24", "id": "subnet-041e1260" }, { "display_name": "test-subnet-1", "availability_zone": "us-west-2a", "cidr": "10.0.1.0/24", "id": "subnet-4b1e122f" } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: AWS Regions
Returns a list of Aws regions
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/regions Successful Response:
Example Response: { "cursor": "000214", "sort_ascending": true, "result_count": 2, "results": [ { "id": "us-west-2", "display_name": "us-west-2", "vpc_stats": { "managed": 5, "unmanaged": 7 }, "gateway_stats": { "deploying": 1, "up": 4, "down": 1 }, "availability_zones": [ { "id": "us-west-2a", "display_name": "us-west-2a" }, { "id": "us-west-2b", "display_name": "us-west-2b" }, { "id": "us-west-2c", "display_name": "us-west-2c" } ], "instance_stats": { "managed": 21, "unmanaged": 32, "error": 1 } }, { "id": "ap-south-1", "display_name": "ap-south-1", "vpc_stats": { "managed": 0, "unmanaged": 0 }, "gateway_stats": { "deploying": 0, "up": 0, "down": 0 }, "availability_zones": [ { "id": "ap-south-1b", "display_name": "ap-south-1b" }, { "id": "ap-south-1a", "display_name": "ap-south-1a" } ], "instance_stats": { "managed": 0, "unmanaged": 0, "error": 0 } } } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about the particular Aws Region
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/regions/us-west-2 Successful Response:
Example Response: { "id": "us-west-2", "display_name": "us-west-2", "vpc_stats": { "managed": 5, "unmanaged": 7 }, "gateway_stats": { "deploying": 1, "up": 4, "down": 1 }, "availability_zones": [ { "id": "us-west-2a", "display_name": "us-west-2a" }, { "id": "us-west-2b", "display_name": "us-west-2b" }, { "id": "us-west-2c", "display_name": "us-west-2c" } ], "instance_stats": { "managed": 21, "unmanaged": 32, "error": 1 } } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: AWS Resources
Returns a list of AWS public IPs
Returns a list of AWS public IPs. These ip addresses are availableto be allocated.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/aws/public-ips? account_id=7324800c-a41a-4cb4-b988-51fa3d093397®ion_id=us-west-2 Successful Response:
Example Response: { "results": [ "104.209.46.64", "104.40.87.204", "40.112.184.178", "13.91.55.98" ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns a list of AWS security groups. Deprecated: Please use /csm/aws/vpcs/<vpc-id>/security-groups instead. (Deprecated)
Returns a list of AWS security groups. Deprecated: Please use/csm/aws/vpcs/<vpc-id>/security-groups instead.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/security-groups? account_id=7324800c-a41a-4cb4-b988-51fa3d093397®ion_id=us-west-2 Successful Response:
Example Response: { "results": [ "default-sg", "quarantine-sg" ] } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: AWS VPCS
Returns the list of configuration of the compute VPC. The configuration contains quarantine policy and fall back security group of compute VPC and the information related to transit VPC.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/compute-vpcs { "cursor": "00011", "sort_ascending": true, "result_count": 1, "results": [ { "resource_type": "AwsComputeVpcConfig", "id": "vpc-0aabad6533afb42b4", "display_name": "vpc-0aabad6533afb42b4", "default_quarantine_policy_enabled": false, "managed_without_agents": false, "account_id": "fa043e3d-256d-446f-9c5c-665dcfdb33c9", "configuration": { "account_id": "fa043e3d-256d-446f-9c5c-665dcfdb33c9", "vpc_id": "vpc-560a242f" }, "_create_user": "system", "_create_time": 1540475272491, "_last_modified_user": "admin", "_last_modified_time": 1540475431491, "_system_owned": false, "_revision": 2 } ] } Successful Response:
Required Permissions: Feature: gateway_deployment Additional Errors:
Returns the configuration of the compute VPC. The configuration contains quarantine policy and fall back security group of compute VPC and the information related to transit VPC.
Request:Successful Response:
Example Response: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/
Offboards a compute VPC.
Offboards a compute VPC to be NSX unmanaged from a transit VPC.All the VMs in the compute VPC need to be untagged before offboarding
the compute VPC. Offboarding status can be obtained from
/csm/aws/compute-vpcs/<vpc-id>/status API. Upon successful offboarding
compute VPC, the onboard_step will be OFFBOARD_SUCCESSFUL
and op_status will be NOT_AVAILABLE. If any error is encountered
during offboarding, corresponding error_code and error_message
will be populated.
Request:
Example Request: DELETE https://<nsx-csm>/api/v1/csm/aws/compute-vpcs/
Required Permissions: Feature: gateway_deployment Additional Errors:
Updates the NSX configuration related to managed compute VPC using a transit VPC.
Update the configurations such as default_quarantine_policy andcloud_fallback_security_group_id for the NSX managed compute VPC.
Request:
Example Request: PUT https://<nsx-csm>/api/v1/csm/aws/compute-vpcs/
Example Response: { "resource_type": "AwsComputeVpcConfig", "id": "vpc-0aabad6533afb42b4", "display_name": "vpc-0aabad6533afb42b4", "default_quarantine_policy_enabled": true, "managed_without_agents": false, "configuration": { "vpc_id": "vpc-560a242f" }, "_create_user": "system", "_create_time": 1540475272491, "_last_modified_user": "admin", "_last_modified_time": 1540475431491, "_system_owned": false, "_revision": 3 } Required Permissions: Feature: quarantine_policy Additional Errors:
Onboards a compute VPC to be NSX managed by a transit VPC.
Onboard a compute VPC to be NSX managed using a transit VPC.Hence, user can manage the workload VMs in a compute
VPC by the public cloud gateways deployed in a transit VPC.
Onboarding status can be obtained from
/csm/aws/compute-vpcs/<vpc-id>/status API. Upon successful onboarding
of the VPC, the onboard_step will be ONBOARD_SUCCESSFUL and op_status
will be NSX_MANAGED_BY_TRANSIT_VPC. If any error is encountered during
onboarding, corresponding error_code and error_message will be populated.
To manage compute VPC using NSX gateway, user needs to offboard the
compute VPC and deploy gateway using /csm/aws/gateways?action=deploy API.
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/aws/compute-vpcs/
Required Permissions: Feature: gateway_deployment Additional Errors:
Returns the status of the compute vpc. The status corresponds to onboard or offboard status of a compute VPC.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/compute-vpcs/
Required Permissions: Feature: gateway_deployment Additional Errors:
Returns a list of Vpcs. Support optional query parameters like account_id, region_id, cidr and/or op_status
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs Successful Response:
Example Response: { "cursor": "0003147", "sort_ascending": true, "result_count": 3, "results": [ { "id": "vpc-c35dbaa2", "display_name": "VPC Abc", "is_management_vpc": false, "region_id": "us-east-1", "cidr": "172.31.0.0/16", "instance_stats": { "managed": 0, "unmanaged": 21, "error": 0 }, "op_status": "NSX_UNMANAGED" }, { "id": "vpc-c35dbaa3", "display_name": "VPC Acb", "is_management_vpc": false, "region_id": "us-west-2", "cidr": "172.31.0.0/16", "associated_transit_vpc": { "virtual_private_cloud_id": "vpc-c35dbade", "associated_account_ids: ["cd1f2633-e67e-46bd-b546"] }, "instance_stats": { "managed": 0, "unmanaged": 21, "error": 0 }, "op_status": "NSX_MANAGED_BY_TRANSIT_VPC" }, { "id": "vpc-c35dbaa4", "display_name": "VPC Def", "is_management_vpc": true, "transport_zones": [ { "is_underlay_transport_zone": false, "logical_switches": [ { "is_default_logical_switch": false, "instances_count": 0, "nsx_switch_tag": "cd1f2633-e67e-46bd-b546-0dc26a07c56b#8uNQpU1EWLcVjXKHr6ga7axvYBnf2Dwc+I+Js3DEhi4=", "logical_switch_display_name": "DefaultSwitch-Overlay-CSM-vpc-c35dbaa4", "logical_switch_id": "cd1f2633-e67e-46bd-b546-0dc26a07c56b" } ], "transport_zone_id": "d4ccc56a-ab51-4059-b3fb-9af3719b6f51", "transport_zone_display_name": "CSM-vpc-c35dbaa4-Overlay" }, { "is_underlay_transport_zone": true, "logical_switches": [ { "is_default_logical_switch": true, "instances_count": 0, "nsx_switch_tag": "default", "logical_switch_display_name": "DefaultSwitch-VLAN-CSM-vpc-c35dbaa4", "logical_switch_id": "1711f8db-95b8-4df8-bba6-dcac63b08b38" } ], "transport_zone_id": "870fb686-7d42-48c4-9189-8997b4f2df21", "transport_zone_display_name": "CSM-vpc-c35dbaa4-VLAN" } ], "region_id": "us-west-2", "cidr": "10.0.0.0/16", "instance_stats": { "managed": 1, "unmanaged": 4, "error": 0 }, "managed_vpcs": [ { "virtual_private_cloud_id": "vpc-c35dbade", "associated_account_ids: ["cd1f2633-e67e-46bd-b546"] }, { "virtual_private_cloud_id": "vpc-c35dbadf", "associated_account_ids: ["cd1f2633-e67e-46bd-b543"] } ], "op_status": "NSX_MANAGED", "gateway_info": { "configuration": { "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile":"a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PUBLIC_IP", "ami_id": "ami-649e0b04", "is_ha_enabled": false, "form_factor": "LARGE" }, "gateway_status": { "gateway_cluster_id": "b8ab1a4b-3d85-4a84-b92d-eacdc4402528", "gateway_instances_status": [ { "gateway_tn_id": "ef900bfc-1303-11e7-8cf5-021fa9379409", "gateway_node_id": "ef900bfc-1303-11e7-8cf5-021fa9379409", "gateway_status": "UP", "gateway_instance_id": "i-0b62834659a30fc21", "gateway_ha_index": 0, "deployment_state": "DEPLOYMENT_SUCCESSFUL", "gateway_name": "nsx-gw-vpc-c35dbaa4-preferred-active" } ] } } } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns Vpc information
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/vpc-ccfe44ab Successful Response:
Example Response: { "id": "vpc-ccfe44ab", "display_name": "VPC Abc, "is_management_vpc": false, "region_id": "us-west-2", "cidr": "50.0.0.0/16", "instance_stats": { "managed": 0, "unmanaged": 1, "error": 0 }, "op_status": "NSX_UNMANAGED" } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: AWS: VPCS
Cloud Service Manager: AWS: VPCS: Security Groups
Returns a list of AWS security groups corresponding to a VPC
Returns a list of AWS security groups corresponding to a VPC withinformation about each security group like inbound rules, outbound rules
and cloud_tags.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/
Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about a particular AWS security group
Returns information about AWS security group like inbound rules,outbound rules and cloud_tags.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/
Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: AWS: VPCS: Service Endpoints
Returns list of AWS serivce endpoints corresponding to a VPC
Returns a list of AWS serivce endpoints corresponding to VPC. NSX supportedservices are currently limited to Simple Storage Service (S3), Relational
Database Service (RDS), DynamoDB and Elastic Load Balancing.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/
Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about a particular AWS serivce endpoint
Returns information about an AWS serivce endpoint likeservice_endpoint_type, status and corresponding cidrs. NSX supported
services are currently limited to Simple Storage Service (S3),
Relational Database Service (RDS), DynamoDB and Elastic Load Balancing.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/aws/vpcs/
Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Accounts Statistics
Returns statistics for all Accounts
Returns statistics aggregated over all accounts managed by CSM.Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/accounts/statistics Successful Response:
Example Response: { "results": [ { "resource_type": "AWS", "accounts_count": 3, "accounts_status": { "sync_in_progress": 1 }, "instance_stats": { "managed": 63, "unmanaged": 25, "error": 1 }, "vpc_stats": { "managed": 4, "unmanaged": 7 }, "regions_count": 4 }, { "resource_type": "AZURE", "accounts_count": 2, "accounts_status": { "sync_in_progress": 1 }, "instance_stats": { "managed": 42, "unmanaged": 25, "error": 3 }, "vnet_stats": { "managed": 2, "unmanaged": 1 }, "regions_count": 5 } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Cloud Service Manager: Azure Accounts
Add a Azure account to cloud serivce manager
This api adds a Azure account to cloud service manager. Have to passone of the authorization methods in auth_method property as part of
request body followed by appropriate data.
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/azure/accounts { "cloud_type":"AZURE", "regions_count":"", "auth_method":"CREDENTIALS", "display_name": "Account ABC", "credentials":{ "client_id":"789", "key":"012", "subscription_id":"456", "tenant_id":"123", "gateway_role": "NSX role" }, "_revision":0 } Successful Response:
Example Response: { "id": "9174ffd1-41b1-42d6-a28d", "display_name": "Account ABC", "tenant_id": "123", "cloud_type": "AZURE", "cloud_tags_enabled": true, "instance_stats": { "total": 92, "managed": 0, "unmanaged": 82, "error": 0, "powered_off": 10 }, "auth_method": "CREDENTIALS", "credentials": { "tenant_id": "123", "subscription_id": "456", "client_id": "789", "gateway_role": "NSX role" }, "vnet_stats": { "managed": 1, "unmanaged": 42 }, "regions_count": 2, "status": { "inventory_sync_status": "IN_PROGRESS", "credentials_status": "VALID", "inventory_sync_step": "SYNCING_VMS" }, "_protection": "NOT_PROTECTED" } Required Permissions: Feature: cloud_accounts Additional Errors:
Returns a list of Azure accounts
Returns a list of Azure accounts with information about each account likestatus and statistics. Optional query parameters can be utilized to filter
the list.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/accounts Successful Response:
Example Response: { "cursor" : "00011", "sort_ascending" : true, "result_count" : 1, "results" : [ { "id" : "28984eef-d296-4a40-979e", "display_name" : "Account ABC", "tenant_id" : "123", "cloud_type" : "AZURE", "cloud_tags_enabled" : true, "instance_stats" : { "total" : 92, "managed" : 0, "unmanaged" : 82, "error" : 0, "powered_off" : 10 }, "auth_method" : "CREDENTIALS", "credentials" : { "tenant_id" : "123", "subscription_id" : "456", "client_id" : "789", "gateway_role": "NSX role" }, "vnet_stats" : { "managed" : 1, "unmanaged" : 42 }, "regions_count" : 2, "status" : { "inventory_sync_status" : "SYNCED", "credentials_status" : "VALID", "inventory_sync_step" : "NOT_APPLICABLE" }, "_protection": "NOT_PROTECTED" } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Update a Azure account information
This api updates a Azure account which is added to cloud service manager.Have to pass one of the authorization methods in auth_method property as part of
request body followed by appropriate data.
Request:
Example Request: PUT https://<nsx-csm>/api/v1/csm/azure/accounts/9174ffd1-41b1-42d6-a28d { "cloud_type":"AZURE", "display_name": "Account XYZ" } Successful Response:
Example Response: { "id": "9174ffd1-41b1-42d6-a28d", "display_name": "Account XYZ", "tenant_id": "123", "cloud_type": "AZURE", "cloud_tags_enabled": true, "instance_stats": { "total": 92, "managed": 0, "unmanaged": 82, "error": 0, "powered_off": 10 }, "auth_method": "CREDENTIALS", "credentials": { "tenant_id": "123", "subscription_id": "456", "client_id": "789", "gateway_role": "NSX role" }, "vnet_stats": { "managed": 1, "unmanaged": 42 }, "regions_count": 2, "status": { "inventory_sync_status": "IN_PROGRESS", "credentials_status": "VALID", "inventory_sync_step": "SYNCING_VMS" }, "_protection": "NOT_PROTECTED" } Required Permissions: Feature: cloud_accounts Additional Errors:
Delete Azure account information
Deletes Azure account information from cloud service manager Request:Example Request: DELETE https://<nsx-csm>/api/v1/csm/azure/accounts/
Required Permissions: Feature: cloud_accounts Additional Errors:
Returns information about a particular Azure account
Returns information about an Azure account including status andstatistics
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/accounts/9174ffd1-41b1-42d6-a28d Successful Response:
Example Response: { "id": "9174ffd1-41b1-42d6-a28d", "display_name": "Account ABC", "tenant_id": "123", "cloud_type": "AZURE", "cloud_tags_enabled": true, "instance_stats": { "total": 92, "managed": 0, "unmanaged": 82, "error": 0, "powered_off": 10 }, "auth_method": "CREDENTIALS", "credentials": { "tenant_id": "123", "subscription_id": "456", "client_id": "789", "gateway_role": "NSX role" }, "vnet_stats": { "managed": 1, "unmanaged": 42 }, "regions_count": 2, "status": { "inventory_sync_status": "IN_PROGRESS", "credentials_status": "VALID", "inventory_sync_step": "SYNCING_VMS" }, "_protection": "NOT_PROTECTED" } Required Permissions: Feature: cloud_accounts Additional Errors:
Updates the list of desired regions for a particular Azure account
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/azure/accounts/9174ffd1-41b1-42d6-a28d-05c61a0698e2/desired-regions { "regions": [ { "id": "westus", "display_name": "westus", "enabled": true, }, { "id": "eastus2", "display_name": "eastus2", "enabled": false, } ] } Successful Response:
Example Response: { "regions": [ { "id": "westus", "display_name": "westus", "enabled": true, }, { "id": "eastus2", "display_name": "eastus2", "enabled": false, } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Returns a list of desired regions for a particular Azure account
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/azure/accounts/9174ffd1-41b1-42d6-a28d-05c61a0698e2/desired-regions Successful Response:
Example Response: { "regions": [ { "id": "westus", "display_name": "westus", "enabled": true, }, { "id": "eastus2", "display_name": "eastus2", "enabled": true, } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Returns the status of Azure account
Return status of the account like credentials validity, inventorysynchronization status and inventory synchronization state
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/accounts/9174ffd1-41b1-42d6-a28d/status Successful Response:
Example Response: { "inventory_sync_status": "SYNCED", "credentials_status": "VALID", "inventory_sync_step": "NOT_APPLICABLE" } Required Permissions: Feature: cloud_accounts Additional Errors:
Synchronizes Azure account inventory
Synchronizes Azure account related inventory like Regions, Virtual Networks,Instances. Status of inventory synchronization can be known from Azure
account status api
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/azure/accounts/9174ffd1-41b1-42d6-a28d?action=sync_inventory Successful Response:
Required Permissions: Feature: cloud_accounts Additional Errors:
Cloud Service Manager: Azure Gateways
Returns configuration information for all Azure gateways
Returns a list of Azure gateways with information about each gateway likesubnet configuration and corresponding virtual network. Optional query
parameters can be utilized to filter the list.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/gateways Successful Response:
Example Response: { "results": [ { "configuration": { "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PRIVATE_IP", "is_ha_enabled": false, "form_factor": "LARGE", "gateway_ha_configuration": [], "dns_settings": { "dns_mode": "DHCP" }, "ssh_key": "ssh-rsa +SD2/sC/qQXtRj1fVShsolTrLtT5uIRWV3P+4fG2PNR6Wz0/QagHG/+jK8Acw== [email protected]", "image_id": "https://abcxyz.windows.net/public-cloud-gateway/nsx-public-gateway.vhd" }, "vnet_id": "e8e719ff-6a40-48e2-8cf7" } ] } Required Permissions: Feature: gateway_deployment Additional Errors:
Updates Azure gateway configuration
Updates configuration for primary gateway and secondary gateway for thevirutal network, if deployed gateways exist for the specified virtual network.
Request:
Example Request: PUT https://<nsx-csm>/api/v1/csm/azure/gateways/e8e719ff-6a40-48e2-8cf7 { "account_id": "28984eef-d296-4a40-979e", "vnet_id": "e8e719ff-6a40-48e2-8cf7", "configuration": { "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "auto_agent_install_enabled": false } } Successful Response:
Example Response: { "account_id": "28984eef-d296-4a40-979e", "configuration": { "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PRIVATE_IP", "is_ha_enabled": false, "form_factor": "LARGE", "gateway_ha_configuration": [], "dns_settings": { "dns_mode": "DHCP" }, "ssh_key": "ssh-rsa +SD2/sC/qQXtRj1fVShsolTrLtT5uIRWV3P+4fG2PNR6Wz0/QagHG/+jK8Acw== [email protected]", "image_id": "https://abcxyz.windows.net/public-cloud-gateway/nsx-public-gateway.vhd", "auto_agent_install_enabled": false }, "vnet_id": "e8e719ff-6a40-48e2-8cf7" } Required Permissions: Feature: quarantine_policy Additional Errors:
Returns configuration of the Azure gateway
Returns configuration for primary gateway and secondary gateway for thevirtual network, if deployed gateways exist for the specified virtual
network.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/gateways/e8e719ff-6a40-48e2-8cf7 Successful Response:
Example Response: { "account_id": "28984eef-d296-4a40-979e", "configuration": { "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PRIVATE_IP", "is_ha_enabled": false, "form_factor": "LARGE", "gateway_ha_configuration": [], "dns_settings": { "dns_mode": "DHCP" }, "ssh_key": "ssh-rsa +SD2/sC/qQXtRj1fVShsolTrLtT5uIRWV3P+4fG2PNR6Wz0/QagHG/+jK8Acw== [email protected]", "image_id": "https://abcxyz.windows.net/public-cloud-gateway/nsx-public-gateway.vhd" }, "vnet_id": "e8e719ff-6a40-48e2-8cf7" } Required Permissions: Feature: gateway_deployment Additional Errors:
Return the status of Azure gateway
Returns status information for primary gateway and secondary gatewayfor the virtual network, if deployed gateways exist for the specified
virtual network ID.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/gateways/e8e719ff-6a40-48e2-8cf7/status Successful Response:
Example Response: { "gateway_cluster_id": "7fe9e2fd-2dce-478f-84b4", "gateway_instances_status": [ { "gateway_tn_id": "1c95f5ea-1eec-11e8-9342", "deployment_step": "DEPLOYMENT_SUCCESSFUL", "public_ip": "1.2.3.4", "gateway_node_id": "1c95f5ea-1eec-11e8-9342", "gateway_status": "UP", "gateway_instance_id": "a61b6dea-46a4-4c09-9ada", "private_ip": "4.3.2.1", "gateway_ha_index": 0, "is_gateway_active": false, "gateway_name": "nsx-gw-customer-gateway" } ] } Required Permissions: Feature: gateway_deployment Additional Errors:
Deploys gateway for the specified virtual network
All the required configuration to deploy Azure gateways will be absorbedas a part of request body in this API and gateway deployment will be
triggered. Deployment progress can be known from GetAzureGatewayStatus API.
Upon successful deployment of a gateway, the deployment_step will be
DEPLOYMENT_SUCCESSFUL gateway_status will be UP and op_status of the VNET
will be NSX_MANAGED_BY_GATEWAY. If any error is encountered during
deployment, corresponding error_code and error_message will be populated
in gateway_instances_status. To manage a compute VNET using transit VNET,
user needs to undeploy gateway and onboard the compute VNET
using /csm/azure/vnets/<vnet-id>?action=onboard API.
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/azure/gateways?action=deploy { "account_id": "04e2a29a-90f9-4ce0-ae69", "vnet_id": "e8e719ff-6a40-48e2-8cf7", "configuration": { "image_id": "https://abcxyz.windows.net/public-cloud-gateway/nsx-public-gateway.vhd", "default_quarantine_policy_enabled": true, "managed_without_agents": false, "proxy_server_profile":"a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PRIVATE_IP", "is_ha_enabled": true, "form_factor": "LARGE", "ssh_key": "ssh-rsa +SD2/sC/qQXtRj1fVShsolTrLtT5uIRWV3P+4fG2PNR6Wz0/QagHG/+jK8Acw== [email protected]", "gateway_ha_configuration": [ { "uplink_subnet": "uplink1", "management_subnet": "Mgmt", "downlink_subnet": "vtep1", "gateway_ha_index": 0, "private_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "public_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "uplink_public_ip_settings" : { "public_ip" : "104.210.53.56", "ip_allocation_mode" : "USE_EXISTING" } }, { "uplink_subnet": "uplink2", "management_subnet": "Mgmt", "downlink_subnet": "vtep2", "gateway_ha_index": 1, "private_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "public_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "uplink_public_ip_settings" : { "public_ip" : "104.210.53.57", "ip_allocation_mode" : "USE_EXISTING" } } ], "dns_settings": { "dns_mode": "DHCP", "dns_list": ["10.162.204.1", "10.166.1.1"] } } } Successful Response:
Example Response: { "account_id": "28984eef-d296-4a40-979e", "configuration": { "image_id": "https://abcxyz.windows.net/public-cloud-gateway/nsx-public-gateway.vhd", "default_quarantine_policy_enabled": true, "managed_without_agents": false, "proxy_server_profile": "a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PRIVATE_IP", "is_ha_enabled": true, "form_factor": "LARGE", "ssh_key": "ssh-rsa +SD2/sC/qQXtRj1fVShsolTrLtT5uIRWV3P+4fG2PNR6Wz0/QagHG/+jK8Acw== [email protected]", "gateway_ha_configuration": [ { "uplink_subnet": "uplink1", "management_subnet": "Mgmt", "downlink_subnet": "vtep1", "gateway_ha_index": 0, "private_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "public_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "uplink_public_ip_settings" : { "public_ip" : "104.210.53.56", "ip_allocation_mode" : "USE_EXISTING" } }, { "uplink_subnet": "uplink2", "management_subnet": "Mgmt", "downlink_subnet": "vtep2", "gateway_ha_index": 1, "private_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "public_ip_settings": { "ip_allocation_mode": "ALLOCATE_NEW" }, "uplink_public_ip_settings" : { "public_ip" : "104.210.53.57", "ip_allocation_mode" : "USE_EXISTING" } } ], "dns_settings": { "dns_mode": "DHCP", "dns_list": ["10.162.204.1", "10.166.1.1"] } }, "vnet_id": "e8e719ff-6a40-48e2-8cf7" } Required Permissions: Feature: gateway_deployment Additional Errors:
Undeploys gateway for the specified virtual network
All the required configuration to undeploy Azure gateway will be absorbedas a part of request body in this API and gateway undeployment will be
triggered. Undeployment progress can be known from GetAzureGatewayStatus
API. Upon successful undeployment of a gateway, the deployment_step will be
UNDEPLOYMENT_SUCCESSFUL and gateway_status will be NOT_AVAILABLE. If any
error is encountered during undeployment, corresponding error_code and
error_message will be populated in gateway_instances_status
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/azure/gateways?action=undeploy { "account_id": "28984eef-d296-4a40-979e", "instance_id": "a61b6dea-46a4-4c09-9ada" } Successful Response:
Required Permissions: Feature: gateway_deployment Additional Errors:
Cloud Service Manager: Azure IP Allocations
Allocates IPs in the specified Azure Vnet
All the required configuration to allocate public/link local IPs for cloudwill be absorbed as a part of request body in this API and IP allocation
will be triggered. Allocation progress can be known from
GetIpAllocationStatus API. Upon successful allocation, the
ip_allocation_state will be ALLOCATION_SUCCESSFUL. This operation is only
supported for containers.
Request:
Successful Response:
Required Permissions: Feature: cloud_resources Additional Errors:
Returns IP allocations for all Azure Vnets. This operation is only supported for containers.
Request:Successful Response:
Required Permissions: Feature: cloud_resources Additional Errors:
Releases allocated IPs in the specified Azure Vnet
All the allocations for the specified Azure Vnet and mapping_id will bereleased. This operation is only supported for containers.
Request:
Successful Response:
Required Permissions: Feature: cloud_resources Additional Errors:
Returns status information for primary gateway and secondary gateway for the vnet, if exists. This operation is only supported for containers.
Request:Successful Response:
Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Azure Regions
Returns a list of Azure regions
Returns a list of Azure regions with information about each region likegateway statistics, instance statistics and vnet statistics. Optional query
parameters can be utilized to filter the list.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/regions Successful Response:
Example Response: { "cursor": "000002", "sort_ascending": true, "result_count": 2, "results": [ { "resource_type": "AzureRegion", "id": "westus", "display_name": "westus", "associated_account_ids": [ "28984eef-d296-4a40-979e" ], "vnet_stats": { "managed": 1, "unmanaged": 10 }, "gateway_stats": { "deploying": 0, "up": 1, "down": 0 }, "instance_stats": { "total": 17, "managed": 0, "unmanaged": 8, "error": 0, "powered_off": 9 }, "has_managed_vnet": true, "_protection": "NOT_PROTECTED" }, { "resource_type": "AzureRegion", "id": "eastus2", "display_name": "eastus2", "associated_account_ids": [], "vnet_stats": { "managed": 0, "unmanaged": 0 }, "gateway_stats": { "deploying": 0, "up": 0, "down": 0 }, "instance_stats": { "total": 0, "managed": 0, "unmanaged": 0, "error": 0, "powered_off": 0 }, "_protection": "NOT_PROTECTED" } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about a particular Azure region
Returns information about Azure region like gateway statistics, instancestatistics and vnet statistics.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/regions/westus Successful Response:
Example Response: { "resource_type": "AzureRegion", "id": "westus", "display_name": "westus", "associated_account_ids": [ "28984eef-d296-4a40-979e" ], "vnet_stats": { "managed": 1, "unmanaged": 10 }, "gateway_stats": { "deploying": 0, "up": 1, "down": 0 }, "instance_stats": { "total": 17, "managed": 0, "unmanaged": 8, "error": 0, "powered_off": 9 }, "has_managed_vnet": true, "_protection": "NOT_PROTECTED" } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Azure Resources
Returns a list of Azure public IPs
Returns a list of Azure public IPs. These ip addresses are availableto be allocated.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/public-ips? account_id=7324800c-a41a-4cb4-b988-51fa3d093397®ion_id=westus Successful Response:
Example Response: { "results": [ "104.209.46.64", "104.40.87.204", "40.112.184.178", "13.91.55.98" ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns a list of Azure security groups
Returns a list of Azure security groups.Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/resource-groups? account_id=7324800c-a41a-4cb4-b988-51fa3d093397 Successful Response:
Example Response: { "results": [ "RG-1", "RG-2" ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns a list of Azure Storage Accounts
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/azure/storage-accounts? account_id=7324800c-a41a-4cb4-b988®ion_id=westus Successful Response:
Example Response: { "results": [ { "name": "storage-account-1" }, { "name": "storage-account-2" }, { "name": "storage-account-3" } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns a list of Azure subnets
Returns a list Azure subnets with information about each subnet like ID,virtual network ID and address space
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/subnets? account_id=7324800c-a41a-4cb4-b988&vnet_id=3054a504-4c09-4df7-8420 Successful Response:
Example Response: { "results": [ { "display_name": "vtep1", "address_space": "172.20.10.0/24", "vnet_id": "3054a504-4c09-4df7-8420", "id": "/subscriptions/1234567890/resourceGroups/NSX-Vnet-3-RG/providers/Microsoft.Network/virtualNetworks/NSX-Vnet-3/subnets/vtep1" }, { "display_name": "vtep2", "address_space": "172.20.11.0/24", "vnet_id": "3054a504-4c09-4df7-8420", "id": "/subscriptions/1234567890/resourceGroups/NSX-Vnet-3-RG/providers/Microsoft.Network/virtualNetworks/NSX-Vnet-3/subnets/vtep2" } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Azure Vnets
Returns the configuration of the compute VNet. The configuration contains quarantine policy and fall back security group of compute VNet and the information related to transit VNet.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/azure/compute-vnets { "cursor": "00011", "sort_ascending": true, "result_count": 1, "results": [ { "resource_type": "AzureComputeVNetConfig", "id": "41e9e760-1c60-4b35-89c2", "display_name": "41e9e760-1c60-4b35-89c2", "default_quarantine_policy_enabled": false, "managed_without_agents": false, "account_id": "fa043e3d-256d-446f-9c5c-665dcfdb33c9", "configuration": { "account_id": "fa043e3d-256d-446f-9c5c-665dcfdb33c9", "vnet_id": "41e9e760-1c60-4b35-89" }, "_create_user": "system", "_create_time": 1540475272491, "_last_modified_user": "admin", "_last_modified_time": 1540475431491, "_system_owned": false, "_revision": 2 } ] } Successful Response:
Required Permissions: Feature: gateway_deployment Additional Errors:
Updates the NSX configuration related to managed compute VNET using a transit VNET.
Update the configurations such as default_quarantine_policy,cloud_fallback_security_group_id and auto_agent_install_enabled
for the NSX managed compute VNET.
Request:
Example Request: PUT https://<nsx-csm>/api/v1/csm/azure/compute-vnets/
Example Response: { "resource_type": "AzureComputeVNetConfig", "id": "41e9e760-1c60-4b35-89c2", "display_name": "41e9e760-1c60-4b35-89c2", "default_quarantine_policy_enabled": false, "managed_without_agents": false, "account_id": "fa043e3d-256d-446f-9c5c-665dcfdb33c9", "configuration": { "account_id": "fa043e3d-256d-446f-9c5c-665dcfdb33c9", "vnet_id": "41e9e760-1c60-4b35-89d4" }, "_create_user": "system", "_create_time": 1540475272491, "_last_modified_user": "admin", "_last_modified_time": 1540475431491, "_system_owned": false, "_revision": 3 } Required Permissions: Feature: quarantine_policy Additional Errors:
Returns the configuration of the compute VNet. The configuration contains quarantine policy and fall back security group of compute VNet and the information related to transit VNet.
Request:Successful Response:
Example Response: GET https://<nsx-csm>/api/v1/csm/azure/compute-vnets/
Onboards a compute VNet to be NSX managed by a transit VNet.
Onboard a compute VNet to be NSX managed using a transit VNet.Hence, the public cloud gateways deployed in a transit VNet can
manage the workload VMs in a computeVNet.
Onboarding status can be obtained from
/csm/azure/compute-vnets/<vnet-id>/status API.
Upon successful onboarding of the VNet, the onboard_step will be
ONBOARD_SUCCESSFUL and op_status will be NSX_MANAGED_BY_TRANSIT_VNet.
If any error is encountered during onboarding, corresponding error_code
and error_message will be populated. To manage compute VNet using
NSX gateway, offboard the compute VNet and deploy gateway
using /csm/azure/gateways?action=deploy API.
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/azure/compute-vnets/
Required Permissions: Feature: gateway_deployment Additional Errors:
Offboards a compute VNet.
Offboards a compute VNet to be NSX unmanaged from a transit VNet.All the VMs in the compute VNet need to be untagged before offboarding
the compute VNet. Offboarding status can be obtained from
/csm/azure/compute-vnets/<vnet-id>/status API. Upon successful offboarding
compute VNet, the onboard_step will be OFFBOARD_SUCCESSFUL
and op_status will be NOT_AVAILABLE. If any error is encountered
during offboarding, corresponding error_code and error_message
will be populated.
Request:
Example Request: DELETE https://<nsx-csm>/api/v1/csm/azure/compute-vnets/
Required Permissions: Feature: gateway_deployment Additional Errors:
Returns the status of the compute VNet. The status corresponds to onboard or offboard status of a compute VNet.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/azure/vnets/
Required Permissions: Feature: gateway_deployment Additional Errors:
Returns a list of Azure virtual networks
Returns a list of Azure virtual networks with information about eachvirtual network like IPv4 CIDR, gateway information and transport zones.
Optional query parameters can be utilized to filter the list.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/vnets Successful Response:
Example Response: { "cursor": "000002", "sort_ascending": true, "result_count": 3, "results": [ { "resource_type": "AzureVnet", "id": "3054a504-4c09-4df7-8420", "display_name": "NSX-Vnet-1", "cidr_blocks": [ "10.59.1.224/28", "172.20.10.0/24", "172.20.11.0/24", "172.20.12.0/24", "172.20.13.0/24", "172.20.14.0/24" ], "resource_group": "NSX-Vnet-1-RG", "associated_account_ids": [ "28984eef-d296-4a40-979e" ], "region_id": "westus", "resource_id": "/subscriptions/1234567890/resourceGroups/NSX-Vnet-1-RG/providers/Microsoft.Network/virtualNetworks/NSX-Vnet-1", "capabilities":["HORIZON"], "instance_stats": { "total": 6, "managed": 0, "unmanaged": 5, "error": 0, "powered_off": 1 }, "vdi_stats": { "total": 4, "managed": 0, "unmanaged": 3, "error": 0, "powered_off": 1 }, "op_status": "NSX_UNMANAGED", "gateway_info": { "gateway_status": { "gateway_cluster_id": "" } }, "is_management_vnet": false, "_protection": "NOT_PROTECTED" }, { "resource_type": "AzureVnet", "id": "e8e719ff-6a40-48e2-8cf7", "display_name": "NSX-Int-Vnet-Ind-3", "cidr_blocks": [ "10.59.4.112/28", "172.18.35.0/24", "172.18.36.0/24", "172.18.37.0/24", "172.18.38.0/24", "172.18.39.0/24" ], "resource_group": "NSX-Vnet-2-RG", "associated_account_ids": [ "28984eef-d296-4a40-979e" ], "transport_zones": [ { "is_underlay_transport_zone": false, "logical_switches": [ { "is_default_logical_switch": false, "instances_count": 0, "nsx_switch_tag": "a2aad0f1-a48a-474b-8423-41767f538ee0#/E=", "logical_switch_display_name": "DefaultSwitch-Overlay-NSX-Vnet-2", "logical_switch_id": "ls54321" } ], "transport_zone_id": "tz54321", "transport_zone_display_name": "NSX-Vnet-2-Overlay" }, { "is_underlay_transport_zone": true, "logical_switches": [ { "is_default_logical_switch": true, "instances_count": 0, "nsx_switch_tag": "default", "logical_switch_display_name": "DefaultSwitch-VLAN-NSX-Vnet-2", "logical_switch_id": "ls12345" } ], "transport_zone_id": "tz12345", "transport_zone_display_name": "NSX-Vnet-2-VLAN" } ], "region_id": "westus", "resource_id": "/subscriptions/1234567890/resourceGroups/NSX-Vnet-2-RG/providers/Microsoft.Network/virtualNetworks/NSX-Vnet-2", "instance_stats": { "total": 6, "managed": 0, "unmanaged": 6, "error": 0, "powered_off": 0 }, "managed_vnets": [ { "virtual_private_cloud_id": "3034a504-4509-4df7-8429", "associated_account_ids: ["28984eef-d296-4a40-979e"], "virtual_private_cloud_name": "NSX-Vnet-4" } ], "op_status": "NSX_MANAGED", "gateway_info": { "configuration": { "default_quarantine_policy_enabled": false, "managed_without_agents": false, "proxy_server_profile":"a491bc83-5fc8-4e05-adb1-af8274422141", "nsx_manager_connection": "PRIVATE_IP", "is_ha_enabled": false, "form_factor": "LARGE", "gateway_ha_configuration": [], "dns_settings": { "dns_mode": "DHCP" }, "ssh_key": "abcxyzabcxyz", "image_id": "https://abcxyz.windows.net/public-cloud-gateway2/nsx-public-gateway.vhd" }, "gateway_status": { "gateway_cluster_id": "abc123", "gateway_instances_status": [ { "gateway_tn_id": "abcde12345", "deployment_step": "DEPLOYMENT_SUCCESSFUL", "public_ip": "1.2.3.4", "gateway_node_id": "12345abcde", "gateway_status": "UP", "gateway_instance_id": "abcde12345", "private_ip": "4.3.2.1", "gateway_ha_index": 0, "is_gateway_active": false, "gateway_name": "nsx-gw-test" } ] } }, "is_management_vnet": false, "_protection": "NOT_PROTECTED" }, { "resource_type": "AzureVnet", "id": "3034a504-4509-4df7-8429", "display_name": "NSX-Vnet-4", "cidr_blocks": [ "10.59.1.224/28", "172.20.10.0/24" ], "resource_group": "NSX-Vnet-4-RG", "associated_account_ids": [ "28984eef-d296-4a40-979e" ], "region_id": "westus", "resource_id": "/subscriptions/1234567890/resourceGroups/NSX-Vnet-4-RG/providers/Microsoft.Network/virtualNetworks/NSX-Vnet-4", "instance_stats": { "total": 6, "managed": 0, "unmanaged": 5, "error": 0, "powered_off": 1 }, "associated_transit_vnet": { "virtual_private_cloud_id": "e8e719ff-6a40-48e2-8cf7", "associated_account_ids: ["28984eef-d296-4a40-979e"], "virtual_private_cloud_name": "NSX-Int-Vnet-Ind-3" }, "op_status": "NSX_MANAGED_BY_TRANSIT_VNET", "gateway_info": { "gateway_status": { "gateway_cluster_id": "" } }, "is_management_vnet": false, "_protection": "NOT_PROTECTED" }, ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about a particular Azure virtual network
Returns information about Azure region like virtual network like IPv4 CIDR,gateway information and transport zones.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/vnets/41e9e760-1c60-4b35-89c2 Successful Response:
Example Response: { "resource_type": "AzureVnet", "id": "41e9e760-1c60-4b35-89c2", "display_name": "NSX-Vnet-1", "cidr_blocks": [ "10.59.4.80/28", "172.18.25.0/24", "172.18.26.0/24", "172.18.27.0/24", "172.18.28.0/24", "172.18.29.0/24" ], "resource_group": "NSX-Vnet-1-RG", "associated_account_ids": [ "28984eef-d296-4a40-979e" ], "region_id": "westus", "resource_id": "/subscriptions/1234567890/resourceGroups/NSX-Vnet-1-RG/providers/Microsoft.Network/virtualNetworks/NSX-Vnet-1", "instance_stats": { "total": 1, "managed": 0, "unmanaged": 1, "error": 0, "powered_off": 0 }, "op_status": "NSX_UNMANAGED", "gateway_info": { "gateway_status": { "gateway_cluster_id": "" } }, "is_management_vnet": false, "_protection": "NOT_PROTECTED" } Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Azure
Cloud Service Manager: Azure: Security Groups
Returns a list of Azure security groups corresponding to a VNet
Returns a list of Azure security groups corresponding to VNet withinformation about each security group like inbound rules, outbound rules
and priority.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/security-groups Successful Response:
Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about a particular Azure security group
Returns information about a Azure security group like inbound rules,outbound rules and priority.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/security-groups/
Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Azure: Vnets
Cloud Service Manager: Azure: Vnets: Service Endpoints
Returns a list of Azure service endpoints corresponding to a VNet
Returns a list of Azure service endpoints corresponding to a VNet. NSXsupported services are currently limited to Azure Storage, Azure SQL
Database, Azure Cosmos DB and Azure Load Balancer.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/azure/vnets/
Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Cloud Service Manager
Refreshes encryption keys
This API can be used to refresh the encryption keys used by Cloud ServiceManager to encrypt sensitive data. This action should generally be done
during maintenance windows.
Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/csmconfig/encryption-keys?action=refresh Successful Response:
Required Permissions: Feature: csm_node_config Additional Errors:
Return Csm status information
Returns information about cloud service managerRequest:
Example Request: GET https://<nsx-csm>/api/v1/csm/csmstatus Successful Response:
Example Response: { "id": "a180989d-48fa-4624-af84-d3c7f120d383", "display_name": "CSM Instance", "ip_address": "192.168.122.1", "version": "1.0", "managed_by_vmware": true, "supported_clouds": [ { "cloud_type": "aws" } ] } Required Permissions: Feature: csm_node_config Additional Errors:
Cloud Service Manager: Cloud Types
Update the selection of CSM cloud types
Updates the list of desired clouds on cloud service managerRequest:
Example Request: PUT https://<nsx-csm>/api/v1/csm/desired-clouds { "cloud_types": [ { "cloud_type": "aws" "enabled": true, } { "cloud_type": "azure", "enabled": true, } { "cloud_type": "aws-gov-us-east" "enabled": false, } { "cloud_type": "aws-gov-us-west", "enabled": false, } { "cloud_type": "azure-gov-us", "enabled": false, } ] } Successful Response:
Example Response: { "cloud_types": [ { "cloud_type": "aws" "enabled": true, } { "cloud_type": "azure", "enabled": true, } { "cloud_type": "aws-gov-us-east" "enabled": false, } { "cloud_type": "aws-gov-us-west", "enabled": false, } { "cloud_type": "azure-gov-us", "enabled": false, } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Return information on CSM cloud types
Returns information about desired clouds on cloud service managerRequest:
Example Request: GET https://<nsx-csm>/api/v1/csm/desired-clouds Successful Response:
Example Response: { "cloud_types": [ { "cloud_type": "aws" "enabled": true, } { "cloud_type": "azure", "enabled": true, } { "cloud_type": "aws-gov-us-east" "enabled": true, } { "cloud_type": "aws-gov-us-west", "enabled": true, } { "cloud_type": "azure-gov-us", "enabled": true, } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Cloud Service Manager: Manager Configuration
Update NSX Cloud Service Manager nodes global configuration
Modifies the NSX Cloud Service Manager nodes global configuration. Request:Example Request: PUT https://<nsx-csm>/csmapi/api/v1/csm/configs/management { "publish_fqdns": true, "_revision": 0 } Successful Response:
Example Response: { "publish_fqdns": true, "_revision": 1 } Required Permissions: Feature: csm_node_config Additional Errors:
Read NSX Cloud Service Manager Nodes global configuration.
Returns the NSX Cloud Service Manager Nodes global configuration.Request:
Example Request: GET https://<nsx-csm>/csmapi/api/v1/csm/configs/management Successful Response:
Example Response: { "publish_fqdns": true, "_revision": 0 } Required Permissions: Feature: csm_node_config Additional Errors:
Cloud Service Manager: NSX Manager Accounts
Returns a list of NSX Manager accounts
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/nsx-manager-accounts Successful Response:
Example Response: { "results": [ { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "public_ip": "34.208.244.2", "tenant_id": "345", "thumbprint": "12a76e1ff8d7d6d95ce02dddece11134e402bc436454b7bf4fa61a28418330a1", "username": "admin" } ] } Required Permissions: Feature: nsx_integration Additional Errors:
Create a NSX Manager account
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/nsx-manager-accounts { "tenant_id": "345", "public_ip": "34.208.244.2", "thumbprint": "12a76e1ff8d7d6d95ce02dddece11134e402bc436454b7bf4fa61a28418330a1", "username": "admin", "password": "12423dsgfe3" } Successful Response:
Example Response: { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "tenant_id": "345", "public_ip": "34.208.244.2", "thumbprint": "12a76e1ff8d7d6d95ce02dddece11134e402bc436454b7bf4fa61a28418330a1", "username": "admin" } Required Permissions: Feature: nsx_integration Additional Errors:
Update a NSX Manager account
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/nsx-manager-accounts/a491bc83-5fc8-4e05-adb1-af8274422141 { "public_ip": "52.1.1.12", "thumbprint": "12a76e1ff8d7d6d95ce02dddece11134e402bc436454b7bf4fa61a28418330a1", "username": "admin", "password": "12423dsgfe3" } Successful Response:
Example Response: { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "tenant_id": "123", "public_ip": "52.1.1.12", "thumbprint": "12a76e1ff8d7d6d95ce02dddece11134e402bc436454b7bf4fa61a28418330a1", "username": "New Name" } Required Permissions: Feature: nsx_integration Additional Errors:
Delete a NSX Manager account
Request:Example Request: DELETE https://<nsx-csm>/api/v1/csm/nsx-manager-accounts/a491bc83-5fc8-4e05-adb1-af8274422141 Successful Response:
Required Permissions: Feature: nsx_integration Additional Errors:
Returns the particular NSX Manager account information
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/nsx-manager-accounts/a491bc83-5fc8-4e05-adb1-af8274422141 Successful Response:
Example Response: { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "public_ip": "34.208.244.2", "tenant_id": "345", "thumbprint": "12a76e1ff8d7d6d95ce02dddece11134e402bc436454b7bf4fa61a28418330a1", "username": "admin" } Required Permissions: Feature: nsx_integration Additional Errors:
Cloud Service Manager: Proxy Server Profile
Create a Proxy Server Profile
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/proxy-server-profiles { "profilename":"test", "username": "admin", "password": "test123", "host": "1.0.0.0", "port": "3382", "is_default":"true" } Successful Response:
Example Response: { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "profilename": "test", "username": "admin", "host": "1.0.0.0", "port": "3382", "is_default": "true" } Required Permissions: Feature: cloud_accounts Additional Errors:
Returns a list of Proxy Server Profiles
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/proxy-server-profiles Successful Response:
Example Response: { "results": [ { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "profilename": "test" "username": "admin", "host": "1.0.0.0", "port": "3382", "is_default": "true" }, { "id": "b491bc83-5fc8-4e05-tdc1-ef8274422141", "profilename": "proxy-with-certificate", "username": "admin", "host": "2.0.0.0", "port": "3382", "is_default": "true", "tls_certificate":"----BEGIN CERTIFICATE-------" } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Update a Proxy Server Profile
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/proxy-server-profiles/a491bc83-5fc8-4e05-adb1-af8274422141 { "profilename": "test", "username": "admin", "password": "test123", "host": "1.0.0.0", "port": "3382", "is_default": "false", "_revision": 0 } Successful Response:
Example Response: { "id": "a491bc83-5fc8-4e05-adb1-af8274422141", "profilename": "test", "username": "admin", "host": "1.0.0.0", "port": "3382", "is_default": "false", "_revision": 0 } Required Permissions: Feature: cloud_accounts Additional Errors:
Delete a Proxy Server Profile
Request:Example Request: DELETE https://<nsx-csm>/api/v1/csm/proxy-server_profiles/a491bc83-5fc8-4e05-adb1-af8274422141 Successful Response:
Required Permissions: Feature: cloud_accounts Additional Errors:
Returns the particular Proxy Server Profile information
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/proxy-server-profiles/a491bc83-5fc8-4e05-adb1-af8274422141 Successful Response:
Example Response: { "profilename": "test", "username": "admin", "host": "1.0.0.0", "port": "3382", "is_default": "true", "_revision": 0 } Required Permissions: Feature: cloud_accounts Additional Errors:
Cloud Service Manager: Supported Regions
Returns supported regions per cloud
Returns information on supported regions for all cloud types.Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/supported-regions Successful Response:
Example Response: { "results": [ { "cloud_type": "aws", "supported_regions": [ "ap-south-1", "eu-west-3", "eu-west-2", .... "us-west-1", "us-west-2", ] }, { "cloud_type": "azure", "supported_regions": [ "northeurope", "francecentral", "australiaeast", .... "eastus", "westus", ] } ] } Required Permissions: Feature: cloud_accounts Additional Errors:
Cloud Service Manager: System Configuration
Read NSX Cloud Service Manager system configuration.
Returns the system configuration of NSX Cloud Service Manager,such as the list of management IP configurations.
Request:
Example Request: GET https://<nsx-csm>/csmapi/api/v1/csm/configs/system-config Successful Response:
Example Response: { "mgmt_ip_config": [ "10.1.1.1/24", "192.168.0.0/24" ] } Required Permissions: Feature: csm_node_config Additional Errors:
Update NSX Cloud Service Manager system configuration.
Modifies the NSX Cloud Service Manager system configuration,such as the list of management IP CIDRs as seen by the gateways
deployed in the cloud.
Request:
Example Request: PUT https://<nsx-csm>/csmapi/api/v1/csm/configs/system-config { "mgmt_ip_config": [ "10.1.1.1/24", "192.168.0.0/24", "192.169.0.0/24" ] } Successful Response:
Example Response: { "mgmt_ip_config": [ "10.1.1.1/24", "192.168.0.0/24", "192.169.0.0/24" ] } Required Permissions: Feature: csm_node_config Additional Errors:
Cloud Service Manager: VPN
Returns all the NSX managed CSM VPN endpoints
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/vpn/endpoints Successful Response:
Example Response: { "cursor": "0000001", "sort_ascending": true, "result_count": 3, "resource_type": "CsmVpnEndpointsListResult", "results": [ { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" }, { "id": "8154ffd1-41b1-42d6-a28d-05c61a0697g2", "display_name": "azure-vnet-02", "endpoint_type": "AZURE" } ], "_last_modified_user": "admin", "_last_modified_time": 1435284879143, "_create_time": 1435284566908, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: csm_vpn Additional Errors:
Returns the state of the public cloud routing tables from a VPN point of view.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/vpn/routing-tables/state Successful Response:
Example Response: { "cursor": "0008236", "sort_ascending": true, "result_count": 3, "resource_type": "VpnRoutingTableStateListResult", "results": [ { "id" : "rtb-fa00d882", "managed_for_vpn" : true }, { "id" : "rtb-9f7b06e7", "managed_for_vpn" : false, "reason_for_not_managed" : "RT_CONTAINS_UPLINK_SUBNET" }, { "id" : "rtb-ac08dcd4", "managed_for_vpn" : false, "reason_for_not_managed" : "UNSELECTED" } ], "_last_modified_user": "admin", "_last_modified_time": 1435284879143, "_create_time": 1435284566908, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: cloud_resources Additional Errors:
Create a VPN session in cloud service manager.
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/vpn/sessions { "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } } Successful Response:
Example Response: { "id": "9174ffd1-41b1-42d6-a28d-05c61a0698e2", "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } } Required Permissions: Feature: csm_vpn Additional Errors:
Returns the details of the particular CSM VPN session
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2 Successful Response:
Example Response: { "id": "9174ffd1-41b1-42d6-a28d-05c61a0698e2", "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } } Required Permissions: Feature: csm_vpn Additional Errors:
Delete a CSM VPN session
Request:Example Request: DELETE https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2 DELETE https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2?force=true Successful Response:
Required Permissions: Feature: csm_vpn Additional Errors:
Update an existing CSM VPN session information
Request:Example Request: PUT https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2 { "display_name": "New VPN session", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } } Successful Response:
Example Response: { "id": "9174ffd1-41b1-42d6-a28d-05c61a0698e2", "display_name": "New VPN session", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } } Required Permissions: Feature: csm_vpn Additional Errors:
Returns the status and details of the particular CSM VPN session
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2/status GET https://<nsx-csm>/api/v1/csm/vpn/sessions/7344feb2-51b4-68b5-c57e-16e72b3817f3/status Successful Response:
Example Response: { "details": { "id": "9174ffd1-41b1-42d6-a28d-05c61a0698e2", "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }, "state": "UP", "status_message": "NSX Policy VPN sessions established" } { "details": { "id": "7344feb2-51b4-68b5-c57e-16e72b3817f3", "display_name": "aws azure session 02", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }, "state": "IN_PROGRESS", "status_message": "Configuring BGP routing on NSX Policy Tier0" } Required Permissions: Feature: csm_vpn Additional Errors:
Re-establish an existing CSM VPN session in errored state. If the create of an CSM VPN session errored out and the state is DOWN, this call can be made. CSM will attempt to re-create any missing NSX entities and attempt to re-establish the session.
Request:Example Request: POST https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2?action=recreate Successful Response:
Required Permissions: Feature: csm_vpn Additional Errors:
Returns the statuses of the CSM VPN sessions.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/vpn/sessions/status Successful Response:
Example Response: { "cursor": "0008236", "sort_ascending": true, "result_count": 2, "resource_type": "CsmVpnSessionStatusListResult", "results": [ { "details": { "id": "9174ffd1-41b1-42d6-a28d-05c61a0698e2", "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc-02", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }, "state": "UP", "status_message": "NSX Policy VPN sessions established" }, { "details": { "id": "8154ffd1-41b1-42d6-a28d-05c61a0697g2", "display_name": "azure aws session 02", "source_endpoint": { "id": "42935e4d-ff7c-433a-a59c-85ab5559cda2", "display_name": "Vnet-WA-4", "endpoint_type": "AZURE" }, "destination_endpoint": { "id": "vpc-87654321", "display_name": "vpc-01", "endpoint_type": "AWS" } }, "status": "DOWN", "status_message": "Failed to create NSX Policy IPSec VPN sessions" } ], "_last_modified_user": "admin", "_last_modified_time": 1435284879143, "_create_time": 1435284566908, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: csm_vpn Additional Errors:
Cloud Service Manager: Virtual Machines
Returns the list of all virtual machines created or imported under a particular account id. Supports optional query parameters like region id, vpc id, public_ip, is_gateway.
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/virtual-machines Successful Response:
Example Response: { "cursor": "0003348", "sort_ascending": true, "result_count": 348, "results": [ { "description": "t2.micro", "id": "i-027c0b32cbe631ec9", "display_name": "vm-2", "is_gateway": false, "private_ip": "13.14.41.253", "cloud_tags": [], "os_type": "AMAZON_LINUX", "agent_status": "NO_AGENT", "os_details": "", "availability_zone": "us-west-2c", "vpc": "vpc-f4ddaf93", "vm_config_status": { "whitelist": { "whitelisted": "YES" }, "usermanaged": { "usermanaged": "YES" } }, "nsx_successful_rules_count" : 1, "nsx_failed_rules_count" : 0 }, { "region": "westus", "vnet": "7f3e9fce-8e92-407f-ad82-02c26dd566f1", "vnet_name": "nsx-vpn-vnet-01", "resource_group": "UBUNTU-VM-01-RG", "power_state": "STOPPED", "resource_id": "/58bbb0ce-e26a-4bbc-a49c-284f63c25e2e/resourceGroups/UBUNTU-VM-01-RG/providers/Microsoft.Compute/virtualMachines/ubuntu-vm-01", "resource_type": "AzureVirtualMachine", "id": "5735faab-4751-4e25-8db7-78f6a35b7e42", "display_name": "ubuntu-vm-01", "os_type": "Linux", "cloud_tags": [], "public_ip": "52.160.36.45", "private_ip": "22.22.4.5", "is_gateway": false, "managed_by_nsx": true, "quarantine_state": "UNKNOWN", "threat_state": "INVALID", "nsx_security_rule_errors_count": 0, "nsx_security_rule_errors": [], "status": "POWERED_OFF", "agent_status": "UPDATE_AVAILABLE", "cloud_instance_type": "HORIZON_VDI", "associated_account_ids": [ "877b27fe-5935-4a09-8c25-f3df9afd326b" ], "vm_config_status": { "whitelist": { "whitelisted": "NO" }, "usermanaged": { "usermanaged": "NO" } }, "nsx_successful_rules_count": 0, "nsx_failed_rules_count": 0 }, { "description": "c4.xlarge", "id": "i-0b62834659a30fc21", "display_name": "nsx-gw-vpc-c35dbaa4-preferred-active", "public_ip": "52.89.33.233", "is_gateway": true, "private_ip": "10.0.1.97", "is_gateway_active": true, "cloud_tags": [], "gateway_status": "UP", "os_type": "UBUNTU", "os_details": "LTS 14.04", "availability_zone": "us-west-2a", "vpc": "vpc-c35dbaa4", "vm_config_status": { "whitelist": { "whitelisted": "NO" } "usermanaged": { "usermanaged": "NO" } }, "nsx_successful_rules_count" : 1, "nsx_failed_rules_count" : 0 } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Returns information about the particular virtual machine
Request:Example Request: GET https://<nsx-csm>/api/v1/csm/virtual-machines/i-027c0b32cbe631ec9 Successful Response:
Example Response: { "description": "t2.micro", "id": "i-027c0b32cbe631ec9", "display_name": "vm-2", "is_gateway": false, "private_ip": "13.14.41.253", "cloud_tags": [], "os_type": "AMAZON_LINUX", "agent_status": "NO_AGENT", "os_details": "", "availability_zone": "us-west-2c", "vpc": "vpc-f4ddaf93", "vm_config_status": { "whitelist": { "whitelisted": "NO" }, "usermanaged": { "usermanaged": "NO" } }, "nsx_configured_rules_count" : 1, "nsx_failed_rules_count" : 0 } Required Permissions: Feature: cloud_resources Additional Errors:
Update virtual machine config
Updates user configurable nsx properties of virtual machines.Request:
Example Request: POST https://<nsx-csm>/api/v1/csm/virtual-machines?action=update_config { "virtual_machines": [ { "vm_id": "i-027c0b32cbe631ec9" "vm_config_properties": { "whitelisted" : true, "usermanaged" : true } }, { "vm_id": "a491bc83-5fc8-4e05-adb1-af8274422141" "vm_config_properties": { "whitelisted" : true, "usermanaged" : true } } ] } Successful Response:
Required Permissions: Feature: cloud_resources Additional Errors:
Cloud Service Manager: Virtual Machines: Firewall Rules
Details of NSX firewall rules of cloud virtual machine
Return the NSX firewall rules of an agentless cloud virtual machine within the given cloud networkand the details/status of each rule. VMs with NSX agent do not have the NSX rules populated.
Rule errors are populated if failed to realize for the instance.In AWS, instance id is same as instance guid.
In Azure, instance guid refers to the global unique identifier of the instance.
Request:
Example Request: GET https://<nsx-csm>/api/v1/csm/virtual-machines/i-027c0b32cbe631ec9/firewall-rules Successful Response:
Example Response: { "results" : [ { "id" : "1026", "section_id" : "b6b1219b-g76d-456g-8012-ebbdg9c4c497", "direction" : "IN_OUT", "priority" : 100, "sources" : [ { "target_id" : "a6a1219a-f76c-456f-8012-daacf9b4b497", "target_display_name" : "web-vms" } ], "destinations" : [ { "target_id" : "d79460ce-3404-4424-a931-3f70a2e39aee", "target_display_name" : "app-vms" } ], "services" : [ { "service" : { "l4_protocol" : "TCP", "source_ports" : [], "destination_ports: ["1024"] } } ], "action" : "ALLOW", "error_details" : { "error_id" : "1234", "error_message" : "NSX stateless rules are not supported" } }, { "id" : "1027", "section_id" : "", "direction" : "IN", "priority" : 1000, "sources" : [ { "target_id" : "d79460ce-3404-4424-a931-3f70a2e39aee", "target_display_name" : "app-vms" } ], "destinations" : [ { "target_id" : "a6a1219a-f76c-456f-8012-daacf9b4b497", "target_display_name" : "web-vms" } ], "services" : [ { "service" : { "l4_protocol" : "TCP", "source_ports" : [], "destination_ports: ["464"] } } ], "action" : "DENY", "error_details" : {} } ] } Required Permissions: Feature: cloud_resources Additional Errors:
Federation
Federation: Federation Configuration
Read federation config
Read a federation config from Global Manager. This API is only available when using VMware NSX-T. Request:Example Request: GET https://<policy-mgr>/policy/api/v1/global-infra/federation-config GET https://<global-mgr>/global-manager/api/v1/global-infra/federation-config Successful Response:
Example Response: { "site_config" : [ { "site_id": "59ee0369-3d2b-4b2a-9221-594344f6ca4c", "rtep_ips": [ "10.192.201.163", "10.192.201.164" ], "site_index": 1, "site_path": "/global-infra/sites/paris" } ] } Required Permissions: Feature: site_admin Additional Errors:
Read Global Manager config along with sensitive data
Read a Global Manager config along with sensitive data.For example - rtep_config.ibgp_password
Request:
Example Request: GET https://<pglobal-mgr>/global-manager/api/v1/global-infra/global-manager-config?action=show-sensitive-data GET https://<policy-mgr>/policy/api/v1/global-infra/global-manager-config?action=show-sensitive-data Successful Response:
Example Response: { "resource_type": "GlobalManagerConfig", "rtep_config" : { "ibgp_password": "secureme" }, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: Feature: site_admin Additional Errors:
Federation: Full Synchronization
Performs realized object actions specified in the action.
Performs realized object actions specified in the action. Request:Example Request: POST https://<policy-mgr>/policy/api/v1/infra/full-sync-action?action=request_full_sync Successful Response:
Example Response: { "fullsync_action_response": "requested full sync", } Required Permissions: Feature: site_admin Additional Errors:
List full sync states
List full sync state. This API is only available when using VMware NSX-T. Request:Example Request: GET https://<policy-mgr>/policy/api/v1/infra/full-sync-states Successful Response:
Example Response: { "result_count" : 1, "results" : [ "resource_type": "FullSyncState", "id": "1234", "full_sync_id": "1234", "last_completed_stage": "PROCESSED_DELTAS", "path": "/infra/fullsync-states/1234", "parent_path": "/infra", "relative_path": "1234", "_create_user": "SYSTEM", "_create_time": 1517262573524, "_last_modified_user": "SYSTEM", "_last_modified_time": 1517262573524, "_system_owned": true, "_revision": 2 ] } Required Permissions: Feature: site_admin Additional Errors:
Get full sync state
Get full sync state. This API is only available when using VMware NSX-T. Request:Example Request: GET https://<policy-mgr>/policy/api/v1/infra/full-sync-states/1234 Successful Response:
Example Response: { "resource_type": "FullSyncState", "id": "1234", "full_sync_id": "1234", "last_completed_stage": "PROCESSED_DELTAS", "path": "/infra/fullsync-states/1234", "parent_path": "/infra", "relative_path": "1234", "_create_user": "SYSTEM", "_create_time": 1517262573524, "_last_modified_user": "SYSTEM", "_last_modified_time": 1517262573524, "_system_owned": true, "_revision": 2 } Required Permissions: Feature: site_admin Additional Errors:
Federation: Global Managers
List Global Managers
List Global Managers under Infra.This API is only available when using VMware NSX-T. Request:
Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers Successful Response:
Example Response: { "result_count" : 2, "results" : [ { "resource_type": "GlobalManager", "id": "london", "gm_id": "aad93dd9-ea71-41d7-be0d-1b1fca616660", "display_name": "London GM", "path": "/infra/global-managers/london", "parent_path": "/infra/global-managers/london", "relative_path": "london", "mode": "ACTIVE", "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 }, { "resource_type": "GlobalManager", "id": "Paris", "gm_id": "dfd93dd9-ea71-41d7-be0d-1b1fca616660", "display_name": "Paris GM", "path": "/infra/global-managers/Paris", "parent_path": "/infra/global-managers/Paris", "relative_path": "Paris", "mode": "STANDBY", "connection_info": [{ "fqdn": "10.190.201.163" }], "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ] } Required Permissions: Feature: standby_site_admin Additional Errors:
Read a Global Manager
Retrieve information about a particular configured global manager.Global Manager id 'self' is reserved and can be used for referring to local
logged in Global Manager.
Example - /infra/global-managers/self
This API is only available when using VMware NSX-T. Request:
Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers/london Successful Response:
Example Response: { "resource_type": "GlobalManager", "id": "london", "gm_id": "dfd93dd9-ea71-41d7-be0d-1b1fca616660", "display_name": "London GM", "path": "/infra/global-managers/london", "parent_path": "/infra/global-managers/london", "relative_path": "london", "mode": "ACTIVE", "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: Feature: standby_site_admin Additional Errors:
Federation: Inter-Sites
Get inter-site status of the edge cluster
Returns the aggregated status for the Edge cluster along with status ofall edge nodes in the cluster. It always returns cached response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/edge-clusters/875381be-a4c5-4173-8aa7-ab71695a8129/inter-site/status Successful Response:
Example Response: { "edge_cluster_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "edge_cluster_name": "Federation edge cluster", "member_status": [ { "transport_node": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "Edge node 1", "is_valid": true }, "total_bgp_sessions": 2, "established_bgp_sessions": 2, "neighbor_status": [ { "source_address": "192.100.20.10", "neighbor_address": "192.200.20.10", "connection_state": "ESTABLISHED", "remote_site": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true } }, { "source_address": "192.300.20.10", "neighbor_address": "192.400.20.10", "connection_state": "ESTABLISHED", "remote_site": { "target_id": "235c52a2-c960-4005-4512-451dc54fa542", "target_display_name": "PA Site", "is_valid": true } } ] "status": "UP" }, { "transport_node": { "target_id": "77eead22-3bb9-4586-8de3-9412941f9116", "target_display_name": "Edge node 2", "is_valid": true }, "total_bgp_sessions": 1, "established_bgp_sessions": 0, "neighbor_status": [ { "source_address": "192.100.20.10", "neighbor_address": "192.200.20.10", "connection_state": "IDLE", "remote_site": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true } } ] "status": "DOWN" } ], "overall_status": "DEGRADED", "last_update_timestamp": 1457117071089 } Required Permissions: Feature: nodes_edge_clusters Additional Errors:
Get infra segment cross site forwarder placement and HA status
Get infra segment cross site forwarder placement and HA statuss.This API is only available when using VMware NSX-T. Request:
Example Request: GET https://<policy-mgr>/policy/api/v1/global-infra/segments/tier0-ls/inter-site-forwarder/site-span-info?enforcement_point_path=/infra/sites/default/enforcement-points/default Successful Response:
Example Response: { "segment_path": "/global-infra/segments/tier0-ls", "remote_macs_per_site": [ { "rtep_group_id": 2001, "remote_site": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true }, "remote_mac_addresses": [ "02:00:17:00:12:D3", "02:00:17:00:13:13" ], "remote_active_ips": [ "10.10.10.1" ], "remote_standby_ips": [ "20.20.20.1" ] } ], "last_update_timestamp": 1457117071089 } Required Permissions: Feature: policy_segment Additional Errors:
Get infra segment cross site traffic statistics
Get infra segment cross site traffic statistics.This API is only available when using VMware NSX-T. Request:
Example Request: GET https://<policy-mgr>/policy/api/v1/global-infra/segments/tier0-ls/inter-site-forwarder/status?enforcement_point_path=/infra/sites/default/enforcement-points/default Successful Response:
Example Response: { "segment_path": "/global-infra/segments/tier0-ls", "rx": { "total_bytes": 56646, "total_packets": 342, "dropped_packets": 103 }, "tx": { "total_bytes": 1125548, "total_packets": 2235, "dropped_packets": 0 }, "last_update_timestamp": 1457117071089 } Required Permissions: Feature: policy_segment Additional Errors:
Get RTEP span and mac address-table
Get RTEP span and mac address-table.Request:
Example Request: GET https://policy-mgr/policy/api/v1/global-infra/tier-0s/tier0/locale-services/tier0localeservices/inter-site/bgp-summary Successful Response:
Example Response: { "edge_cluster_path": "/infra/sites/default/enforcement-points/default/edge-clusters/b051d3f9-3ad8-4831-9d67-8ae1cd3f5a1e/edge-nodes/875381be-a4c5-4173-8aa7-ab71695a8129", "edge_nodes": [ { "edge_node_path": "/infra/sites/default/enforcement-points/default/edge-clusters/b051d3f9-3ad8-4831-9d67-8ae1cd3f5a1e/edge-nodes/875381be-a4c5-4173-8aa7-ab71695a8129", "neighbor_status": [ { "source_address": "10.1.1.1", "neighbor_address": "10.1.2.1", "remote_as_number": "1", "remote_port": 179, "local_port": 179, "connection_state": "ESTABLISHED", "time_since_established": 45628, "messages_received": 12, "messages_sent": 10, "connection_drop_count": 0, "established_connection_count": 1, "hold_time": 180, "keep_alive_interval": 30, "graceful_restart": true, "graceful_restart_mode": "HELPER_ONLY", "total_in_prefix_count": 2, "total_out_prefix_count": 1, "address_families": [ { "type": "IPV4_UNICAST", "in_prefix_count": 2, "out_prefix_count": 1 } ], "remote_site": { "target_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "target_display_name": "PA Site", "is_valid": true } } ], "last_update_timestamp": 1457117071089 }, { "source_address": "10.1.1.1", "neighbor_address": "10.1.2.1", "remote_as_number": "1", "remote_port": 179, "local_port": 179, "connection_state": "ESTABLISHED", "time_since_established": 45628, "messages_received": 12, "messages_sent": 10, "connection_drop_count": 0, "established_connection_count": 1, "hold_time": 180, "keep_alive_interval": 30, "graceful_restart": true, "graceful_restart_mode": "HELPER_ONLY", "total_in_prefix_count": 2, "total_out_prefix_count": 1, "address_families": [ { "type": "IPV4_UNICAST", "in_prefix_count": 2, "out_prefix_count": 1 } ], "remote_site": { "target_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "target_display_name": "PA Site", "is_valid": true } } ], "last_update_timestamp": 1457117071089 } ], } Required Permissions: Feature: policy_connectivity Additional Errors:
Get RTEP mesh connectivity status
Get RTEP mesh connectivity status.Request:
Example Request: GET https://policy-mgr/policy/api/v1/global-infra/tier-0s/tier0/locale-services/tier0localeservices/inter-site/status Successful Response:
Example Response: { "gateway_path": "/global-infra/tier-0s/tier0", "edge_cluster_path": "/global-infra/sites/default/enforcement-points/default/edge-clusters/875381be-a4c5-4173-8aa7-ab71695a8129", "edge_cluster_name": "Federation edge cluster", "member_status": [ { "edge_node": { "edge_node_path": "/global-infra/sites/default/enforcement-points/default/edge-clusters/b051d3f9-3ad8-4831-9d67-8ae1cd3f5a1e/edge-nodes/258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "Edge node 1", "is_valid": true }, "total_bgp_sessions": 2, "established_bgp_sessions": 2, "neighbor_status": [ { "source_address": "192.100.20.10", "neighbor_address": "192.200.20.10", "connection_state": "ESTABLISHED", "remote_site": { "target_edge_node": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true } }, { "source_address": "192.300.20.10", "neighbor_address": "192.400.20.10", "connection_state": "ESTABLISHED", "remote_site": { "target_id": "235c52a2-c960-4005-4512-451dc54fa542", "target_display_name": "PA Site", "is_valid": true } } ] "status": "UP" }, { "edge_node": { "edge_node_path": "/infra/sites/default/enforcement-points/default/edge-clusters/b051d3f9-3ad8-4831-9d67-8ae1cd3f5a1e/edge-nodes/77eead22-3bb9-4586-8de3-9412941f9116", "target_display_name": "Edge node 2", "is_valid": true }, "total_bgp_sessions": 1, "established_bgp_sessions": 0, "neighbor_status": [ { "source_address": "192.100.20.10", "neighbor_address": "192.200.20.10", "connection_state": "IDLE", "remote_site": { "target_edge_node": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true } } ] "status": "DOWN" } ], "overall_status": "DEGRADED", "last_update_timestamp": 1457117071089 } Required Permissions: Feature: policy_connectivity Additional Errors:
Get segment cross site forwarder placement and HA status
Get segment cross site forwarder placement and HA statuss.This API is only available when using VMware NSX-T. Request:
Example Request: GET https://<policy-mgr>/policy/api/v1/global-infra/tier-1s/tier1/segments/tier1-ls/inter-site-forwarder/site-span-info?enforcement_point_path=/infra/sites/default/enforcement-points/default Successful Response:
Example Response: { "segment_path": "/global-infra/tier-1s/tier1/segments/tier1-ls", "remote_macs_per_site": [ { "rtep_group_id": 2001, "remote_site": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true }, "remote_mac_addresses": [ "02:00:17:00:12:D3", "02:00:17:00:13:13" ], "remote_active_ips": [ "10.10.10.1" ], "remote_standby_ips": [ "20.20.20.1" ] } ], "last_update_timestamp": 1457117071089 } Required Permissions: Feature: policy_segment Additional Errors:
Get segment cross site traffic statistics
Get segment cross site traffic statistics.This API is only available when using VMware NSX-T. Request:
Example Request: GET https://<policy-mgr>/policy/api/v1/global-infra/tier-1s/tier1/segments/tier1-ls/inter-site-forwarder/status?enforcement_point_path=/infra/sites/default/enforcement-points/default Successful Response:
Example Response: { "segment_path": "/global-infra/tier-1s/tier1/segments/tier1-ls", "rx": { "total_bytes": 56646, "total_packets": 342, "dropped_packets": 103 }, "tx": { "total_bytes": 1125548, "total_packets": 2235, "dropped_packets": 0 }, "last_update_timestamp": 1457117071089 } Required Permissions: Feature: policy_segment Additional Errors:
Get L2 forwarder remote mac addresses (Experimental)
Returns remote mac addresses of the l2 forwarder on logical switch.It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/inter-site-forwarder/site-span-info Successful Response:
Example Response: { "logical_switch_id": "7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c", "remote_macs_per_site": [ { "rtep_group_id": 2001, "remote_site": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true }, "remote_mac_addresses": [ "02:00:17:00:12:D3", "02:00:17:00:13:13" ], "remote_active_ips": [ "10.10.10.1" ], "remote_standby_ips": [ "20.20.20.1" ] } ], "last_update_timestamp": 1457117071089 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get L2 forwarder statistics (Experimental)
Returns statistics of the l2 forwarder on logical switch.It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/inter-site-forwarder/statistics Successful Response:
Example Response: { "logical_switch_id": "7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c", "rx": { "total_bytes": 56646, "total_packets": 342, "dropped_packets": 103 }, "tx": { "total_bytes": 1125548, "total_packets": 2235, "dropped_packets": 0 }, "last_update_timestamp": 1457117071089 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get L2 forwarder status (Experimental) (Deprecated)
Returns status per transport node of the l2 forwarder on logical switch.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/inter-site-forwarder/status Successful Response:
Example Response: { "logical_switch_id": "7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c", "status_per_node": [ { "transport_node": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "Edge node 1", "is_valid": true }, "high_availability_status": "STANDBY" }, { "transport_node": { "target_id": "56eead22-3bb9-4586-8de3-9412941f9116", "target_display_name": "Edge node 2", "is_valid": true }, "high_availability_status": "ACTIVE" } ] "last_update_timestamp": 1457117071089 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Paginated list of BGP Neighbors on edge transport node
Paginated list of BGP Neighbors on edge transport node.Request:
Example Request: GET https://<nsx-mgr>/api/v1/transport-nodes/875381be-a4c5-4173-8aa7-ab71695a8129/inter-site/bgp/neighbors Successful Response:
Example Response: { "cursor": "0036640912b0-4820-46f0-b7c2-7a9e2cb57505neighbor2", "result_count": 2, "neighbors": [ { "id": "a9478c1d-d7ab-47c5-9e05-548920f4d88c", "display_name": "neighbor2", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "1.1.1.1", "keep_alive_timer": 60, "remote_as_num": "300", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true } ], "_last_modified_time": 1433948850593, "_create_time": 1433948850593, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 0 }, { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "display_name": "neighbor1", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "2.2.2.2", "keep_alive_timer": 60, "remote_as_num": "200", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, "in_filter_ipprefixlist_id" : "ad879413-dbc3-4952-b77d-28386c3a5363" } ], "_last_modified_time": 1433960878203, "_create_time": 1433949148014, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 4 } ] } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get BGP neighbor advertised routes on edge transport node
Returns routes advertised by BGP neighbor from the given edge transport node.It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/transport-nodes/875381be-a4c5-4173-8aa7-ab71695a8129/inter-site/bgp/neighbors/f8431964-f400-4da5-8c18-4ce4e6bd5fa5/advertised-routes Successful Response:
Example Response: { "logical_router_id": "4cca3156-bcc0-4c77-9a6a-141cb33a3844", "neighbor_address": "40.40.40.10", "per_transport_node_routes": [{ "transport_node_id": "6c9e2815-ad34-4b9c-bb95-8af87990cf5a", "source_address": "10.10.10.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }, { "transport_node_id": "7980e91e-ba6d-11e8-9bda-020009ead346", "source_address": "50.50.50.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }] } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get BGP neighbor learned routes on edge transport node
Returns routes learned by BGP neighbor from the given edge transport node.It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/transport-nodes/875381be-a4c5-4173-8aa7-ab71695a8129/inter-site/bgp/neighbors/f8431964-f400-4da5-8c18-4ce4e6bd5fa5/routes Successful Response:
Example Response: { "logical_router_id": "4cca3156-bcc0-4c77-9a6a-141cb33a3844", "neighbor_address": "40.40.40.10", "per_transport_node_routes": [{ "transport_node_id": "6c9e2815-ad34-4b9c-bb95-8af87990cf5a", "source_address": "10.10.10.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }, { "transport_node_id": "7980e91e-ba6d-11e8-9bda-020009ead346", "source_address": "50.50.50.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }] } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get inter-site BGP summary of edge node (Deprecated)
Returns BGP summary for all configured neighbors in tunnel VRFon the given egde node. It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/transport-nodes/875381be-a4c5-4173-8aa7-ab71695a8129/inter-site/bgp/summary Successful Response:
Example Response: { "transport_node_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "neighbor_status": [ { "source_address": "10.1.1.1", "neighbor_address": "10.1.2.1", "remote_as_number": "1", "remote_port": 179, "local_port": 179, "connection_state": "ESTABLISHED", "time_since_established": 45628, "messages_received": 12, "messages_sent": 10, "connection_drop_count": 0, "established_connection_count": 1, "hold_time": 180, "keep_alive_interval": 30, "graceful_restart": true, "graceful_restart_mode": "HELPER_ONLY", "total_in_prefix_count": 2, "total_out_prefix_count": 1, "address_families": [ { "type": "IPV4_UNICAST", "in_prefix_count": 2, "out_prefix_count": 1 } ], "remote_site": { "target_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "target_display_name": "PA Site", "is_valid": true } } ], "last_update_timestamp": 1457117071089 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get inter-site statistics of edge node
Returns RTEP to RTEP tunnel port statistics of the given edge node.It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/transport-nodes/875381be-a4c5-4173-8aa7-ab71695a8129/inter-site/statistics Successful Response:
Example Response: { "transport_node_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "stats_per_site": [ { "remote_site": { "target_id": "258c50b4-c960-4005-9023-f7946e302162", "target_display_name": "India Site", "is_valid": true }, "stats_per_tunnel": [ { "tunnel_source_address": "100.10.10.1", "tunnel_destination_address": "200.20.20.1", "rx": { "total_bytes": 1000, "total_packets": 100, "dropped_packets": 20 }, "tx": { "total_bytes": 2000, "total_packets": 300, "dropped_packets": 0 } }, { "tunnel_source_address": "300.30.30.1", "tunnel_destination_address": "400.40.40.1", "rx": { "total_bytes": 1500, "total_packets": 120, "dropped_packets": 50 }, "tx": { "total_bytes": 3000, "total_packets": 320, "dropped_packets": 10 } } ], "rx": { "total_bytes": 2500, "total_packets": 220, "dropped_packets": 70 }, "tx": { "total_bytes": 4500, "total_packets": 440, "dropped_packets": 60 } }, { "remote_site": { "target_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "target_display_name": "PA Site", "is_valid": true }, "stats_per_tunnel": [ { "tunnel_source_address": "100.10.10.1", "tunnel_destination_address": "200.20.20.1", "rx": { "total_bytes": 1000, "total_packets": 100, "dropped_packets": 20 }, "tx": { "total_bytes": 2000, "total_packets": 300, "dropped_packets": 0 } } ], "rx": { "total_bytes": 1000, "total_packets": 100, "dropped_packets": 20 }, "tx": { "total_bytes": 2000, "total_packets": 300, "dropped_packets": 0 } } ], "last_update_timestamp": 1457117071089 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Federation: Observability
Get monitoring info
Provides federation monitoring information, which includes allconfig flows originating from the site where API is invoked.
Request:
Example Request: GET https://<global-manager>/global-manager/api/v1/observability/flow-details GET https://<local-manager>/policy/api/v1/observability/flow-details Successful Response:
Example Response: On Global Manager { "monitoring_info": [{ "id": "rrrrrr-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"GM_TO_LM", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "gm2lm.transmitter.delta", "namespace": "ar-queues" }, { "max_size": 1000, "current_size": 200, "name": "gm2lm.receiver.delta", "namespace": "ar-queues" }, ], "cross_site_flow_info": { "status": "GOOD", "to_site_id": "36021bd5-9ebc-46e0-9d7a-5a4fa8bb3802", "to_site_path": "/global-infra/sites/Newyork", "from_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "from_site_path": "/global-infra/global-managers/LondonGM", "latency_millis": 123, "latency_measured_ts": 1590336614947, "last_full_sync": { "status": "COMPLETED", "id": "f6fda71a-d5f2-4000-8677-deaafd80641e", "reason_code": "10010", "reason": "Site onboarded", "stage": "COMPLETED", "data_streaming_from_source_progress": "Sending resources of type COMMUNICATION_MAP", "data_streaming_from_source_start_time": 1590335604947, "data_streaming_from_source_end_time": 1590336604947, "receiver_state": "COMPLETED", "receiver_start_time": 1590336614947, "receiver_end_time": 1590336714947, "start_time": 1590335604947, "end_time": 1590435604947, "errors": {}, "warnings": {} } } }, { "id": "asarrr-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"GM_TO_LM", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "gm2lm.transmitter.delta", "namespace": "ar-queues" }, { "max_size": 1000, "current_size": 200, "name": "gm2lm.receiver.delta", "namespace": "ar-queues" }, ], "cross_site_flow_info": { "status": "GOOD", "to_site_id": "aa021bd5-9ebc-46e0-9d7a-5a4fa8bb3111", "to_site_path": "/global-infra/sites/Paris", "from_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "from_site_path": "/global-infra/global-managers/LondonGM", "latency_millis": 123, "latency_measured_ts": 1590336614947, "last_full_sync": { "status": "COMPLETED", "id": "f6fda71a-d5f2-4000-8677-deaafd80641e", "reason_code": "10010", "reason": "Site onboarded", "stage": "COMPLETED", "data_streaming_from_source_progress": "Sending resources of type COMMUNICATION_MAP", "data_streaming_from_source_start_time": 1590335604947, "data_streaming_from_source_end_time": 1590336604947, "receiver_state": "COMPLETED", "receiver_start_time": 1590336614947, "receiver_end_time": 1590336714947, "start_time": 1590335604947, "end_time": 1590435604947, "errors": {}, "warnings": {} } } }, { "id": "rrbbr-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"LM_TO_GM", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "lm2gm.transmitter.delta", "namespace": "ar-queues" }, { "max_size": 1000, "current_size": 200, "name": "lm2gm.receiver.delta", "namespace": "ar-queues" }, ], "cross_site_flow_info": { "status": "GOOD", "to_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "to_site_path": "/global-infra/global-managers/LondonGM", "from_site_id": "aa021bd5-9ebc-46e0-9d7a-5a4fa8bb3111", "from_site_path": "/global-infra/sites/Paris", "latency_millis": 125 } }, { "id": "ca00-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"LM_TO_GM", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "lm2gm.transmitter.delta", "namespace": "ar-queues" }, { "max_size": 1000, "current_size": 200, "name": "lm2gm.receiver.delta", "namespace": "ar-queues" }, ], "cross_site_flow_info": { "status": "GOOD", "to_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "to_site_path": "/global-infra/global-managers/NewyorkGM", "from_site_id": "BB021bd5-9ebc-46e0-9d7a-5a4fa8bb3155", "from_site_path": "/global-infra/sites/Newyork", "latency_millis": 120 "latency_measured_ts": 1590336614947, } }, { "id": "cab10-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"GM_WORK_QUEUE", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "gm-work-queue", "namespace": "gm" } ] }, { "id": "dea0-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"GM_DELETE_QUEUE", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "gm-delete-queue-1", "namespace": "gm" } ] } ] } On Local Manager { "monitoring_info": [ { "id": "we11-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"GM_TO_LM", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "gm2lm.transmitter.delta", "namespace": "ar-queues" }, { "max_size": 1000, "current_size": 200, "name": "gm2lm.receiver.delta", "namespace": "ar-queues" }, ], "cross_site_flow_info": { "status": "GOOD", "to_site_id": "aa021bd5-9ebc-46e0-9d7a-5a4fa8bb3111", "to_site_path": "/global-infra/sites/Paris", "from_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "from_site_path": "/global-infra/global-managers/LondonGM", "latency_millis": 123, "latency_measured_ts": 1590336614947, "last_full_sync": { "status": "COMPLETED", "id": "f6fda71a-d5f2-4000-8677-deaafd80641e", "reason_code": "10010", "reason": "Site onboarded", "stage": "COMPLETED", "data_streaming_from_source_progress": "Sending resources of type COMMUNICATION_MAP", "data_streaming_from_source_start_time": 1590335604947, "data_streaming_from_source_end_time": 1590336604947, "receiver_state": "COMPLETED", "receiver_start_time": 1590336614947, "receiver_end_time": 1590336714947, "start_time": 1590335604947, "end_time": 1590435604947, "errors": {}, "warnings": {} } } }, { "id": "fg12-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"LM_TO_GM", "queue_info": [ { "max_size": 1000, "current_size": 100, "name": "lm2gm.transmitter.delta", "namespace": "ar-queues" }, { "max_size": 1000, "current_size": 200, "name": "lm2gm.receiver.delta", "namespace": "ar-queues" }, ], "cross_site_flow_info": { "status": "GOOD", "to_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "to_site_path": "/global-infra/global-managers/LondonGM", "from_site_id": "aa021bd5-9ebc-46e0-9d7a-5a4fa8bb3111", "from_site_path": "/global-infra/sites/Paris", "latency_millis": 125, "latency_measured_ts": 1590336614947, } }, { "id": "ff10-9ebc-46e0-9d7a-5a4fa8bb3802", "flow_type":"LM_TO_LM", "cross_site_flow_info": { "status": "GOOD", "to_site_id": "aa021bd5-9ebc-46e0-9d7a-5a4fa8bb3111", // To NewYork (LM doesn't have site paths) "from_site_id": "ececa019-3601-47dc-b92e-f21f52b34f6f", "latency_millis": 123, "latency_measured_ts": 1590336614947, } } ] } Required Permissions: Feature: site_admin Additional Errors:
Federation: Sites
Get site offboarding status.
Get site offboarding status. This API is only available when using VMware NSX-T. Request:Example Request: GET https://<policy>/policy/api/v1/infra/site/offboarding-status Successful Response:
Example Response: { "resource_type": "SiteOffBoardingState", "status": "INITIALIZE_INPROGRESS", "is_local": true, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: Feature: site_admin Additional Errors:
List Sites
List Sites under Infra.Request:
Example Request: GET https://<policy-mgr>/policy/api/v1/infra/sites Successful Response:
Example Response: { "result_count" : 3, "results" : [ { "resource_type": "Site", "id": "casablanca", "display_name": "Casablanca, Morocco Site", "description" : "Site managing call center workloads in North Africa", "path": "/infra/sites/casablanca", "parent_path": "/infra/sites/casablanca", "relative_path": "casablanca", "site_connection_info": [{ "fqdn": "10.192.201.163" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_mismatch_rteps": true "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 }, { "resource_type": "Site", "id": "tokyo", "display_name": "Tokyo, Japan Site", "description" : "Active Site managing production workloads in East Asia", "path": "/infra/sites/tokyo", "parent_path": "/infra/sites/tokyo", "relative_path": "tokyo", "site_connection_info": [{ "fqdn": "10.199.201.163" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_mismatch_rteps": true "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 }, { "resource_type": "Site", "id": "paris", "display_name": "Paris, France Site", "description" : "StandBy Site managing business workloads in Central Europe", "path": "/infra/sites/paris", "parent_path": "/infra/sites/paris", "relative_path": "paris", "site_connection_info": [{ "fqdn": "10.190.201.163" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_mismatch_rteps": true "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } ] } Required Permissions: Feature: site_admin Additional Errors:
Delete a site
Delete a site under Infra.Request:
Example Request: DELETE https://<policy-mgr>/policy/api/v1/infra/sites/Paris Successful Response:
Required Permissions: Feature: site_admin Additional Errors:
Read a site
Read a site under Infra.Request:
Example Request: GET https://<policy-mgr>/policy/api/v1/infra/sites/casablanca Successful Response:
Example Response: { "resource_type": "Site", "id": "casablanca", "display_name": "Casablanca, Morocco Site", "description" : "Site managing call center workloads in North Africa", "path": "/infra/sites/casablanca", "parent_path": "/infra/sites/casablanca", "relative_path": "casablanca", "site_connection_info": [{ "fqdn": "10.192.201.163" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_mismatch_rteps": true "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: Feature: site_admin Additional Errors:
Create or patch Site
Create or patch Site under Infra.Request:
Example Request: PATCH https://<policy-mgr>/policy/api/v1/infra/sites/Paris { "site_connection_info": [{ "fqdn": "10.192.201.163", "username": "admin", "password": "Admin!23Admin", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_rtep_misconfigured": true "display_name": "Paris, EU Site", "description" : "Site managing call center workloads in western Europe", } Successful Response:
Required Permissions: Feature: site_admin Additional Errors:
Create or fully replace a Site under infra
Create or fully replace a Site under Infra.Revision is optional for creation and required for update.
Request:
Example Request: PUT https://<policy-mgr>/policy/api/v1/infra/sites/Paris { "site_connection_info": [{ "fqdn": "10.192.201.163", "username": "admin", "password": "Admin!23Admin", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_rtep_misconfigured": true "display_name": "Paris, EU Site", "description" : "Site managing call center workloads in western Europe", "_revision" : 1 } Successful Response:
Example Response: { "resource_type": "Site", "id": "Paris", "display_name": "Paris, EU Site", "description" : "Site managing call center workloads in western Europe", "path": "/infra/sites/Paris", "parent_path": "/infra/sites/Paris", "relative_path": "Paris", "site_connection_info": [{ "fqdn": "10.192.201.163" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_rtep_misconfigured": true "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: Feature: site_admin Additional Errors:
Returns the certificate of the listener
Connects to the given IP and port, and, if an SSL listener is present, returnsthe certificate of the listener.
Intent of this API is "Do you trust this certificate?".
Request:
Example Request: POST https://<policy-mgr>/global-policy/api/v1/infra/sites/listener_certificate?address=10.22.122.7&port=443 Successful Response:
Example Response: { "result": "SUCCESS", "certificate": { "issuer_cn": "vSM Test Certificate", "public_key_length": 1024, "signature": "4e cf ff 36 ac a1", "not_before": 1323772715000, "subject": "1.2.840.113549.1.9.1=#16076140622e636f6d,CN=vSM Test Certificate,OU=vShield,O=VMware,L=Pune,ST=Maharashtra,C=IN", "serial_number": "ca55f5e21a0b2dd2", "public_key_algo": "RSA", "version": "1", "issuer": "1.2.840.113549.1.9.1=#16076140622e636f6d,CN=vSM Test Certificate,OU=vShield,O=VMware,L=Pune,ST=Maharashtra,C=IN", "is_ca": false, "subject_cn": "vSM Test Certificate", "not_after": 1355308715000, "is_valid": false, "rsa_public_key_exponent": "10001", "signature_algorithm": "SHA1WITHRSA", "rsa_public_key_modulus": "00 b7 8f 79 e4" }, "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" } Required Permissions: Feature: site_admin Additional Errors:
Get span for an entity with specified path
Get span for an entity with specified path. This API is only available when using VMware NSX-T. Request:Example Request: GET https://<global-manager>/global-manager/api/v1/global-infra/span?intent_path=/global-infra/tier-0s/t0 Successful Response:
Example Response: { "resource_type": "SPAN", "span_resource_type": "PROVIDER", "span_resource": "/global-infra/tier-0s/t0", "span_leader": "/global-infra/tier-0s/t0", "site_ids": [ "51a1294a-b1d5-40a9-a382-2b1aeb62c41a", "3d497d3f-2f9a-4983-9db0-d1f5f7cbc3d0" ], "marked_for_delete": false, "overridden": false } Required Permissions: Feature: site_admin Additional Errors:
Management Plane API
Management Plane API: Associations
Get ResourceReference objects to which the given resource belongs to
Returns information about resources that are associated with the givenresource. Id and type of the resource for which associated resources are
to be fetched are to be specified as query parameter in the URI. Resource
type of the associated resources must be specified as query
parameter.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/associations?resource_id= bf250578-c0a5-4ca0-b237-0375966d23ce&resource_type=MACSet&associated_resource_type=NSGroup Successful Response:
Example Response: { "sort_by": "displayName", "sort_ascending": true, "result_count": 1, "results": [ { "target_type": "NSGroup", "target_display_name": "testNSGroup", "target_id": "4f3ba7e3-4876-45ef-882a-34bdcb1a1ac8" } ] } Required Permissions: Feature: groups_groups Additional Errors:
Management Plane API: Grouping Objects
Management Plane API: Grouping Objects: IP Sets
List IPSets
Returns paginated list of IPSetsRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ip-sets Successful Response:
Example Response: { "sort_by": "displayName", "sort_ascending": true, "result_count": 1, "results": [ { "id": "96ebbc9f-6eae-4009-b709-532820dbba2a", "display_name": "testIPSet", "resource_type": "IPSet", "ip_addresses": [ "192.168.1.1-192.168.1.6", "192.168.1.8", "192.168.4.8/24" ], "_last_modified_user": "a;a", "_last_modified_time": 1439879046475, "_create_time": 1439879046475, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } ] } Required Permissions: Feature: groups_ip_sets Additional Errors:
Delete IPSet
Deletes the specified IPSet. By default, if the IPSet is added to anNSGroup, it won't be deleted. In such situations, pass "force=true" as
query param to force delete the IPSet.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/ip-sets/22dc1d1a-adcb-4c58-874e-6e783df02790 DELETE https://<nsx-mgr>/api/v1/ip-sets/22dc1d1a-adcb-4c58-874e-6e783df02790 ?force=true Successful Response:
Required Permissions: Feature: groups_ip_sets Additional Errors:
Read IPSet
Returns information about the specified IPSetRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ip-sets/2ffea46a-b537-4d71-98f5-6fedb7f3c28b Successful Response:
Example Response: { "id": "2ffea46a-b537-4d71-98f5-6fedb7f3c28b", "display_name": "testIPSet", "resource_type": "IPSet", "ip_addresses": [ "192.168.1.1-192.168.1.6", "192.168.1.8", "192.168.4.8/24" ], "_last_modified_user": "a;a", "_last_modified_time": 1439892910866, "_create_time": 1439892910866, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } Required Permissions: Feature: groups_ip_sets Additional Errors:
Add a IP address to a IPSet
Add/Remove an individual IP address to an IPSetRequest:
Example Request: POST https://<nsx-mgr>/api/v1/ip-sets/183e372b-854c-4fcc-a24e-05721ce89a60?action=add_ip { "ip_address":"192.23.243.1" } example_response: | { "ip_address": "192.23.243.1", "_revision": 2 } POST https://<nsx-mgr>/api/v1/ip-sets/183e372b-854c-4fcc-a24e-05721ce89a60?action=remove_ip { "ip_address":"192.23.243.1" } example_response: | { "ip_address": "192.23.243.1", "_revision": 2 } Successful Response:
Required Permissions: Feature: groups_ip_sets Additional Errors:
Update IPSet
Updates the specified IPSet. Modifiable parameters include description,display_name and ip_addresses.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/ip-sets/e8102843-dc86-47d4-903f-5911ea48deb7 { "resource_type": "IPSet", "display_name": "West Customers", "ip_addresses": [ "192.168.1.1-192.168.1.6", "192.168.1.0/24", "192.168.4.0/24" ], "_revision": 0 } Successful Response:
Example Response: { "resource_type": "IPSet", "id": "e8102843-dc86-47d4-903f-5911ea48deb7", "display_name": "West Customers", "ip_addresses": [ "192.168.1.1-192.168.1.6", "192.168.1.0/24", "192.168.4.0/24" ], "_last_modified_time": 1458326830542, "_create_time": 1458326554714, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: groups_ip_sets Additional Errors:
Get all IPAddresses in a IPSet
List all IP addresses in a IPSetRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ip-sets/183e372b-854c-4fcc-a24e-05721ce89a60/members Successful Response:
Example Response: { "result_count": 4, "results": [ { "ip_address": "12.234.21.231" }, { "ip_address": "10.192.23.11" }, { "ip_address": "10.11.123.21" }, { "ip_address": "23.12.32.11" } ] } Required Permissions: Feature: groups_ip_sets Additional Errors:
Create MACSet
Creates a new MACSet that can group individual MAC addresses.Request:
Example Request: POST https://<nsx-mgr>/api/v1/mac-sets { "display_name":"testMACSet", "mac_addresses":["01:23:45:67:89:ab","00:14:22:01:23:45"] } Successful Response:
Example Response: { "resource_type": "MACSet", "id": "c20eb62d-9ff1-4d64-8506-134e603e01f9", "display_name": "testMACSet", "mac_addresses": [ "01:23:45:67:89:AB", "00:14:22:01:23:45" ], "_last_modified_time": 1458327532700, "_create_time": 1458327532700, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: groups_mac_sets Additional Errors:
Management Plane API: Grouping Objects: MAC Sets
List MACSets
Returns paginated list of MACSetsRequest:
Example Request: GET https://<nsx-mgr>/api/v1/mac-sets Successful Response:
Example Response: { "cursor": "003602cf0d81-4c1c-45fb-87b3-fb52ec89a8a4test-mac-set", "result_count": 1, "results": [ { "resource_type": "MACSet", "id": "02cf0d81-4c1c-45fb-87b3-fb52ec89a8a4", "display_name": "test-mac-set", "mac_addresses": [ "01:23:45:67:89:AB", "00:14:22:01:23:45", "01:66:48:21:97:AC", "00:57:82:44:12:99" ], "_create_time": 1454015311172, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1454015311172, "_create_user": "admin", "_revision": 0 } ] } Required Permissions: Feature: groups_mac_sets Additional Errors:
Read MACSet
Returns information about the specified MACSetRequest:
Example Request: GET https://<nsx-mgr>/api/v1/mac-sets/183e372b-854c-4fcc-a24e-05721ce89a60 Successful Response:
Example Response: { "_revision": 0, "id": "183e372b-854c-4fcc-a24e-05721ce89a60", "display_name":"testMACSet", "resource_type": "MACSet", "mac_addresses":["01:23:45:67:89:ab","00:14:22:01:23:45"], "_create_user": "system", "_last_modified_user": "system", "_last_modified_time": 1414057732203, "_create_time": 1414057732203 } Required Permissions: Feature: groups_mac_sets Additional Errors:
Delete MACSet
Deletes the specified MACSet. By default, if the MACSet is added to anNSGroup, it won't be deleted. In such situations, pass "force=true" as
query param to force delete the MACSet.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/mac-sets/183e372b-854c-4fcc-a24e-05721ce89a60 DELETE https://<nsx-mgr>/api/v1/mac-sets/183e372b-854c-4fcc-a24e-05721ce89a60 ?force=true Successful Response:
Required Permissions: Feature: groups_mac_sets Additional Errors:
Update MACSet
Updates the specified MACSet. Modifiable parameters include thedescription, display_name and mac_addresses.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/mac-sets/d95da628-8677-4d26-b593-76b51c6439c2 { "resource_type": "MACSet", "display_name": "Lab A MACs", "mac_addresses": [ "01:23:45:67:89:AB", "00:14:22:01:23:45" ], "_revision": 0 } Successful Response:
Example Response: { "resource_type": "MACSet", "id": "d95da628-8677-4d26-b593-76b51c6439c2", "display_name": "Lab A MACs", "mac_addresses": [ "01:23:45:67:89:AB", "00:14:22:01:23:45" ], "_last_modified_time": 1458327141731, "_create_time": 1458167290173, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: groups_mac_sets Additional Errors:
Add a MAC address to a MACSet
Add an individual MAC address to a MACSetRequest:
Example Request: POST https://<nsx-mgr>/api/v1/mac-sets/183e372b-854c-4fcc-a24e-05721ce89a60/members { "mac_address":"01:23:45:67:89:ab" } Successful Response:
Example Response: { "mac_address": "01:23:45:67:89:AB", "_revision": 2 } Required Permissions: Feature: groups_mac_sets Additional Errors:
Get all MACAddresses in a MACSet
List all MAC addresses in a MACSetRequest:
Example Request: GET https://<nsx-mgr>/api/v1/mac-sets/183e372b-854c-4fcc-a24e-05721ce89a60/members Successful Response:
Example Response: { "result_count": 4, "results": [ { "mac_address": "01:23:45:67:89:AB" }, { "mac_address": "00:14:22:01:23:45" }, { "mac_address": "01:66:48:21:97:AC" }, { "mac_address": "00:57:82:44:12:99" } ] } Required Permissions: Feature: groups_mac_sets Additional Errors:
Remove a MAC address from given MACSet
Remove an individual MAC address from a MACSetRequest:
Example Request: DELETE https://<nsx-mgr>/api/v1/mac-sets/183e372b-854c-4fcc-a24e-05721ce89a60/members/01:23:45:67:89:ab Successful Response:
Required Permissions: Feature: groups_mac_sets Additional Errors:
Management Plane API: Grouping Objects: NS Groups
List NSGroups
List the NSGroups in a paginated format. The page size is restrictedto 50 NSGroups so that the size of the response remains small even
in the worst case.
Optionally, specify valid member types as request parameter to filter NSGroups.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/ ns-groups/ GET https://<nsx-mgr>/api/v1/ ns-groups?member_types=LogicalPort,LogicalSwitch,VirtualMachine Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 2, "results": [ { "resource_type": "NSGroup", "id": "71d33895-cebf-4ebe-bb84-5cd6f478cf44", "display_name": "NSGroup-1", "membership_criteria": [ { "resource_type": "NSGroupComplexExpression", "expressions": [ { "resource_type": "NSGroupTagExpression", "scope": "S1", "target_type": "LogicalSwitch", "tag": "T1", "scope_op": "EQUALS", "tag_op": "EQUALS" }, { "resource_type": "NSGroupTagExpression", "scope": "S2", "target_type": "LogicalSwitch", "tag": "T2", "scope_op": "EQUALS", "tag_op": "EQUALS" } ] } ], "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_resource": { "is_valid": true }, "target_type": "LogicalPort", "value": "8a042cca-ea22-4592-a816-c0365acd8a1a", "target_property": "id" } ], "member_count": 1, "_create_user": "admin", "_create_time": 1500424817903, "_last_modified_user": "admin", "_last_modified_time": 1500482503554, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 }, { "resource_type": "NSGroup", "id": "b350f55a-efb4-4040-a356-cc8438744e59", "display_name": "NSGroup-2", "membership_criteria": [ { "resource_type": "NSGroupTagExpression", "scope": "S1", "target_type": "LogicalSwitch", "tag": "T1", "scope_op": "EQUALS", "tag_op": "EQUALS" }, { "resource_type": "NSGroupTagExpression", "scope": "S2", "target_type": "LogicalSwitch", "tag": "T2", "scope_op": "EQUALS", "tag_op": "EQUALS" } ], "_create_user": "admin", "_create_time": 1500424859142, "_last_modified_user": "admin", "_last_modified_time": 1500424859148, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ] } { "sort_ascending": true, "sort_by": "displayName", "result_count": 1, "results": [ { "resource_type": "NSGroup", "id": "a21f8e31-52e9-4790-9574-0c5f52f24096", "display_name": "test-ns-group-4", "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_resource": { "target_display_name": "test-ipset-1", "is_valid": true, "target_type": "IPSet", "target_id": "8c0ab37c-c8db-4d69-99c9-21b6762a86f6" }, "target_type": "IPSet", "value": "8c0ab37c-c8db-4d69-99c9-21b6762a86f6", "target_property": "id" } ], "membership_criteria": [ {"resource_type": "NSGroupComplexExpression", "expressions" : [ { "resource_type" :"NSGroupTagExpression", "target_type": "LogicalPort", "scope": "S1", "tag": "T1" }, { "resource_type" : "NSGroupTagExpression", "target_type": "LogicalPort", "scope": "S2", "tag": "T2" } ] }, { "resource_type" : "NSGroupTagExpression", "target_type": "LogicalSwitch", "scope": "S3", "tag": "T3" } ] } ], "_create_user": "admin", "_create_time": 1445584267531, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1445584267531, "_revision": 0 } ] } Required Permissions: Feature: groups_groups Additional Errors:
Create NSGroup
Creates a new NSGroup that can group NSX resources - VIFs, Lportsand LSwitches as well as the grouping objects - IPSet, MACSet and other
NSGroups.
For NSGroups containing VM criteria(both static and dynamic), system VMs will
not be included as members. This filter applies at VM level only.
Exceptions are as follows:
1. LogicalPorts and VNI of System VMs will be included in NSGroup if the criteria
is based on LogicalPort, LogicalSwitch or VNI directly.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/ns-groups { "display_name":"testNSGroup", "members":[ { "resource_type": "NSGroupSimpleExpression", "target_type": "IPSet", "target_property": "id", "op": "EQUALS", "value": "183e372b-854c-4fcc-a24e-05721ce89a60" } ], "membership_criteria": [ { "resource_type": "NSGroupComplexExpression", "expressions": [ { "resource_type": "NSGroupTagExpression", "target_type": "LogicalPort", "scope": "S1", "tag": "T1" }, { "resource_type": "NSGroupTagExpression", "target_type": "LogicalPort", "scope": "S2", "tag": "T2" } ] }, { "resource_type": "NSGroupTagExpression", "target_type": "LogicalSwitch", "scope": "S1", "tag": "T1" } ] } Successful Response:
Required Permissions: Feature: groups_groups Additional Errors:
Add NSGroup expression
Add/remove the expressions passed in the request body to/from the NSGroupRequest:
Example Request: POST https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60?action=ADD_MEMBERS { "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_type": "IPSet", "value": "cd1b2ced-3d2c-4145-b54a-bf613c090aa", "target_property": "id" } ] } POST https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60?action=REMOVE_MEMBERS { "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_type": "IPSet", "value": "cd1b2ced-3d2c-4145-b54a-bf613c090aa", "target_property": "id" } ] } Successful Response:
Required Permissions: Feature: groups_groups Additional Errors:
Update NSGroup
Updates the specified NSGroup. Modifiable parameters include thedescription, display_name and members.
For NSGroups containing VM criteria(both static and dynamic), system VMs will
not be included as members. This filter applies at VM level only.
Exceptions are as follows.
1. LogicalPorts and VNI of system VMs will be included in NSGroup if the criteria
is based on LogicalPort, LogicalSwitch or VNI directly.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60 { "resource_type": "NSGroup", "id": "71d33895-cebf-4ebe-bb84-5cd6f478cf44", "display_name": "NSGroup-1", "membership_criteria": [ { "resource_type": "NSGroupComplexExpression", "expressions": [ { "resource_type": "NSGroupTagExpression", "scope": "S1", "target_type": "LogicalSwitch", "tag": "T1", "scope_op": "EQUALS", "tag_op": "EQUALS" }, { "resource_type": "NSGroupTagExpression", "scope": "S2", "target_type": "LogicalSwitch", "tag": "T2", "scope_op": "EQUALS", "tag_op": "EQUALS" } ] } ], "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_resource": { "is_valid": true }, "target_type": "LogicalPort", "value": "8a042cca-ea22-4592-a816-c0365acd8a1a", "target_property": "id" } ], "member_count": 1, "_create_user": "admin", "_create_time": 1500424817903, "_last_modified_user": "admin", "_last_modified_time": 1500482503554, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Successful Response:
Required Permissions: Feature: groups_groups Additional Errors:
Delete NSGroup
Deletes the specified NSGroup. By default, if the NSGroup is added toanother NSGroup, it won't be deleted. In such situations, pass
"force=true" as query param to force delete the NSGroup.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60 DELETE https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60?force=true Successful Response:
Required Permissions: Feature: groups_groups Additional Errors:
Read NSGroup
Returns information about the specified NSGroup.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60 Successful Response:
Example Response: { "resource_type": "NSGroup", "id": "71d33895-cebf-4ebe-bb84-5cd6f478cf44", "display_name": "NSGroup-1", "membership_criteria": [ { "resource_type": "NSGroupComplexExpression", "expressions": [ { "resource_type": "NSGroupTagExpression", "scope": "S1", "target_type": "LogicalSwitch", "tag": "T1", "scope_op": "EQUALS", "tag_op": "EQUALS" }, { "resource_type": "NSGroupTagExpression", "scope": "S2", "target_type": "LogicalSwitch", "tag": "T2", "scope_op": "EQUALS", "tag_op": "EQUALS" } ] } ], "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_resource": { "is_valid": true }, "target_type": "LogicalPort", "value": "8a042cca-ea22-4592-a816-c0365acd8a1a", "target_property": "id" } ], "member_count": 1, "_create_user": "admin", "_create_time": 1500424817903, "_last_modified_user": "admin", "_last_modified_time": 1500482503554, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } { "resource_type": "NSGroup", "id": "a21f8e31-52e9-4790-9574-0c5f52f24096", "display_name": "test-ns-group-4", "members": [ { "resource_type": "NSGroupSimpleExpression", "op": "EQUALS", "target_resource": { "target_display_name": "test-ipset-1", "is_valid": true, "target_type": "IPSet", "target_id": "8c0ab37c-c8db-4d69-99c9-21b6762a86f6" }, "target_type": "IPSet", "value": "8c0ab37c-c8db-4d69-99c9-21b6762a86f6", "target_property": "id" } ], "membership_criteria": [ {"resource_type": "NSGroupComplexExpression", "expressions" : [ { "resource_type" :"NSGroupTagExpression", "target_type": "LogicalPort", "scope": "S1", "tag": "T1" }, { "resource_type" : "NSGroupTagExpression", "target_type": "LogicalPort", "scope": "S2", "tag": "T2" } ] }, { "resource_type" : "NSGroupTagExpression", "target_type": "LogicalSwitch", "scope": "S3", "tag": "T3" } ], "_create_user": "admin", "_create_time": 1445584267531, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1445584267531, "_revision": 0 } Required Permissions: Feature: groups_groups Additional Errors:
Get consolidated Effective IPAddress translated from the NSGroup
Returns consolidated effective ip address members of the specified NSGroup.Applicable in case of federated environment. The response contains site-wise list of
consolidated effective IP address members. In the response, for the local-site, the
list will contain static and dynamicaly translated IPs. For the remote sites,
the list will contain only the dynamically translated IPs. The static IPs will not be
seen in the response of this API. Hence, user can refer to the local-site Ip response
in the API results or the group definition to see the static IP membership of the Group.
This API is applicable only for NSGroups containing either
VirtualMachine, VIF, LogicalSwitch, LogicalPort or IPSet member type.
For NSGroups containing other member types,it returns an empty list.
Use the cursor value in the response to fetch the next page.
If there is no cursor value for a response, it implies the last page in the results
for the query.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/ns-groups/0c963c9d-eea8-4180-b6f3-93385fa497ca/consolidated-effective-ip-address-members Successful Response:
Example Response: { "results": [ { "site_id": "e977e929-255e-41c0-a938-a35d12f860ee", "effective_ips": [ "10.160.8.45", "10.160.16.77" ] }, { "site_id": "210d7017-5dca-4901-bfcc-c63928215160", "effective_ips": [ "10.160.10.118", "10.160.27.172" ] }, { "site_id": "fa8be70f-b592-4cb1-add9-b89ccdfd3ee3", "effective_ips": [ "25.1.1.1", "25.1.1.2/31", "25.1.1.10", "10.160.15.134", "fd34:fe56:7891:2f3a:0:0:0:0/64", "25.1.1.8/31", "10.160.26.223", "fd01:0:101:2600:20c:29ff:fe23:eef3", "25.1.1.4/30", "20.1.1.1/28", "10.112.10.1" ] } ], "cursor": "7806177147493" } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective Cloud Native Service Instances of the specified NSGroup.
Returns effective cloud native service instances of the specified NSGroup.This API is applicable only for NSGroups containing CloudNativeServiceInstance member type.
For NSGroups containing other member types,it returns an empty list. target_id in response
is external_id of CloudNativeServiceInstance
Request:
Successful Response:
Example Response: { "cursor" : "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "result_count" : 1, "results" : [ { "target_display_name" : "CNS-2", "target_id" : "420e72c9-55e7-a4f7-81bf-673a2af1a6cf" } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective Directory Groups of the specified NSGroup.
Returns effective directory groups which are members of the specified NSGroup.This API is applicable only for NSGroups containing DirectoryGroup member type.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor": "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "sort_ascending": true, "result_count": 2, "results": [ { "target_id" : "fcb51d1d-b141-4f5b-a0b9-1063a1470a63", "target_display_name" : "ADGroup1", "target_type" : "DirectoryGroup", }, { "id" : "3eecac54-15e7-4a0d-b418-001052fcfdcd", "display_name" : "ADGroup2", "target_type" : "DirectoryGroup" } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective IPAddress translated from the NSGroup
Returns effective ip address members of the specified NSGroup.This API is applicable only for NSGroups containing either
VirtualMachine, VIF, LogicalSwitch, LogicalPort or IPSet member type.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor": "00012", "sort_ascending": true, "result_count": 2, "results": [ "10.112.1.1", "10.112.1.2/24" ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective IPSets of the specified NSGroup.
Returns effective IPSets which are members of the specified NSGroup.This API is applicable only for NSGroups containing IPSet member type.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor": "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "sort_ascending": true, "result_count": 2, "results": [ { "target_id" : "fcb51d1d-b141-4f5b-a0b9-1063a1470a63", "target_display_name" : "IPSet1", "target_type" : "IPSet", }, { "id" : "3eecac54-15e7-4a0d-b418-001052fcfdcd", "display_name" : "IPSet2", "target_type" : "IPSet" } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective Logical Ports translated from the NSgroup
Returns effective logical port members of the specified NSGroup.This API is applicable only for NSGroups containing either VirtualMachines,
LogicalSwitch or LogicalPort member types.For NSGroups containing other
member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor": "00012", "sort_ascending": true, "result_count": 2, "results": [ { "target_id" : "20c1ac1f-58b5-4241-a352-f8e82c4a8c65", "target_display_name" : "LP-HR1", "target_type" : "LogicalPort", "is_valid": true }, { "target_id" : "c07005fe-4a9a-47f1-9a1e-2db65a285124", "target_display_name" : "LP-HR2", "target_type" : "LogicalPort" "is_valid": true } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective switch members translated from the NSGroup
Returns effective logical switch members of the specified NSGroup.This API is applicable for NSGroups containing LogicalSwitch members.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor": "00012", "sort_ascending": true, "result_count": 2, "results": [ { "target_id" : "20c1ac1f-58b5-4241-a352-f8e82c4a8c65", "target_display_name" : "LS-HR1", "target_type" : "LogicalSwitch" "is_valid": true }, { "target_id" : "c07005fe-4a9a-47f1-9a1e-2db65a285124", "target_display_name" : "LS-HR2", "target_type" : "LogicalSwitch" "is_valid": true } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective Physical Server Memebers of the specified NSGroup.
Returns effective physical server members of the specified NSGroup.This API is applicable only for NSGroups containing Physical Server member type.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor" : "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "result_count" : 1, "results" : [ { "target_display_name" : "PhysicalServer-1", "target_id" : "420e72c9-55e7-a4f7-81bf-673a2af1a6cf", } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get effective transport node members translated from the NSGroup
Returns effective transport node members of the specified NSGroup.This API is applicable only for NSGroups containing TransportNode member type.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "target_display_name", "result_count": 1, "results": [ { "target_id": "5327b241-7fdd-4d41-9e93-76e006b8a4c2", "target_display_name" : "TransportNode-1", "target_type": "TransportNode", "is_valid": true } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get effective VIF members translated from the NSGroup
Returns effective VIF members of the specified NSGroup.This API is applicable only for NSGroups containing either
VirtualMachines or VIF member type. For NSGroups containing other
member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor": "00012", "sort_ascending": true, "result_count": 1, "results": [ { "external_id": "7df47d56-cd7c-44b0-8291-aa83555ca2e8-4001", "lport_attachment_id": "8c7d1036-0b86-47b3-b808-663d0d382618" } ] ] } Required Permissions: Feature: groups_groups Additional Errors:
Get Effective Virtual Machine members of the specified NSGroup.
Returns effective virtual machine members of the specified NSGroup.This API is applicable only for NSGroups containing VirtualMachine member type.
For NSGroups containing other member types,it returns an empty list.
Request:
Successful Response:
Example Response: { "cursor" : "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "result_count" : 1, "results" : [ { "display_name" : "Iws-2", "resource_type" : "VirtualMachine", "local_id_on_host": "1", "external_id" : "420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "host_id" : "cf0ffd7a-818a-11e4-9ab1-cb7a79b0af39", "compute_ids" : [ "locationId:420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "instanceUuid:500e0c08-2ecc-2609-d9ba-ed489e48c787", "biosUuid:420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "externalId:420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "hostLocalId:1", "moIdOnHost:1" ], "tags" :[ { "Scope" : "S1" "Tag" : "T1" }, ] "type" : "REGULAR", "powerState" : "VM_RUNNING", } ] } Required Permissions: Feature: groups_groups Additional Errors:
Get member types from NSGroup
Returns member types for a specified NSGroup including child NSGroups.This considers static members and members added via membership criteria only
Request:
Example Request: GET https://<nsx-mgr>/api/v1/ ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60/member-types Successful Response:
Example Response: { "result_count": 3, "results": [ "IPSet", "LogicalPort", "LogicalSwitch" ] } Required Permissions: Feature: groups_groups Additional Errors:
Get services to which the given nsgroup belongs to
Returns information about services that are associated with the given NSGroup.The service name is passed by service_type parameter
Request:
Example Request: GET https://<nsx-mgr>/api/v1/ns-groups/bf250578-c0a5-4ca0-b237-0375966d23ce/service-associations?service_type=firewall&fetch_parentgroup_associations=true Successful Response:
Example Response: { "cursor": "003600000000-0000-0000-0000-0000000000022305843009213694015", "sort_by": "priority", "result_count": 2, "results": [ { "id": "111616", "display_name": "allow-icmp", "notes": "", "destinations_excluded": false, "destinations": [ { "target_display_name": "app-switch", "is_valid": true, "target_type": "NSgroup", "target_id": "1d9fb5cb-0344-4d7f-899a-afd93276899f" }, { "target_display_name": "web-switch", "is_valid": true, "target_type": "NSgroup", "target_id": "b489b427-9f14-401e-81db-d1105a1917fe" } ], "services": [ { "service": { "resource_type": "ICMPTypeNSService", "icmp_type": 8, "protocol": "ICMPv4", "icmp_code": 0 } } ], "ip_protocol": "IPV4_IPV6", "rule_tag": "", "logged": false, "action": "ALLOW", "sources_excluded": false, "disabled": false, "direction": "IN_OUT", "_revision": 3 }, { "id": "2", "display_name": "00000000-0000-0000-0000-000000000002", "notes": "", "destinations_excluded": false, "ip_protocol": "IPV4_IPV6", "rule_tag": "", "logged": false, "action": "ALLOW", "sources_excluded": false, "disabled": false, "direction": "IN_OUT", "_revision": 3 } ] } Required Permissions: Feature: services_services Additional Errors:
Get the list of all the virtual machines that are not a part of any existing NSGroup.
Get the list of all the virtual machines that are not a part of any existing NSGroup.Request:
Successful Response:
Example Response: { "cursor" : "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "result_count" : 1, "last_update_timestamp": 1488437880015 "results" : [ { "display_name" : "Iws-2", "resource_type" : "VirtualMachine", "local_id_on_host": "1", "external_id" : "420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "host_id" : "cf0ffd7a-818a-11e4-9ab1-cb7a79b0af39", "compute_ids" : [ "locationId:420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "instanceUuid:500e0c08-2ecc-2609-d9ba-ed489e48c787", "biosUuid:420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "externalId:420e72c9-55e7-a4f7-81bf-673a2af1a6cf", "hostLocalId:1", "moIdOnHost:1" ], "tags" :[ { "Scope" : "tenant", "Tag" : "Customer1" }, ] "type" : "REGULAR", "powerState" : "VM_RUNNING", } ] } Required Permissions: Feature: groups_groups Additional Errors:
Create NSProfile
Creates a new NSProfile which allows users to encapsulate attribute andsub-attributes of network services.
Rules for using attributes and sub-attributes in single NSProfile
1. One type of attribute can't have multiple occurrences. ( Example -
Attribute type APP_ID can be used only once per NSProfile.)
2. Values for an attribute are mentioned as array of strings.
( Example - For type APP_ID , values can be mentioned as ["SSL","FTP"].)
3. If sub-attribtes are mentioned for an attribute, then only single
value is allowed for that attribute.
4. To get a list of supported
attributes and sub-attributes fire the following REST API
GET https://<nsx-mgr>/api/v1/ns-profiles/attributes
Request:
Example Request: POST https://<nsx-mgr>/api/v1/ns-profiles { "resource_type":"NSProfile", "display_name":"MixedProfile", "description":"Test NS Profile", "nsprofile_attribute":[ { "attributes_data":{ "key":"APP_ID", "value":["SSL"], "datatype":"STRING" }, "sub_attributes":[ { "key":"TLS_VERSION", "value":["SSL_V3, TLS_V10"], "datatype":"STRING" }, { "key":"TLS_CIPHER_SUITE", "value":["TLS_RSA_EXPORT_WITH_RC4_40_MD5 , TLS_RSA_WITH_IDEA_CBC_SHA"], "datatype":"STRING" } ] }, { "attributes_data":{ "key":"DOMAIN_NAME", "value":["*.skype.com"], "datatype":"STRING" } } ] } Successful Response:
Required Permissions: Feature: groups_groups Additional Errors:
Management Plane API: Grouping Objects: NS Profiles
Create IPSet
Creates a new IPSet that can group either IPv4 or IPv6 individual ip addresses,ranges or subnets.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/ip-sets { "display_name":"testIPSet", "ip_addresses":["192.168.1.1-192.168.1.6","192.168.1.8","192.168.4.8/24"] } Successful Response:
Example Response: { "id": "96ebbc9f-6eae-4009-b709-532820dbba2a", "display_name": "testIPSet", "resource_type": "IPSet", "ip_addresses": [ "192.168.1.1-192.168.1.6", "192.168.1.8", "192.168.4.8/24" ], "_last_modified_user": "a;a", "_last_modified_time": 1439879046475, "_create_time": 1439879046475, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } Required Permissions: Feature: groups_ip_sets Additional Errors:
List NSProfiles
List the NSProfiles created in a paginated format.The page size is restrictedto 50 NSProfiles, so that the size of the response remains small even
when there are high number of NSProfiles with multiple attributes and
multiple attribute values for each attribute.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/ns-profiles GET https://<nsx-mgr>/api/v1/ns-profiles?attribute_type=APP_ID Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "NSProfile", "description": "Test NS Profile", "id": "56f40812-d617-4053-a07b-c91be36f1e15", "display_name": "MixedProfile", "nsprofile_attribute": [ { "attributes_data": { "datatype": "STRING", "value": [ "SSL" ], "key": "APP_ID" }, "sub_attributes": [ { "datatype": "STRING", "value": [ "SSL_V3", " TLS_V10" ], "key": "TLS_VERSION" }, { "datatype": "STRING", "value": [ "TLS_RSA_EXPORT_WITH_RC4_40_MD5 ", " TLS_RSA_WITH_IDEA_CBC_SHA" ], "key": "TLS_CIPHER_SUITE" } ] }, { "attributes_data": { "datatype": "STRING", "value": [ "*.skype.com" ], "key": "DOMAIN_NAME" } } ], "_create_user": "admin", "_create_time": 1537532908456, "_last_modified_user": "admin", "_last_modified_time": 1537532908456, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: Feature: groups_groups Additional Errors:
Update NSProfile
Updates the specified NSProfile.Rules for using attributes and sub-attributes in single NSProfile
1. One type of attribute can't have multiple occurrences. ( Example -
Attribute type APP_ID can be used only once per NSProfile.)
2. Values for an attribute are mentioned as array of strings.
( Example - For type APP_ID , values can be mentioned as ["SSL","FTP"].)
3. If sub-attribtes are mentioned for an attribute, then only single
value is allowed for that attribute.
4. To get a list of supported
attributes and sub-attributes fire the following REST API
GET https://<nsx-mgr>/api/v1/ns-profiles/attributes
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/ ns-profiles/183e372b-854c-4fcc-a24e-05721ce89a60 { "resource_type":"NSProfile", "display_name":"MixedProfile", "description":"Test NS Profile", "nsprofile_attribute":[ { "attributes_data":{ "key":"APP_ID", "value":["SSH"], "datatype":"STRING" } } ], "_revision": 0 } Successful Response:
Example Response: { "resource_type": "NSProfile", "description": "Test NS Profile", "id": "56f40812-d617-4053-a07b-c91be36f1e15", "display_name": "MixedProfile", "nsprofile_attribute": [ { "attributes_data": { "datatype": "STRING", "value": [ "SSH" ], "key": "APP_ID" } } ], "_create_user": "admin", "_create_time": 1537532908456, "_last_modified_user": "admin", "_last_modified_time": 1537534166578, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: Feature: groups_groups Additional Errors:
Read NSProfile
Returns information about the specified NSProfile.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ ns-profiles/ed5d47fc-3d90-461d-bc78-9be38cf2d1b9 Successful Response:
Example Response: { "resource_type": "NSProfile", "description": "Test NS Profile", "id": "56f40812-d617-4053-a07b-c91be36f1e15", "display_name": "MixedProfile", "nsprofile_attribute": [ { "attributes_data": { "datatype": "STRING", "value": [ "SSL" ], "key": "APP_ID" }, "sub_attributes": [ { "datatype": "STRING", "value": [ "SSL_V3", " TLS_V10" ], "key": "TLS_VERSION" }, { "datatype": "STRING", "value": [ "TLS_RSA_EXPORT_WITH_RC4_40_MD5 ", " TLS_RSA_WITH_IDEA_CBC_SHA" ], "key": "TLS_CIPHER_SUITE" } ] }, { "attributes_data": { "datatype": "STRING", "value": [ "*.skype.com" ], "key": "DOMAIN_NAME" } } ], "_create_user": "admin", "_create_time": 1537532908456, "_last_modified_user": "admin", "_last_modified_time": 1537532908456, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: Feature: groups_groups Additional Errors:
Delete NSProfile
Deletes the specified NSProfile. By default, if the NSProfile isconsumed in a Firewall rule, it won't get deleted. In such
situations, pass "force=true" as query param to force delete
the NSProfile.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/ ns-profiles/183e372b-854c-4fcc-a24e-05721ce89a60 DELETE https://<nsx-mgr>/api/v1/ ns-profiles/183e372b-854c-4fcc-a24e-05721ce89a60?force=true Successful Response:
Required Permissions: Feature: groups_groups Additional Errors:
List NSProfile supported attribute types
Returns supported attribute type strings for NSProfile.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ns-profiles/attribute-types Successful Response:
Example Response: { "attribute_types": [ "APP_ID", "DOMAIN_NAME" ] } Required Permissions: Feature: groups_groups Additional Errors:
List NSProfile supported attribute and sub-attributes
Returns supported attribute and sub-attributes for specifiedattribute type with their supported values, if provided in query/request
parameter, else will fetch all supported attribute and sub-attributes for
all supported attribute types.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/ns-profiles/attributes GET https://<nsx-mgr>/api/v1/ns-profiles /attributes?attribute_type=APP_ID Successful Response:
Example Response: { "result_count": 1, "results": [ { "attributes_data": { "datatype": "STRING", "value": [ "FTP" ], "key": "APP_ID" } }, { "attributes_data": { "datatype": "STRING", "value": [ "CIFS" ], "key": "APP_ID" }, "sub_attributes": [ { "datatype": "STRING", "value": [ "CIFS_SMB_V1" ], "key": "CIFS_SMB_VERSION" }, { "datatype": "STRING", "value": [ "CIFS_SMB_V2" ], "key": "CIFS_SMB_VERSION" } ] }, { "attributes_data": { "datatype": "STRING", "value": [ "outlook.office.com" ], "key": "DOMAIN_NAME" } } ] ...[output truncated for brevity] } Required Permissions: Feature: groups_groups Additional Errors:
Management Plane API: Grouping Objects: NS Service Groups
List all NSServiceGroups
Returns paginated list of NSServiceGroupsRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ns-service-groups Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 39, "results": [ { "resource_type": "NSServiceGroup", "description": "Data Recovery Appliance", "id": "6525a2c3-32a8-4560-84fd-0fe3482b845b", "display_name": "Data Recovery Appliance", "service_type": "NON_ETHER", "default_service": true, "members": [ { "target_display_name": "VMware-DataRecovery", "is_valid": true, "target_type": "NSService", "target_id": "37d6cc1d-4ceb-4802-8e20-e41556af7b59" }, { "target_display_name": "VMware-ESXi5.x-TCP", "is_valid": true, "target_type": "NSService", "target_id": "06c173a6-4067-4c98-a4db-62969cd59298" }, { "target_display_name": "HTTPS", "is_valid": true, "target_type": "NSService", "target_id": "3705b545-81b8-4c0f-b77a-fec77f6bf134" } ], "_last_modified_time": 1457468830239, "_create_time": 1457468830239, "_last_modified_user": "system", "_system_owned": true, "_create_user": "system", "_revision": 0 } ...[output truncated for brevity] Required Permissions: Feature: services_services Additional Errors:
Read NSServiceGroup
Returns information about the specified NSServiceGroupRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ns-service-groups/8525429d-1e5b-4846-9684-d57fe83f4ea8 Successful Response:
Example Response: { "id": "8525429d-1e5b-4846-9684-d57fe83f4ea8", "display_name": "testNSServiceGroup", "resource_type": "NSServiceGroup", "service_type": "ETHER", "members": [ { "target_type": "NSService", "target_display_name": "testNSService", "is_valid": true, "target_id": "8c669da6-47a4-4508-9077-6a48d26c5a4b" } ], "_create_user": "a;a", "_last_modified_user": "a;a", "_last_modified_time": 1439966963844, "_create_time": 1439966963844, "_system_owned": false, "_revision": 0 } Required Permissions: Feature: services_services Additional Errors:
Update NSServiceGroup
Updates the specified NSService. Modifiable parameters include the description,display_name and members.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/ns-service-groups/12dd0d9d-fac3-457e-ba91-8121aa67e3dd { "resource_type": "NSServiceGroup", "id": "12dd0d9d-fac3-457e-ba91-8121aa67e3dd", "display_name": "test", "service_type": "NON_ETHER", "default_service": false, "members": [ { "target_display_name": "Active Directory Server UDP", "is_valid": true, "target_type": "NSService", "target_id": "d0f1a6c1-9a61-49ef-bcbf-ed8213058361" } ], "_revision": 0 } Successful Response:
Example Response: { "resource_type": "NSServiceGroup", "id": "12dd0d9d-fac3-457e-ba91-8121aa67e3dd", "display_name": "test", "service_type": "NON_ETHER", "default_service": false, "members": [ { "target_display_name": "Active Directory Server UDP", "is_valid": true, "target_type": "NSService", "target_id": "d0f1a6c1-9a61-49ef-bcbf-ed8213058361" } ], "_create_time": 1457123992088, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457124154584, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: services_services Additional Errors:
Delete NSServiceGroup
Deletes the specified NSServiceGroup. By default, if the NSServiceGroup isconsumed in a Firewall rule, it won't get deleted. In such situations, pass
"force=true" as query param to force delete the NSServiceGroup.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/ns-service-groups/183e372b-854c-4fcc-a24e-05721ce89a60 DELETE https://<nsx-mgr>/api/v1/ns-service-groups/183e372b-854c-4fcc-a24e-05721ce89a60 ?force=true Successful Response:
Required Permissions: Feature: services_services Additional Errors:
Management Plane API: Grouping Objects: NS Services
Create NSServiceGroup
Creates a new NSServiceGroup which can contain NSServices.A given NSServiceGroup can contain either only ether type of NSServices
or only non-ether type of NSServices, i.e. an NSServiceGroup cannot
contain a mix of both ether and non-ether types of NSServices.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/ns-service-groups { "display_name":"testNSServiceGroup", "members":[{"target_id": "183e372b-854c-4fcc-a24e-05721ce89a61", "target_type": "NSService"}] } Successful Response:
Example Response: { "id": "8525429d-1e5b-4846-9684-d57fe83f4ea8", "display_name": "testNSServiceGroup", "resource_type": "NSServiceGroup", "service_type": "ETHER", "members": [ { "target_type": "NSService", "target_display_name": "testNSService", "is_valid": true, "target_id": "8c669da6-47a4-4508-9077-6a48d26c5a4b" } ], "_create_user": "a;a", "_last_modified_user": "a;a", "_last_modified_time": 1439966963844, "_create_time": 1439966963844, "_system_owned": false, "_revision": 0 } Required Permissions: Feature: services_services Additional Errors:
List all NSServices
Returns paginated list of NSServicesRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ns-services Successful Response:
Example Response: { "cursor": "0036a88532ec-5cfe-457a-9ca0-24673372d387iSQLPlus 10g (5580)", "sort_ascending": true, "sort_by": "displayName", "result_count": 364, "results": [ { "resource_type": "NSService", "description": "AD Server", "id": "ed5d47fc-3d90-461d-bc78-9be38cf2d1b9", "display_name": "AD Server", "default_service": true, "nsservice_element": { "resource_type": "L4PortSetNSService", "destination_ports": [ "1024" ], "l4_protocol": "TCP" }, "_create_time": 1455764626691, "_last_modified_user": "system", "_system_owned": true, "_last_modified_time": 1455764626691, "_create_user": "system", "_revision": 0 } ...[output truncated for brevity] Required Permissions: Feature: services_services Additional Errors:
Create NSService
Creates a new NSService which allows users to specify characteristics to usefor matching network traffic.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/ns-services # Ether type NSService { "display_name":"testNSService", "nsservice_element":{"ether_type": 5463, "resource_type": "EtherTypeNSService"} } # IPProtocol NSService { "display_name":"testNSService", "nsservice_element":{"protocol_number": 3, "resource_type": "IPProtocolNSService"} } # IGMP type NSService { "display_name":"testNSService", "nsservice_element":{"resource_type": "IGMPTypeNSService"} } # ICMP type NSService { "display_name":"testNSService", "nsservice_element":{"protocol": "ICMPv4", "icmp_code": 3, "icmp_type": 0, "resource_type": "ICMPTypeNSService"} } # ALG type NSService { "display_name":"testNSService", "nsservice_element":{"alg": "FTP", "destination_ports": [ "21" ], "resource_type": "ALGTypeNSService"} } # L4PortSet NSService { "display_name":"testNSService", "nsservice_element":{"l4_protocol": "TCP", "source_ports": [ "31-34" ], "destination_ports": [ "81-88", "96" ], "resource_type": "L4PortSetNSService"} } Successful Response:
Example Response: # Ether type NSService { "id": "8c669da6-47a4-4508-9077-6a48d26c5a4b", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "EtherTypeNSService", "ether_type": 5463 }, "_last_modified_user": "a;a", "_last_modified_time": 1439882177929, "_create_time": 1439882177929, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } # IPProtocol NSService { "id": "c4e164f8-914d-49ad-a7ff-8af6f5d7cbcb", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "IPProtocolNSService", "protocol_number": 3 }, "_last_modified_user": "a;a", "_last_modified_time": 1439883547301, "_create_time": 1439883547301, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } # IGMP type NSService { "id": "11d98458-c901-4e28-8393-81f8d84d3271", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "IGMPTypeNSService" }, "_last_modified_user": "a;a", "_last_modified_time": 1439883753153, "_create_time": 1439883753153, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } # ICMP type NSService { "id": "7cebfa0f-8021-417c-b087-f5eff9c69202", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "ICMPTypeNSService", "protocol": "ICMPv4", "icmp_code": 3, "icmp_type": 0 }, "_last_modified_user": "a;a", "_last_modified_time": 1439886066914, "_create_time": 1439886066914, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } # ALG type NSService { "id": "7e69a479-7c8e-4c4e-995c-95b6c7bbd701", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "ALGTypeNSService", "alg": "FTP", "destination_ports": [ "21" ] }, "_last_modified_user": "a;a", "_last_modified_time": 1439886283296, "_create_time": 1439886283296, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } # L4PortSet NSService { "id": "ea66a379-f007-4488-b9be-cbdd380e1e07", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "L4PortSetNSService", "destination_ports": [ "81-88", "96" ], "source_ports": [ "31-34" ], "l4_protocol": "TCP" }, "_last_modified_user": "a;a", "_last_modified_time": 1439886580319, "_create_time": 1439886580319, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } Required Permissions: Feature: services_services Additional Errors:
Delete NSService
Deletes the specified NSService. By default, if the NSService is beingreferred in an NSServiceGroup, it can't be deleted. In such situations,
pass "force=true" as a parameter to force delete the NSService. System
defined NSServices can't be deleted using "force" flag.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/ns-services/183e372b-854c-4fcc-a24e-05721ce89a60 Successful Response:
Required Permissions: Feature: services_services Additional Errors:
Update NSService
Updates the specified NSService. Modifiable parameters include the description,display_name and the NSService element. The system defined NSServices can't be
modified
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/ns-services/12dd0d9d-fac3-457e-ba91-8121aa67e3dd { "resource_type": "NSService", "display_name": "test", "nsservice_element": { "resource_type": "EtherTypeNSService", "ether_type": 33011 }, "_revision": 0 } Successful Response:
Example Response: { "resource_type": "NSService", "id": "1353063b-f5e1-42fa-88c3-16fe89d55361", "display_name": "test", "default_service": false, "nsservice_element": { "resource_type": "EtherTypeNSService", "ether_type": 33011 }, "_create_user": "admin", "_create_time": 1520406838970, "_last_modified_user": "admin", "_last_modified_time": 1520406866064, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: Feature: services_services Additional Errors:
Read NSService
Returns information about the specified NSServiceRequest:
Example Request: GET https://<nsx-mgr>/api/v1/ns-services/183e372b-854c-4fcc-a24e-05721ce89a60 Successful Response:
Example Response: { "id": "8c669da6-47a4-4508-9077-6a48d26c5a4b", "display_name": "testNSService", "resource_type": "NSService", "nsservice_element": { "resource_type": "EtherTypeNSService", "ether_type": 5463 }, "_last_modified_user": "a;a", "_last_modified_time": 1439882177929, "_create_time": 1439882177929, "_system_owned": false, "_create_user": "a;a", "_revision": 0 } Required Permissions: Feature: services_services Additional Errors:
Management Plane API: NSX Component Administration
Management Plane API: NSX Component Administration: Appliance Management
Read the Appliance Proxy service properties
Request:Successful Response:
Required Permissions: Feature: system_administration Additional Errors:
Read the Appliance Proxy service status
Request:Successful Response:
Required Permissions: Feature: system_administration Additional Errors:
Restart, start or stop the Appliance Proxy Service
Request:Successful Response:
Required Permissions: Feature: system_administration Additional Errors:
Management Plane API: Networking: Logical Bridging
Management Plane API: Networking: Logical Bridging: Bridge Endpoint Profiles
Create a Bridge Endpoint Profile
Creates a Bridge Endpoint Profile. Profile contains edge cluster id,indexes of the member nodes, fialover mode and high availability mode
for a Bridge EndPoint
Request:
Example Request: POST https://<nsx-mgr>/api/v1/bridge-endpoint-profiles { "display_name":"bep1", "description":"Bridge Endpoint Profile 1", "edge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "edge_cluster_member_indexes" : [0, 1], "failover_mode" : "PREEMPTIVE" } Successful Response:
Example Response: { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "bep1", "description" : "Bridge Endpoint Profile 1", "resource_type" : "BridgeEndpointProfile", "edge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "edge_cluster_member_indexes" : [0, 1], "failover_mode" : "PREEMPTIVE", "_last_modified_time" : 1442859704276, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 0 } Required Permissions: Feature: nodes_bridges Additional Errors:
List All Bridge Endpoint Profiles
Returns information about all configured bridge endoint profilesRequest:
Example Request: GET https://<nsx-mgr>/api/v1/bridge-endpoint-profiles Successful Response:
Example Response: { "cursor" : "", "result_count" : 2, "results" : [ { "id" : "229f1617-289d-488b-8648-17caf588fe53", "display_name" : "bep2", "description" : "Bridge Endpoint Profile 2", "resource_type" : "BridgeEndpointProfile", "edge_cluster_id" : "0f473f0f-b5a3-4a97-bf0f-d855163667e1", "edge_cluster_member_indexes" : [1, 2], "failover_mode" : "PREEMPTIVE", "_last_modified_time" : 1442859910756, "_create_time" : 1442859910756, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 0 }, { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "bep1-updated", "description" : "Updated Bridge Endpoint Profile 1", "resource_type" : "BridgeEndpointProfile", "edge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "edge_cluster_member_indexes" : [0, 1], "failover_mode" : "PREEMPTIVE", "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 } ] } Required Permissions: Feature: nodes_bridges Additional Errors:
Update a Bridge Endpoint Profile
Modifies a existing bridge endpoint profile.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/bridge-endpoint-profiles/3502cf40-630b-4ff6-864e-2af8acde2efd { "display_name":"bep1-updated", "description":"Updated Bridge Endpoint Profile 1", "edge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "failover_mode" : "PREEMPTIVE", "_revision" : 0 } Successful Response:
Example Response: { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "bep1-updated", "description" : "Updated Bridge Endpoint Profile 1", "resource_type" : "BridgeEndpoint", "edge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "edge_cluster_member_indexes" : [0, 1], "failover_mode" : "PREEMPTIVE", "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 } Required Permissions: Feature: nodes_bridges Additional Errors:
Get Information about a bridge endpoint Profile
Returns information about a specified bridge endpoint profile. Request:Example Request: GET https://<nsx-mgr>/api/v1/bridge-endpoint-profile/3502cf40-630b-4ff6-864e-2af8acde2efd Successful Response:
Example Response: { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "bep1-updated", "description" : "Updated Bridge Endpoint Profile 1", "resource_type" : "BridgeEndpointProfile", "edge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "edge_cluster_member_indexes" : [0, 1], "failover_mode" : "PREEMPTIVE", "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 } Required Permissions: Feature: nodes_bridges Additional Errors:
Delete a Bridge Endpoint Profile
Deletes the specified Bridge Endpoint Profile. Request:Example Request: DELETE https://<nsx-mgr>/api/v1/bridge-endpoint-profiles/3502cf40-630b-4ff6-864e-2af8acde2efd Successful Response:
Required Permissions: Feature: nodes_bridges Additional Errors:
Management Plane API: Networking: Logical Bridging: Bridge Endpoints
Create a Bridge Endpoint (Deprecated)
Creates a Bridge Endpoint. It describes the physical attributes of thebridge like vlan. A logical port can be attached to a vif providing
bridging functionality from the logical overlay network to the physical
vlan network
Request:
Example Request: POST https://<nsx-mgr>/api/v1/bridge-endpoints { "display_name":"be1", "description":"Bridge Endpoint 1", "vlan":1, "bridge_cluster_id":"07419c2e-3d0e-48af-b1d1-380ffb6f5943" } Successful Response:
Example Response: { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "be1", "description" : "Bridge Endpoint 1", "resource_type" : "BridgeEndpoint", "bridge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "ha_enable" : false, "vlan" : 1, "_last_modified_time" : 1442859704276, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 0 } Required Permissions: Feature: nodes_bridges Additional Errors:
List All Bridge Endpoints
Returns information about all configured bridge endointsRequest:
Example Request: GET https://<nsx-mgr>/api/v1/bridge-endpoints Successful Response:
Example Response: { "result_count" : 3, "results" : [ { "id" : "229f1617-289d-488b-8648-17caf588fe53", "display_name" : "be2", "description" : "Bridge Endpoint 2", "resource_type" : "BridgeEndpoint", "bridge_cluster_id" : "0f473f0f-b5a3-4a97-bf0f-d855163667e1", "ha_enable" : false, "vlan" : 1, "_last_modified_time" : 1442859910756, "_create_time" : 1442859910756, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 0 }, { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "be1-updated", "description" : "Updated Bridge Endpoint 1", "resource_type" : "BridgeEndpoint", "bridge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "ha_enable" : false, "vlan" : 1, "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 } , { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "be3-edge cluster", "description" : "Bridge Endpoint 3", "resource_type" : "BridgeEndpoint", "vlan" : 1, "bridge_endpoint_profile_id" : "98a73f0f-b5a3-4a97-bf0f-d8551636654a", "vlan_transport_zone_id" : "7ac73f0f-b5a3-4a97-bf0f-d85598a9eb45", "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 }] } Required Permissions: Feature: nodes_bridges Additional Errors:
Update a Bridge Endpoint (Deprecated)
Modifies a existing bridge endpoint.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/bridge-endpoints/3502cf40-630b-4ff6-864e-2af8acde2efd { "display_name":"be1-updated", "description":"Updated Bridge Endpoint 1", "vlan":1, "bridge_cluster_id":"07419c2e-3d0e-48af-b1d1-380ffb6f5943", "_revision" : 0 } Successful Response:
Example Response: { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "be1-updated", "description" : "Updated Bridge Endpoint 1", "resource_type" : "BridgeEndpoint", "bridge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "ha_enable" : false, "vlan" : 1, "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 } Required Permissions: Feature: nodes_bridges Additional Errors:
Delete a Bridge Endpoint (Deprecated)
Deletes the specified Bridge Endpoint. Request:Example Request: DELETE https://<nsx-mgr>/api/v1/bridge-endpoints/3502cf40-630b-4ff6-864e-2af8acde2efd Successful Response:
Required Permissions: Feature: nodes_bridges Additional Errors:
Get Information about a bridge endpoint
Returns information about a specified bridge endpoint. Request:Example Request: GET https://<nsx-mgr>/api/v1/bridge-endpoints/3502cf40-630b-4ff6-864e-2af8acde2efd Successful Response:
Example Response: { "id" : "3502cf40-630b-4ff6-864e-2af8acde2efd", "display_name" : "be1-updated", "description" : "Updated Bridge Endpoint 1", "resource_type" : "BridgeEndpoint", "bridge_cluster_id" : "07419c2e-3d0e-48af-b1d1-380ffb6f5943", "ha_enable" : false, "vlan" : 1, "_last_modified_time" : 1442859802286, "_create_time" : 1442859704276, "_system_owned" : false, "_create_user" : "admin", "_last_modified_user" : "admin", "_revision" : 1 } Required Permissions: Feature: nodes_bridges Additional Errors:
Returns statistics of a specified Bridge Endpoint
Get the statistics for the Bridge Endpoint of the given Endpoint id (endpoint-id) Request:Example Request: GET https://<nsx-mgr>/api/v1/bridge-endpoints/15269939-779a-4fa4-9a0a-792dbf9fac12/statistics Successful Response:
Example Response: { "tx_packets": { "total": 159, "dropped": 0, "multicast_broadcast": 0 }, "rx_bytes": { "total": 1028, "multicast_broadcast": 0 }, "tx_bytes": { "total": 10438, "multicast_broadcast": 0 }, "rx_packets": { "total": 11, "dropped": 0, "multicast_broadcast": 0 }, "last_update_timestamp": 1457518122686, "endpoint_id": "15269939-779a-4fa4-9a0a-792dbf9fac12" } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Returns status of a specified Bridge Endpoint
Get the status for the Bridge Endpoint of the given Endpoint id Request:Example Request: GET https://<nsx-mgr>/api/v1/bridge-endpoints/15269939-779a-4fa4-9a0a-792dbf9fac12/status Successful Response:
Example Response: { "active_nodes": [ "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3" ], "last_update_timestamp": 1457547568679, "endpoint_id": "15269939-779a-4fa4-9a0a-792dbf9fac12" } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Management Plane API: Networking: Logical Routing And Services
Management Plane API: Networking: Logical Routing And Services: BFD Peers
List static routes BFD Peers
Returns information about all BFD peers created on specified logical router for static routes.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d/routing/static-routes/bfd-peers Successful Response:
Example Response: { "result_count": 1, "results": [ { "id": "ab6e173e-ac03-5d09-8888-46a41779f633" "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 }, "_revision": 1 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Create a static hop BFD peer
Creates a BFD peer for static route. The required parameters includes peer IP address.Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d/routing/static-routes/bfd-peers { "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 } } Successful Response:
Content-type: application/json
Example Response: { "id": "ab6e173e-ac03-5d09-8888-46a41779f633", "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 }, "_create_time": 1460092633898, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1460092633898, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Read a static route BFD peer (Deprecated)
Read the BFD peer having specified ID.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d/routing/static-routes/bfd-peers/723c1e3e-c82c-4243-bba0-2e1ef4815143 Successful Response:
Example Response: { "id": "ab6e173e-ac03-5d09-8888-46a41779f633", "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 }, "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a specified static route BFD peer cofigured on a specified logical router (Deprecated)
Deletes the specified BFD peer present on specified logical router.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d/routing/static-routes/bfd-peers/ab6e173e-ac03-5d09-8888-46a41779f633 Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Update a static route BFD peer (Deprecated)
Modifies the static route BFD peer.Modifiable parameters includes peer IP, enable flag and configuration of the BFD peer.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d/routing/static-routes/bfd-peers/723c1e3e-c82c-4243-bba0-2e1ef4815143 { "id": "ab6e173e-ac03-5d09-8888-46a41779f633", "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 } } Successful Response:
Example Response: { "id": "ab6e173e-ac03-5d09-8888-46a41779f633", "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 }, "_revision": 43 } Required Permissions: Feature: routing_routers Additional Errors:
Management Plane API: Networking: Logical Routing And Services: Logical Router Ports
List Logical Router Ports (Deprecated)
Returns information about all logical router ports. Information includes theresource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort,
LogicalRouterLinkPort, LogicalRouterLoopbackPort, LogicalRouterCentralizedServicePort);
logical_router_id (the router to which each logical router port is assigned);
and any service_bindings (such as DHCP relay service).
The GET request can include a query parameter (logical_router_id
or logical_switch_id).
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports?logical_router_id=723c1e3e-c82c-4243-bba0-2e1ef4815143 Successful Response:
Example Response: { "cursor": "003681096324-23ba-408e-ae24-294a7ba07f60web-tier router", "result_count": 2, "results": [ { "resource_type": "LogicalRouterLinkPort", "_revision": 0, "id": "770ffb50-44f7-4d8c-a359-de0af1088932", "service_bindings": [ { "service_id": "dc5804f7-fdd9-4ef6-b5f8-80b1494ca183", "resource_type": "DhcpRelayService" } ] "logical_router_id": "b676dec7-5d78-4492-9b16-cb7cdcf65328", "_last_modified_user": "admin", "_last_modified_time": 1415746635953, "_create_time": 1415746635953, "_create_user": "admin" "resource_type": "LogicalRouterDownLinkPort", "id": "87db83ed-9a73-436b-91f1-a2a793ffaa31", "display_name": "app-tier router", "logical_router_id": "723c1e3e-c82c-4243-bba0-2e1ef4815143", "mac_address": "02:50:56:56:44:52", "linked_logical_switch_port_id": { "target_display_name": "5a3f8696-e7ed-4e01-9fa6-eba1db8d7371", "is_valid": true, "target_type": "LogicalPort", "target_id": "5a3f8696-e7ed-4e01-9fa6-eba1db8d7371" }, "subnets": [ { "ip_addresses": [ "172.16.20.1" ], "prefix_length": 24 } ], "_last_modified_time": 1457984402672, "_create_time": 1457984402672, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 }, { "resource_type": "LogicalRouterLinkPortOnTIER1", "description": "Port created on Tier-1 router for 'overlay-router'(ID: 723c1e3e-c82c-4243-bba0-2e1ef4815143)", "id": "6cafb2ac-27d1-415c-916a-b37e6b8a32e1", "display_name": "tier1 router link port", "logical_router_id": "723c1e3e-c82c-4243-bba0-2e1ef4815143", "mac_address": "02:50:56:00:00:04", "linked_logical_router_port_id": { "target_display_name": "tier0 router link port", "is_valid": true, "target_type": "LogicalRouterLinkPortOnTIER0", "target_id": "48f78319-00e4-47b1-b721-6c3d43df821c" }, "edge_cluster_member_index": [ 0 ], "subnets": [ { "ip_addresses": [ "100.126.240.1" ], "prefix_length": 31 } ], "_last_modified_time": 1457984951916, "_create_time": 1457984404360, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 1 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Create a Logical Router Port (Deprecated)
Creates a logical router port. The required parameters include resource_type(LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort,
LogicalRouterLoopbackPort, LogicalRouterCentralizedServicePort); and
logical_router_id (the router to which each logical router port is assigned).
The service_bindings parameter is optional.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-router-ports { "resource_type": "LogicalRouterDownLinkPort", "logical_router_id": "723c1e3e-c82c-4243-bba0-2e1ef4815143", "linked_logical_switch_port_id": { "target_type": "LogicalPort", "target_id": "18691381-b08f-4d90-8c0c-98d0e449b141" }, "subnets": [ { "ip_addresses": [ "172.16.40.1" ], "prefix_length": 24 } ] } Successful Response:
Content-type: application/json
Example Response: { "resource_type": "LogicalRouterLinkPort", "_revision": 0, "id": "4a0d8003-0958-4911-a32b-3a5a51f18d95", "logical_router_id": "7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c", "resource_type": "LogicalRouterDownLinkPort", "id": "b5ceef62-cc10-424a-96ed-8c2d5989cd50", "display_name": "b5ceef62-cc10-424a-96ed-8c2d5989cd50", "logical_router_id": "723c1e3e-c82c-4243-bba0-2e1ef4815143", "mac_address": "02:50:56:56:44:52", "linked_logical_switch_port_id": { "target_display_name": "db2-switch-to-t1-router", "is_valid": true, "target_type": "LogicalPort", "target_id": "18691381-b08f-4d90-8c0c-98d0e449b141" }, "subnets": [ { "ip_addresses": [ "172.16.40.1" ], "prefix_length": 24 } ], "_last_modified_time": 1458848284438, "_create_time": 1458848284438, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a Logical Router Port (Deprecated)
Deletes the specified logical router port. You must delete logical routerports before you can delete the associated logical router. To Delete Tier0
router link port you must have to delete attached tier1 router link port,
otherwise pass "force=true" as query param to force delete the Tier0
router link port.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-router-ports/258c50b4-c960-4005-9023-f7946e302162 DELETE http://<nsx-mgr>/api/v1/logical-router-ports/258c50b4-c960-4005-9023-f7946e302162?force=true Successful Response:
Example Response: None Required Permissions: Feature: routing_routers Additional Errors:
Update a Logical Router Port (Deprecated)
Modifies the specified logical router port. Required parameters include theresource_type and logical_router_id. Modifiable parameters include the
resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort,
LogicalRouterLinkPort, LogicalRouterLoopbackPort, LogicalRouterCentralizedServicePort),
logical_router_id (to reassign the port to a different router), and service_bindings.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-router-ports/258c50b4-c960-4005-9023-f7946e302162 { "resource_type": "LogicalRouterDownLinkPort", "id": "81096324-23ba-408e-ae24-294a7ba07f60", "display_name": "web-tier router", "logical_router_id": "723c1e3e-c82c-4243-bba0-2e1ef4815143", "mac_address": "02:50:56:56:44:52", "service_bindings": [ { "service_id": { "target_display_name": "DHCP Relay", "is_valid": true, "target_type": "LogicalService", "target_id": "fb5334a1-3c82-4d2b-8adf-65e52e09d2a1" } } ], "linked_logical_switch_port_id": { "target_display_name": "4630aadd-25d7-4c73-b03c-227ac314dfc4", "is_valid": true, "target_type": "LogicalPort", "target_id": "4630aadd-25d7-4c73-b03c-227ac314dfc4" }, "subnets": [ { "ip_addresses": [ "3001::1" ], "prefix_length": 64 } ], "ndra_prefix_config": [ { "network_prefix": { "3001::/64" }, "prefix_preferred_time": 2000, "prefix_valid_time": 5000 } ], "_revision": 2 } Successful Response:
Example Response: { "resource_type": "LogicalRouterUpLinkPort", "_revision": 3, "id": "258c50b4-c960-4005-9023-f7946e302162", "resource_type": "LogicalRouterDownLinkPort", "id": "81096324-23ba-408e-ae24-294a7ba07f60", "display_name": "web-tier router", "logical_router_id": "723c1e3e-c82c-4243-bba0-2e1ef4815143", "mac_address": "02:50:56:56:44:52", "service_bindings": [ { "service_id": { "target_display_name": "DHCP Relay", "is_valid": true, "target_type": "LogicalService", "target_id": "fb5334a1-3c82-4d2b-8adf-65e52e09d2a1" } } ], "linked_logical_switch_port_id": { "target_display_name": "4630aadd-25d7-4c73-b03c-227ac314dfc4", "is_valid": true, "target_type": "LogicalPort", "target_id": "4630aadd-25d7-4c73-b03c-227ac314dfc4" }, "subnets": [ { "ip_addresses": [ "3001::1", "3001::3bff:fe57:7d29" ], "prefix_length": 64 } ], "ndra_prefixtime_config": [ { "network_prefix": { "3001::/64" }, "prefix_preferred_time": 2000, "prefix_valid_time": 5000 } ], "_last_modified_time": 1458851284244, "_create_time": 1457984402461, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 3 } Required Permissions: Feature: routing_routers Additional Errors:
Read Logical Router Port (Deprecated)
Returns information about the specified logical router port. Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports/c84f70b4-7500-4087-bb2d-3f68f5a32060 Successful Response:
Example Response: { "resource_type": "LogicalRouterLinkPort", "_revision": 0, "id": "258c50b4-c960-4005-9023-f7946e302162", "logical_router_id": "7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c", "resource_type": "LogicalRouterUpLinkPort", "id": "c84f70b4-7500-4087-bb2d-3f68f5a32060", "display_name": "uplink for vlan-router", "logical_router_id": "7744a9f8-302d-4e80-a5d1-b7e556db9c19", "mac_address": "02:50:56:00:00:01", "linked_logical_switch_port_id": { "target_display_name": "b7f69e2c-f42f-4fee-9313-c486b35a6d41", "is_valid": true, "target_type": "LogicalPort", "target_id": "b7f69e2c-f42f-4fee-9313-c486b35a6d41" }, "edge_cluster_member_index": [ 0 ], "subnets": [ { "ip_addresses": [ "192.168.100.2" ], "prefix_length": 24 } ], "urpf_mode": "STRICT", "_last_modified_time": 1457984403882, "_create_time": 1457984403882, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Get the ARP table (IPv4) or Neighbor Discovery table (IPv6) for the Logical Router Port of the given id (Deprecated)
Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) for theLogical Router Port of the given id, on a node if a query parameter
"transport_node_id=<transport-node-id>" is given. The transport_node_id
parameter is mandatory if the router port is not uplink type.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports/9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf/arp-table?source=realtime&transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5 Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 3, "logical_router_port_id": "9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf", "results": [ { "mac_address": "00:50:56:8e:b4:21", "ip": "172.16.10.21" }, { "mac_address": "02:50:56:56:44:52", "ip": "172.16.10.1" }, { "mac_address": "00:50:56:8e:91:12", "ip": "172.16.10.11" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Get the ARP table (IPv4) or Neighbor Discovery table (IPv6) for the Logical Router Port of the given id (Deprecated)
Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) in CSV formatfor the Logical Router Port of the given id, on a node if a query
parameter "transport_node_id=<transport-node-id>" is given. The
transport_node_id parameter is mandatory if the router port is not uplink
type. Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports/b3f74ac8-0c83-4174-b3c3-6d120423290d/arp-table?source=realtime&transport_node_id=ebe174ac-e4f1-4135-ba72-3dd2eb7099e3&format=csv Successful Response:
Example Response: mac_address,ip 02:50:56:56:44:52,172.16.20.1 Required Permissions: Feature: routing_routers Additional Errors:
Get the Realized State of a Logical Router Port (Deprecated)
Return realized state information of a logical router port.Any configuration update that affects the logical router port 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 logical router ports,
dhcp relays, etc.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports/258c50b4-c960-4005-9023-f7946e302162/state Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: routing_routers Additional Errors:
Get the statistics of a specified logical router port on all or a specified node (Deprecated)
Returns the statistics for the Logical Router Port. If query parameter"transport_node_id=<transport-node-id>" is given, only the statistics
from the given node for the logical router port will be returned.
Otherwise the statistics from each node for the same logical router port
will be returned. The transport_node_id is mandatory if the router port
is not uplink type.
The query parameter "source=cached" will be ignored and it will always return
realtime statistics of the logical router port.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports/9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf/statistics?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5 Successful Response:
Example Response: { "logical_router_port_id": "9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf", "per_node_statistics": [ { "tx": { "dropped_packets": 0, "total_bytes": 1193822, "total_packets": 19695 }, "last_update_timestamp": 1457125914113, "rx": { "dropped_packets": 0, "total_bytes": 1492866, "total_packets": 24077 }, "transport_node_id": "f8431964-f400-4da5-8c18-4ce4e6bd5fa5" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Get the statistics summary of a specified logical router port (Deprecated)
Returns the summation of statistics from all nodes for the SpecifiedLogical Router Port.
The query parameter "source=realtime" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-router-ports/9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf/statistics/summary Successful Response:
Example Response: { "tx": { "dropped_packets": 10, "total_bytes": 12172280, "total_packets": 60789 }, "last_update_timestamp": 1457125987869, "rx": { "dropped_packets": 8535, "total_bytes": 2085660, "total_packets": 33952 }, "logical_router_port_id": "9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf" } Required Permissions: Feature: routing_routers Additional Errors:
Management Plane API: Networking: Logical Routing And Services: Logical Routers
List Logical Routers (Deprecated)
Returns information about all logical routers, including the UUID, internaland external transit network addresses, and the router type (TIER0 or
TIER1). You can get information for only TIER0 routers or only the TIER1
routers by including the router_type query parameter.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers?router_type=TIER0 Successful Response:
Example Response: { "cursor": "00364c87219e-7361-4fa4-9b4e-c612ed56f1fdtier-0", "result_count": 1, "results": [ { "resource_type": "LogicalRouter", "description": "", "id": "4c87219e-7361-4fa4-9b4e-c612ed56f1fd", "display_name": "tier-0", "tags": [], "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b", "advanced_config": { "external_transit_networks": [ "100.64.0.0/10" ], "internal_transit_network": "169.254.0.0/28" }, "allocation_profile": { "enable_standby_relocation": false } "router_type": "TIER0", "high_availability_mode": "ACTIVE_ACTIVE", "_last_modified_time": 1457505773124, "_create_time": 1457505741221, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 1 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Create a Logical Router (Deprecated)
Creates a logical router. The required parameters are router_type (TIER0 orTIER1) and edge_cluster_id (TIER0 only). Optional parameters include
internal and external transit network addresses.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers { "resource_type": "LogicalRouter", "description": "Router West", "display_name": "tier-0", "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b", "advanced_config": { "external_transit_networks": [ "100.64.1.0/10" ], "internal_transit_network": "169.254.0.0/28" }, "allocation_profile": { "enable_standby_relocation": false }, "router_type": "TIER0", "high_availability_mode": "ACTIVE_ACTIVE" } Successful Response:
Content-type: application/json
Example Response: { "resource_type": "LogicalRouter", "description": "Router West", "id": "88a3c980-c433-43f7-80b8-987c8f80d9e1", "display_name": "tier-0", "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b", "advanced_config": { "external_transit_networks": [ "100.64.0.0/10" ], "internal_transit_network": "169.254.0.0/28" }, "allocation_profile": { "enable_standby_relocation": false }, "router_type": "TIER0", "high_availability_mode": "ACTIVE_ACTIVE", "_last_modified_time": 1457550246853, "_create_time": 1457550246853, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Update a Logical Router (Deprecated)
Modifies the specified logical router. Modifiable attributes include theinternal_transit_network, external_transit_networks, and edge_cluster_id
(for TIER0 routers).
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d { "resource_type": "LogicalRouter", "description": "Router NortWest", "id": "88a3c980-c433-43f7-80b8-987c8f80d9e1", "display_name": "tier-0", "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b", "router_type": "TIER0", "high_availability_mode": "ACTIVE_ACTIVE", "_revision": 0 } Successful Response:
Example Response: { "resource_type": "LogicalRouter", "description": "Router NortWest", "id": "88a3c980-c433-43f7-80b8-987c8f80d9e1", "display_name": "tier-0", "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b", "advanced_config": { "external_transit_networks": [ "100.64.0.0/10" ], "internal_transit_network": "169.254.0.0/28" }, "router_type": "TIER0", "high_availability_mode": "ACTIVE_ACTIVE", "_last_modified_time": 1457551370133, "_create_time": 1457550246853, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a Logical Router (Deprecated)
Deletes the specified logical router. You must delete associated logicalrouter ports before you can delete a logical router. Otherwise use force
delete which will delete all related ports and other entities associated
with that LR. To force delete logical router pass force=true in query param.
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d DELETE https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d?force=true Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Read Logical Router (Deprecated)
Returns information about the specified logical router. Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/f962173f-ac03-4d08-8366-56a41779f61d Successful Response:
Example Response: { "_revision": 0, "id": "f962173f-ac03-4d08-8366-56a41779f61d", "resource_type": "LogicalRouter", "config": { "internal_transit_network": "169.0.0.0/28", "external_transit_networks": [ "100.64.1.0/24" ] }, "router_type": "TIER0", "_last_modified_user": "admin", "_last_modified_time": 1414620218840, "_create_time": 1414620218840, "_create_user": "admin" } Required Permissions: Feature: routing_routers Additional Errors:
Get BGP neighbor advertised routes (Deprecated)
Returns routes advertised by BGP neighbor from all edge transport nodes on whichthis neighbor is currently enabled. It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/bgp/neighbors/f8431964-f400-4da5-8c18-4ce4e6bd5fa5/advertised-routes Successful Response:
Example Response: { "logical_router_id": "4cca3156-bcc0-4c77-9a6a-141cb33a3844", "neighbor_address": "40.40.40.10", "per_transport_node_routes": [{ "transport_node_id": "6c9e2815-ad34-4b9c-bb95-8af87990cf5a", "source_address": "10.10.10.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }, { "transport_node_id": "7980e91e-ba6d-11e8-9bda-020009ead346", "source_address": "50.50.50.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }] } Required Permissions: Feature: routing_routers Additional Errors:
Get BGP neighbor advertised routes in CSV format (Deprecated)
Returns routes advertised by BGP neighbor from all edge transportnodes on which this neighbor is currently enabled in CSV format.
It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/bgp/neighbors/f8431964-f400-4da5-8c18-4ce4e6bd5fa5/advertised-routes?format=csv Successful Response:
Example Response: logical_router_id,neighbor_id,neighbor_address,transport_node_id,source_address,network,next_hop,local_pref,weight,med,as_path "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,2.1.4.0/24,40.40.40.10,100,0,1," 1000 !" "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,10.160.64.0/19,40.40.40.10,100,0,1," 1000 !" "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,40.40.40.0/24,40.40.40.10,100,0,1," 1000 !" "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,90.90.90.0/24,40.40.40.10,100,0,1," 1000 !" Required Permissions: Feature: routing_routers Additional Errors:
Get BGP neighbor learned routes (Deprecated)
Returns routes learned by BGP neighbor from all edge transport nodes on whichthis neighbor is currently enabled. It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/bgp/neighbors/f8431964-f400-4da5-8c18-4ce4e6bd5fa5/routes Successful Response:
Example Response: { "logical_router_id": "4cca3156-bcc0-4c77-9a6a-141cb33a3844", "neighbor_address": "40.40.40.10", "per_transport_node_routes": [{ "transport_node_id": "6c9e2815-ad34-4b9c-bb95-8af87990cf5a", "source_address": "10.10.10.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }, { "transport_node_id": "7980e91e-ba6d-11e8-9bda-020009ead346", "source_address": "50.50.50.1", "routes": [{ "network": "2.1.4.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }, { "network": "40.40.40.0/24", "next_hop": "40.40.40.10", "local_pref": 0, "weight": 0, "med": 1, "as_path": 1000 }] }] } Required Permissions: Feature: routing_routers Additional Errors:
Get BGP neighbor learned routes in CSV format (Deprecated)
Returns routes learned by BGP neighbor from all edge transport nodes onwhich this neighbor is currently enabled in CSV format.
It always returns realtime response.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/bgp/neighbors/f8431964-f400-4da5-8c18-4ce4e6bd5fa5/routes?format=csv Successful Response:
Example Response: logical_router_id,neighbor_id,neighbor_address,transport_node_id,source_address,network,next_hop,local_pref,weight,med,as_path "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,2.1.4.0/24,40.40.40.10,100,0,1," 1000 !" "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,10.160.64.0/19,40.40.40.10,100,0,1," 1000 !" "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,40.40.40.0/24,40.40.40.10,100,0,1," 1000 !" "3546b561-fcc6-4292-a97a-4caa611b995d","d56e64af-4329-4761-9bf7-39e0f68d7732",40.40.40.10,"c2ae8904-3e5f-11e9-b335-020006f72dcc",40.40.40.1,90.90.90.0/24,40.40.40.10,100,0,1," 1000 !" Required Permissions: Feature: routing_routers Additional Errors:
Get the status of all the BGP neighbors for the Logical Router of the given id (Deprecated)
Returns the status of all the BGP neighbors for the Logical Router of the given id. To get BGP neighbors status for the logical router from particular node, parameter "transport_node_id=<transportnode_id>" needs to be specified. Query parameter "source=realtime" is the only supported source. Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/bgp/neighbors/status?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&source=realtime Successful Response:
Example Response: { "cursor": "00361b9f1d54-2f05-441e-9851-c42518cc8b1dasdfds", "sort_ascending": true, "sort_by": "displayName", "result_count": 1, "logical_router_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "logical_router_name": "PLR", "results": [{ "lr_component_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "transport_node_id": "7aaaaadd-22c0-4199-bddd-3aaaaaa8116a", "source_address": "10.1.1.1", "neighbor_address": "10.1.2.1", "remote_as_number": "1", "remote_port": 179, "local_port": 179, "connection_status": "CONNECTED", "messages_received": 12, "messages_sent": 10, "connection_drop_count": 0, "hold_time": 180, "keep_alive_time": 30, "graceful_restart": true, "last_updated_timestamp": 11999191991991 }] } Required Permissions: Feature: routing_routers Additional Errors:
Get FIB table on a specified node for a logical router (Deprecated)
Returns the FIB for the logical router on a node of the given transport-node-id.Query parameter "transport_node_id=<transport-node-id>" is required.
To filter the result by network address, paramter "network_prefix=<a.b.c.d/mask>"
needs to be specified.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/forwarding-table?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&source=realtime Successful Response:
Example Response: { "cursor": "00361b9f1d54-2f05-441e-9851-c42518cc8b1dasdfds", "sort_ascending": true, "sort_by": "displayName", "result_count": 7, "logical_router_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "results": [ { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "0.0.0.0/0" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "100.64.1.0/31" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "100.64.1.1/32" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "169.0.0.0/28" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "logical_router_port_id": "9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.10.0/24" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "logical_router_port_id": "3fc52f87-60b8-4c64-b664-9383f9680006", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.20.0/24" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "logical_router_port_id": "0d187b84-e1dc-4a49-9ac3-e500a69445c3", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.30.0/24" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Get FIB table on a specified node for a logical router (Deprecated)
Returns the FIB table in CSV format for the logical router on a node of the giventransport-node-id. Query parameter "transport_node_id=<transport-node-id>" is required.
To filter the result by network address, paramter "network_prefix=<a.b.c.d/mask>"
needs to be specified.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/forwarding-table?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&format=csv&source=realtime Successful Response:
Example Response: network,logical_router_port_id,next_hop,admin_distance,lr_component_id,lr_component_type 0.0.0.0/0,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER 100.64.1.0/31,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER 100.64.1.1/32,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER 169.0.0.0/28,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER 172.16.10.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER Required Permissions: Feature: routing_routers Additional Errors:
Get route table on a given node for a logical router (Deprecated)
Deprecated - Please use /logical-routers/<logical-router-id>/routing/routing-table for RIB and/logical-routers/<logical-router-id>/routing/forwarding-table for FIB.
Returns the route table for the logical router on a node of the given transport-node-id.
Query parameter "transport_node_id=<transport-node-id>" is required.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/route-table?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&source=realtime Successful Response:
Example Response: { "cursor": "00361b9f1d54-2f05-441e-9851-c42518cc8b1dasdfds", "sort_ascending": true, "sort_by": "displayName", "result_count": 7, "logical_router_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "results": [ { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "route_type": "NSX_INTERNAL", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "0.0.0.0/0" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "route_type": "NSX_INTERNAL", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "100.64.1.0/31" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "route_type": "NSX_INTERNAL", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "100.64.1.1/32" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "169.0.0.0/28" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.10.0/24" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "3fc52f87-60b8-4c64-b664-9383f9680006", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.20.0/24" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "0d187b84-e1dc-4a49-9ac3-e500a69445c3", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.30.0/24" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Get route table on a node for a logical router (Deprecated)
Deprecated - Please use /logical-routers/<logical-router-id>/routing/routing-table for RIB and/logical-routers/<logical-router-id>/routing/forwarding-table for FIB.
Returns the route table in CSV format for the logical router on a node of the given
transport-node-id. Query parameter "transport_node_id=<transport-node-id>" is required.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/route-table?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&format=csv&source=realtime Successful Response:
Example Response: route_type,network,logical_router_port_id,next_hop,admin_distance,lr_component_id,lr_component_type NSX_INTERNAL,0.0.0.0/0,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER NSX_INTERNAL,100.64.1.0/31,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER NSX_INTERNAL,100.64.1.1/32,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,169.0.0.0/28,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,172.16.10.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,172.16.20.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,172.16.30.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER Required Permissions: Feature: routing_routers Additional Errors:
Get RIB table on a specified node for a logical router (Deprecated)
Returns the route table(RIB) for the logical router on a node of the given transport-node-id.Query parameter "transport_node_id=<transport-node-id>" is required.
To filter the result by network address, parameter "network_prefix=<a.b.c.d/mask>"
needs to be specified.
To filter the result by route source, parameter "route_source=<source_type>" needs to be specified
where source_type can be BGP, STATIC, CONNECTED, NSX_STATIC, TIER1_NAT or TIER0_NAT.
It is also possible to filter the RIB table using both network address and
route source filter together.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/routing-table?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&source=realtime Successful Response:
Example Response: { "cursor": "00361b9f1d54-2f05-441e-9851-c42518cc8b1dasdfds", "sort_ascending": true, "sort_by": "displayName", "result_count": 7, "logical_router_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "results": [ { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "route_type": "NSX_INTERNAL", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "0.0.0.0/0" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "route_type": "NSX_INTERNAL", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "100.64.1.0/31" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "169.0.0.2", "route_type": "NSX_INTERNAL", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "100.64.1.1/32" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "70c955dd-22c0-4199-b3a9-8f312478116a", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "169.0.0.0/28" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "9b2ec1c5-cb54-4d69-8d64-14ccad6ae3cf", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.10.0/24" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "3fc52f87-60b8-4c64-b664-9383f9680006", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.20.0/24" }, { "lr_component_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "next_hop": "0.0.0.0", "route_type": "CONNECTED", "logical_router_port_id": "0d187b84-e1dc-4a49-9ac3-e500a69445c3", "admin_distance": 0, "lr_component_type": "DISTRIBUTED_ROUTER", "network": "172.16.30.0/24" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Get RIB table on a specified node for a logical router (Deprecated)
Returns the route table in CSV format for the logical router on a node of the giventransport-node-id. Query parameter "transport_node_id=<transport-node-id>" is required.
To filter the result by network address, paramter "network_prefix=<a.b.c.d/mask>"
needs to be specified.
To filter the result by route source, parameter "route_source=<source_type>" needs to be specified
where source_type can be BGP, STATIC, CONNECTED, NSX_STATIC, TIER1_NAT or TIER0_NAT.
It is also possible to filter the RIB table using both network address and
route source filter together.
Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/routing/routing-table?transport_node_id=f8431964-f400-4da5-8c18-4ce4e6bd5fa5&format=csv&source=realtime Successful Response:
Example Response: route_type,network,logical_router_port_id,next_hop,admin_distance,lr_component_id,lr_component_type NSX_INTERNAL,0.0.0.0/0,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER NSX_INTERNAL,100.64.1.0/31,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER NSX_INTERNAL,100.64.1.1/32,,169.0.0.2,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,169.0.0.0/28,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,172.16.10.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,1l72.16.20.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER CONNECTED,172.16.30.0/24,,0.0.0.0,0,"875381be-a4c5-4173-8aa7-ab71695a8129",DISTRIBUTED_ROUTER Required Permissions: Feature: routing_routers Additional Errors:
Get the Realized State of a Logical Service Router Cluster (Deprecated)
Return realized state information of a logical service router cluster.Any configuration update that affects the logical service router 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 nat, bgp, bfd, etc.
What is a Service Router?
When a service cannot be distributed is enabled on a Logical Router, a Service Router (SR) is instantiated.
Some examples of services that are not distributed are NAT, DHCP server, Metadata Proxy, Edge Firewall,
Load Balancer and so on.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/service-cluster/state Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: routing_routers Additional Errors:
Get the Realized State of a Logical Router (Deprecated)
Return realized state information of a logical router.Any configuration update that affects the logical router 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 logical router,
static routes, etc.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/state Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: routing_routers Additional Errors:
Get the status for the Logical Router of the given id (Deprecated)
Returns status for the Logical Router of the given id. Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/status Successful Response:
Example Response: { "logical_router_id": "875381be-a4c5-4173-8aa7-ab71695a8129", "last_update_timestamp": 1457127071089, "per_node_status": [ { "service_router_id": "56eead22-3bb9-4586-8de3-9412941f9116", "high_availability_status": "STANDBY", "transport_node_id": "ca6fd559-198d-4a4a-a5be-7e4eda1d5af4" }, { "service_router_id": "56eead22-3bb9-4586-8de3-9412941f9116", "high_availability_status": "ACTIVE", "transport_node_id": "88324389-7991-4189-a4e9-3eaea4b97f61" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Re allocate edge node placement of TIER1 service routers (Deprecated)
API to re allocate edge node placement for TIER1 logical router. You canre-allocate service routers of TIER1 in same edge cluster or different edge
cluster. You can also place edge nodes manually and provide maximum two
indices for HA mode ACTIVE_STANDBY. To re-allocate on new edge cluster you
must have existing edge cluster for TIER1 logical router. This will be
disruptive operation and all existing statistics of logical router will be
remove.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c?action=reallocate { "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b" } Successful Response:
Example Response: { "resource_type": "LogicalRouter", "description": "Router EastWest", "id": "7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c", "display_name": "tier-1", "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b", "edge_cluster_member_indices": [ 0, 1 ], "advanced_config": { "internal_transit_network": "169.254.0.0/28" }, "router_type": "TIER1", "high_availability_mode": "ACTIVE_STANDBY", "_last_modified_time": 1457551370133, "_create_time": 1457550246853, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Reprocesses a logical router configuration and publish updates to controller (Deprecated)
Reprocess logical router configuration and configuration of related entities like logical router ports, static routing, etc.Any missing Updates are published to controller.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129?action=reprocess Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Management Plane API: Networking: Logical Routing And Services: NAT
List NAT rules of the logical router (Deprecated)
Returns paginated list of all user defined NAT rules of the specificlogical router. If a rule_type is provided, only the given type of
rules will be returned. If no rule_type is specified, the rule_type
will be defaulted to NATv4, i.e. only the NATv4 rules will be listed.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/1977d30c-eee2-11e4-874d-0050569c7004/nat/rules?rule_type=ALL Successful Response:
Content-type: application/json
Example Response: { "cursor": "003601003000-0000-0404-0000-0000000000181024", "sort_by": "rule_priority", "result_count": 1, "results": [ { "resource_type": "NatRule", "id": "1028", "display_name": "01003000-0000-0404-0000-000000000018", "match_source_network": "80.80.80.1", "action": "SNAT", "logging": false, "translated_ports": "", "match_service": { "resource_type": "L4PortSetNSService", "destination_ports": [ "80", "8080" ], "l4_protocol": "TCP", "source_ports": [] }, "rule_priority": 1024, "translated_network": "172.16.10.10", "enabled": true, "nat_pass": true, "_last_modified_time": 1458852632857, "_create_time": 1458852302781, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 3 } ] } Required Permissions: Feature: routing_nat Additional Errors:
Add a NAT rule in a specific logical router (Deprecated)
Add a NAT rule in a specific logical router.Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/1977d30c-eee2-11e4-874d-0050569c7004/nat/rules { "action": "SNAT", "match_source_network": "192.168.1.1", "translated_network": "10.117.5.19", "match_service": { "resource_type": "L4PortSetNSService", "source_ports": ["9000"], "destination_ports": ["9000"], "l4_protocol": "TCP" }, "enabled": false } Successful Response:
Content-type: application/json
Example Response: { "resource_type": "NatRule", "id": "1029", "display_name": "01003000-0000-0405-0000-000000000018", "match_source_network": "192.168.1.1", "action": "SNAT", "logging": false, "match_service": { "resource_type": "L4PortSetNSService", "destination_ports": [ "9000" ], "l4_protocol": "TCP", "source_ports": [ "9000" ] }, "rule_priority": 1024, "translated_network": "10.117.5.19", "enabled": false, "nat_pass": true, "_last_modified_time": 1458852877750, "_create_time": 1458852877750, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_nat Additional Errors:
Delete a specific NAT rule from a logical router (Deprecated)
Delete a specific NAT rule from a logical routerRequest:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/1977d30c-eee2-11e4-874d-0050569c7004/nat/rules/1032 Successful Response:
Required Permissions: Feature: routing_nat Additional Errors:
Get a specific NAT rule from a given logical router (Deprecated)
Get a specific NAT rule from a given logical routerRequest:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/1977d30c-eee2-11e4-874d-0050569c7004/nat/rules/1032 Successful Response:
Content-type: application/json
Example Response: { "resource_type": "NatRule", "id": "1032", "display_name": "01003000-0000-0408-0000-000000000018", "action": "DNAT", "logging": false, "rule_priority": 1024, "translated_network": "172.16.10.10", "enabled": true, "nat_pass": true, "match_destination_network": "80.80.80.1", "_last_modified_time": 1458853243886, "_create_time": 1458853243886, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_nat Additional Errors:
Update a specific NAT rule from a given logical router (Deprecated)
Update a specific NAT rule from a given logical router.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/1977d30c-eee2-11e4-874d-0050569c7004/nat/rules/1032 { "resource_type": "NatRule", "id": "1032", "display_name": "01003000-0000-0408-0000-000000000018", "action": "DNAT", "logging": false, "translated_ports": "21", "rule_priority": 1024, "translated_network": "172.16.10.10", "enabled": true, "match_destination_network": "80.80.80.1", "nat_pass": false, "_revision": 1 } Successful Response:
Content-type: application/json
Example Response: { "resource_type": "NatRule", "id": "1032", "display_name": "01003000-0000-0408-0000-000000000018", "action": "DNAT", "logging": false, "translated_ports": "21", "rule_priority": 1024, "translated_network": "172.16.10.10", "enabled": true, "nat_pass": false, "match_destination_network": "80.80.80.1", "_last_modified_time": 1458853572023, "_create_time": 1458853243886, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 2 } Required Permissions: Feature: routing_nat Additional Errors:
Get the statistics of a specified logical router NAT Rule (Deprecated)
Returns the summation of statistics from all nodes for the SpecifiedLogical Router NAT Rule. Query parameter "source=realtime" is the only supported source.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/de211ce9-291e-4876-ace6-606b3e32bf46/nat/rules/1026/statistics?source=realtime Successful Response:
Example Response: { "total_bytes": 9240, "total_packets": 110, "active_sessions": 1, "logical_router_id": "de211ce9-291e-4876-ace6-606b3e32bf46", "last_update_timestamp": 1457541997577, "id": "1026" } Required Permissions: Feature: routing_nat Additional Errors:
Get the statistics of all rules of the logical router (Deprecated)
Returns the summation of statistics for all rules from all nodes for the SpecifiedLogical Router. Also gives the per transport node statistics for provided logical router.
The query parameter "source=realtime" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/de211ce9-291e-4876-ace6-606b3e32bf46/nat/rules/statistics Successful Response:
Example Response: { "logical_router_id": "de211ce9-291e-4876-ace6-606b3e32bf46", "last_update_timestamp": 1457506982295, "statistics_across_all_nodes": { "total_bytes": 23372, "total_packets": 306 }, "per_transport_node_statistics": [ { "total_bytes": 23372, "total_packets": 306, "last_update_timestamp": 1457506982295, "transport_node_id": "60898d58-07f0-4187-865e-07059bc2cbac" } ] } Required Permissions: Feature: routing_nat Additional Errors:
Add multiple NAT rules in a specific logical router
Create multiple NAT rules in a specific logical router.The API succeeds only when all rules are accepted and created successfully.
Any one validation voilation will fail the API, no rule will be created.
The ruleIds of each rules can be found from the responsed message.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/1977d30c-eee2-11e4-874d-0050569c7004/nat/rules?action=create_multiple { "rules" : [ { "action": "SNAT", "match_source_network": "192.168.1.1", "translated_network": "10.117.5.19", "match_service": { "resource_type": "L4PortSetNSService", "source_ports": ["9000"], "destination_ports": ["9000"], "l4_protocol": "TCP" }, "enabled": false }, { "action": "SNAT", "match_source_network": "192.168.1.2", "translated_network": "10.117.6.88", "match_service": { "resource_type": "L4PortSetNSService", "source_ports": ["9001"], "destination_ports": ["9001"], "l4_protocol": "TCP" }, "enabled": false } ] } Successful Response:
Example Response: { "rules": [ { "resource_type": "NatRule", "id": "1029", "display_name": "01003000-0000-0405-0000-000000000018", "match_source_network": "192.168.1.1", "action": "SNAT", "logging": false, "match_service": { "resource_type": "L4PortSetNSService", "destination_ports": [ "9000" ], "l4_protocol": "TCP", "source_ports": [ "9000" ] "rule_priority": 1024, "translated_network": "10.117.5.19", "enabled": false, "firewall_match": MATCH_EXTERNAL_ADDRESS, "_last_modified_time": 1458852877750, "_create_time": 1458852877750, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 }, { "resource_type": "NatRule", "id": "1030", "display_name": "01003000-0000-0309-0000-000000000020", "match_source_network": "192.168.1.2", "action": "SNAT", "logging": false, "match_service": { "resource_type": "L4PortSetNSService", "destination_ports": [ "9001" ], "l4_protocol": "TCP", "source_ports": [ "9001" ] "rule_priority": 1024, "translated_network": "10.117.6.88", "enabled": false, "firewall_match": MATCH_EXTERNAL_ADDRESS, "_last_modified_time": 1458853243886, "_create_time": 1458853243886, "_last_modified_user": "admin", "_system_owned": false, "_create_user": "admin", "_revision": 0 } ] } Required Permissions: Feature: routing_nat Additional Errors:
Get statistics for all logical router NAT rules on a transport node
Returns the summation of statistics for all rules from all logical routerswhich are present on given transport node. Only cached statistics are supported.
The query parameter "source=realtime" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/transport-nodes/fe651e63-04bd-43a4-a8ec-45381a3b71b9/statistics/nat-rules Successful Response:
Example Response: { "total_bytes": 0, "total_packets": 0, "transport_node_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9" } Required Permissions: Feature: routing_nat Additional Errors:
Management Plane API: Networking: Logical Routing And Services: Routing BFD Configuration
Update the BFD Configuration for BFD peers for routing
Modifies the BFD configuration for routing BFD peers. Note - the configuration |changes apply only to those routing BFD peers for which the BFD configuration has |
not been overridden at Peer level.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/19e504e6-2d1f-4aec-a36d-80bd3eb4caed/routing/bfd-config { "enabled": true, "receive_interval": 600, "transmit_interval": 600, "declare_dead_multiple": 5, "_revision": 1 } Successful Response:
Example Response: { "enabled": true, "receive_interval": 600, "transmit_interval": 600, "declare_dead_multiple": 5, "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Read the Routing BFD Configuration
Returns the BFD configuration for all routing BFD peers. This will be inherited |by all BFD peers for LogicalRouter unless overriden while configuring the Peer.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/0fdce4c3-135e-498c-9108-3a4ae17187cb/routing/bfd-config Successful Response:
Example Response: { "enabled": true, "receive_interval": 300, "transmit_interval": 300, "declare_dead_multiple": 3, "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Management Plane API: Networking: Logical Routing And Services: Routing Configuration
Read All IPV6 DADProfiles (Deprecated)
Returns all IPv6 DADProfiles.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ipv6/dad-profiles Successful Response:
Example Response: { "result_count": 1, "results": [ { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "dad_mode": "LOOSE", "wait_time": 1, "ns_retries": 3, } ] } Required Permissions: Feature: routing_routers Additional Errors:
Create a new DADProfile (Deprecated)
Adds a new DADProfileRequest:
Example Request: POST https://<nsx-mgr>/api/v1/ipv6/dad-profiles { "resource_type": "DADProfile", "dad_mode": "LOOSE", "wait_time": 1, "ns_retries": 3, } Successful Response:
Example Response: { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "resource_type": "DADProfile", "dad_mode": "LOOSE", "wait_time": 1, "ns_retries": 3, "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete DAD Profile (Deprecated)
Delete DADProfileRequest:
Example Request: DELETE https://<nsx-mgr>/api/v1/ipv6/dad-profiles/65fb67d8-0485-4c23-8e59-b9ccd8799a4c Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Read specified IPV6 DADProfile (Deprecated)
Returns information about specified IPv6 DADProfile.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ipv6/dad-profiles/65fb67d8-0485-4c23-8e59-b9ccd8799a4c Successful Response:
Example Response: { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "resource_type": "DADProfile", "dad_mode": "LOOSE", "wait_time": 1, "ns_retries": 3, "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Update DADProfile (Deprecated)
Update DADProfile.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/ipv6/dad-profiles/65fb67d8-0485-4c23-8e59-b9ccd8799a4c { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "resource_type": "DADProfile", "dad_mode": "STRICT", "wait_time": 1, "ns_retries": 3, } Successful Response:
Example Response: { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "resource_type": "DADProfile", "dad_mode": "STRICT", "wait_time": 1, "ns_retries": 3, "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Create a new NDRA Profile (Deprecated)
Adds a new NDRAProfileRequest:
Example Request: POST https://<nsx-mgr>/api/v1/ipv6/nd-ra-profiles { "resource_type": "NDRAProfile", "ra_mode": "SLAAC_DNS_THROUGH_RA", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, } Successful Response:
Example Response: { "resource_type": "NDRAProfile", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "ra_mode": "SLAAC_DNS_THROUGH_RA", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Read All IPV6 NDRA Profiles (Deprecated)
Returns all IPv6 NDRA Profiles.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ipv6/nd-ra-profiles Successful Response:
Example Response: { "result_count": 2, "results": [ { "ra_mode": "SLAAC_DNS_THROUGH_RA", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, }, { "ra_mode": "SLAAC_DNS_THROUGH_RA", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, } ] } Required Permissions: Feature: routing_routers Additional Errors:
Update NDRA Profile (Deprecated)
Update NDRAProfileRequest:
Example Request: PUT https://<nsx-mgr>/api/v1/ipv6/nd-ra-profiles/65fb67d8-0485-4c23-8e59-b9ccd8799a4c { "resource_type": "NDRAProfile", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "ra_mode": "DISABLED", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, } Successful Response:
Example Response: { "resource_type": "NDRAProfile", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "ra_mode": "DISABLED", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Read specified IPV6 NDRA Profile (Deprecated)
Returns information about specified IPv6 NDRA Profile.Request:
Example Request: GET https://<nsx-mgr>/api/v1/ipv6/nd-ra-profiles/65fb67d8-0485-4c23-8e59-b9ccd8799a4c Successful Response:
Example Response: { "resource_type": "NDRAProfile", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "ra_mode": "SLAAC_DNS_THROUGH_RA", "ra_config": { "router_preference": "LOW", "ra_interval": 600000, "hop_limit": 64, "router_lifetime": 1800, "prefix_lifetime": 2592000, "prefix_preferred_time": 604800 }, "dns_config": { "domain_name": []. "domain_name_lifetime": 1800000, "dns_server": []. "dns_server_lifetime": 1800000 }, "ndra_advertised_route": [ { "subnet": "7001::/64", "route_lifetime": 1000, "route_preference": "LOW" } ], "reachable_timer": 0, "retransmit_interval": 0, "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete NDRA Profile (Deprecated)
Delete NDRAProfileRequest:
Example Request: DELETE https://<nsx-mgr>/api/v1/ipv6/nd-ra-profiles/65fb67d8-0485-4c23-8e59-b9ccd8799a4c Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Read the debug information for the logical router
API to download below information as text which will be usedfor debugging and troubleshooting.
1) Logical router sub-components and ports.
2) Routing configuration as sent to central control plane.
3) TIER1 advertised network information.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/875381be-a4c5-4173-8aa7-ab71695a8129/debug-info?format=text Successful Response:
Example Response: { "id" : "875381be-a4c5-4173-8aa7-ab71695a8129", "serviceRouterClusterId" : "00002000-0000-0000-0000-00000000040d", "componentInfo" : ...[content omitted for brevity] Required Permissions: Feature: routing_routers Additional Errors:
Update the Routing Configuration
Modifies the routing configuration for a specified logical router.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/19e504e6-2d1f-4aec-a36d-80bd3eb4caed/routing { "resource_type": "RoutingConfig", "id": "19e504e6-2d1f-4aec-a36d-80bd3eb4caed", "display_name": "19e504e6-2d1f-4aec-a36d-80bd3eb4caed", "forwarding_up_timer": 384, "_revision": 2 } Successful Response:
Example Response: { "resource_type": "RoutingConfig", "id": "19e504e6-2d1f-4aec-a36d-80bd3eb4caed", "display_name": "19e504e6-2d1f-4aec-a36d-80bd3eb4caed", "forwarding_up_timer": 384, "_last_modified_user": "admin", "_last_modified_time": 1457390550411, "_revision": 3 } Required Permissions: Feature: routing_routers Additional Errors:
Read the Routing Configuration
Returns the routing configuration for a specified logical router.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/0fdce4c3-135e-498c-9108-3a4ae17187cb/routing Successful Response:
Example Response: { "id": "65950de0-5ee8-44e7-b7cc-3a6940736188", "display_name": "65950de0-5ee8-44e7-b7cc-3a6940736188", "resource_type": "RoutingConfig", "router_id": "1.1.1.1", "_last_modified_user": "admin", "_last_modified_time": 1433791848693, "_create_time": 1433790402867, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Update the Advertisement Configuration on a Logical Router (Deprecated)
Modifies the route advertisement configuration on the specified logical router.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/f61f2197-0ccd-4c2d-972e-22fadab4e33a/routing/advertisement { "resource_type": "AdvertisementConfig", "description": "", "id": "77c6a05e-5602-46bc-a511-62da18fa0afe", "display_name": "77c6a05e-5602-46bc-a511-62da18fa0afe", "tags": [], "advertise_nsx_connected_routes": true, "advertise_static_routes": false, "advertise_nat_routes": true, "advertise_lb_vip": true, "advertise_lb_snat_ip": false, "enabled": true, "_revision": 2 } Successful Response:
Example Response: { "resource_type": "AdvertisementConfig", "description": "", "id": "77c6a05e-5602-46bc-a511-62da18fa0afe", "display_name": "77c6a05e-5602-46bc-a511-62da18fa0afe", "tags": [], "advertise_nsx_connected_routes": true, "advertise_static_routes": false, "advertise_nat_routes": true, "advertise_lb_vip": true, "advertise_lb_snat_ip": false, "enabled": true, "_last_modified_user": "admin", "_last_modified_time": 1457392728479, "_revision": 3 } Required Permissions: Feature: routing_routers Additional Errors:
Read the Advertisement Configuration on a Logical Router
Returns information about the routes to be advertised by the specifiedTIER1 logical router.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/f61f2197-0ccd-4c2d-972e-22fadab4e33a/routing/advertisement Successful Response:
Example Response: { "_revision": 1, "id": "f61f2197-0ccd-4c2d-972e-22fadab4efff", "resource_type": "AdvertisementConfig", "enabled": true, "advertise_route_static": false, "advertise_route_connected": false, "advertise_route_nat": false } Required Permissions: Feature: routing_routers Additional Errors:
Update the Advertisement Rules on a Logical Router (Deprecated)
Modifies the advertisement rules on the specified logicalrouter. The PUT request must include all the rules with the networks parameter. Modifiable
parameters are networks, display_name, and description. Set the rules list to empty to delete/clear all rules.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/77c6a05e-5602-46bc-a511-62da18fa0afe/routing/advertisement/rules { "resource_type": "AdvertiseRuleList", "id": "77c6a05e-5602-46bc-a511-62da18fa0afe", "display_name": "77c6a05e-5602-46bc-a511-62da18fa0afe", "rules": [ { "description":"Advertise all East routes", "display_name":"East routes", "networks": [ "10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24" ], "rule_filter": { "prefix_operator": "GE", "match_route_types": ["ANY"] } } ], "_create_time": 1456445680356, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1456445680356, "_create_user": "admin", "_revision": 0 } Successful Response:
Example Response: { "resource_type": "AdvertiseRuleList", "id": "77c6a05e-5602-46bc-a511-62da18fa0afe", "display_name": "77c6a05e-5602-46bc-a511-62da18fa0afe", "rules": [ { "description": "Advertise all East routes", "networks": [ "10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24" ], "display_name": "East routes", "action": "ALLOW", "rule_filter": { "prefix_operator": "GE", "match_route_types": ["ANY"] } } ], "_last_modified_user": "admin", "_last_modified_time": 1457392997168, "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Read the Advertisement Rules on a Logical Router
Returns the advertisement rule list for the specifiedTIER1 logical router.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/f61f2197-0ccd-4c2d-972e-22fadab4e33a/routing/advertisement/rules Successful Response:
Example Response: { "_revision": 1, "id": "f61f2197-0ccd-4c2d-972e-22fadab4efff", "resource_type": "AdvertiseRuleList", "rules": [ { "networks": [ "192.168.100.0/24" ], "display_name": "Rule 1", "action": "DENY", "rule_filter": { "prefix_operator": "GE", "match_route_types": ["T1_LB_SNAT"] } }, { "networks": [ "192.168.10.0/24" ], "display_name": "Rule 2", "action": "ALLOW" } ] } Required Permissions: Feature: routing_routers Additional Errors:
Update the BGP Configuration on a Logical Router (Deprecated)
Modifies the BGP configuration on a specified TIER0 logical router.Modifiable parameters include enabled, graceful_restart, as_number.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp { "resource_type": "BgpConfig", "description": "Uplink to external", "id": "f2002b7e-e94b-4089-bef9-ef8e2a4fe2fb", "display_name": "Uplink to external", "as_num": "64520", "graceful_restart": true, "enabled": true, "ecmp": false, "_revision": 4 } Successful Response:
Example Response: { "resource_type": "BgpConfig", "description": "Uplink to external", "id": "f2002b7e-e94b-4089-bef9-ef8e2a4fe2fb", "display_name": "Uplink to external", "as_num": "64520", "graceful_restart": true, "route_aggregation": [], "enabled": true, "ecmp": false, "_last_modified_user": "admin", "_last_modified_time": 1457392177631, "_revision": 5 } Required Permissions: Feature: routing_routers Additional Errors:
Read the BGP Configuration on a Logical Router
Returns information about the BGP configuration on a specified logicalrouter. Information includes whether or not the BGP configuration is
enabled, the AS number, and whether or not graceful
restart is enabled.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp Successful Response:
Example Response: { "id": "7376250a-fa3c-4f69-8844-f5671e914882", "display_name": "7376250a-fa3c-4f69-8844-f5671e914882", "resource_type": "BgpConfig", "enabled": true, "ecmp": false, "hold_up_timer": 0, "graceful_restart": false, "_last_modified_user": "admin", "_last_modified_time": 1433791720444, "_create_time": 1433790402867, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Paginated list of BGP community lists on a logical router (Deprecated)
Paginated list of BGP Community Lists on a Logical RouterRequest:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/community-lists Successful Response:
Example Response: { "cursor": "0036640912b0-4820-46f0-b7c2-7a9e2cb57505neighbor2", "result_count": 2, "results": [ { "id": "a9478c1d-d7ab-47c5-9e05-548920f4d88c", "resource_type": "BGPCommunityList" "communities": ["10:50", "10:52"], "community_type": "NormalBGPCommunity", "_last_modified_time": 1433948850593, "_create_time": 1433948850593, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 0 }, { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "resource_type": "BGPCommunityList" "communities": ["11:09", "11:10"], "community_type": "NormalBGPCommunity", "_last_modified_time": 1433960878203, "_create_time": 1433949148014, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 4 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Create a new BGP community list on a logical router (Deprecated)
Add a new BGP Community List on a Logical RouterRequest:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/community-lists { "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity" } Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "resource_type": "BGPCommunityList" "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity", "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a specific BGP community list from a logical router (Deprecated)
Delete a specific BGP community list from a Logical RouterRequest:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/community-lists/640912b0-4820-46f0-b7c2-7a9e2cb57505 Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Update a specific BGP community list from a logical router (Deprecated)
Update a specific BGP community list from a Logical RouterRequest:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/community-lists/640912b0-4820-46f0-b7c2-7a9e2cb57505 { "_revision": 1, "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity" } Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "resource_type": "BGPCommunityList", "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity", "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Read a specific BGP community list from a logical router (Deprecated)
Read a specific BGP community list from a Logical RouterRequest:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/comunity-lists/640912b0-4820-46f0-b7c2-7a9e2cb57505 Successful Response:
Example Response: { "id": "a9478c1d-d7ab-47c5-9e05-548920f4d88c", "resource_type": "BGPCommunityList" "communities": ["10:50", "10:52"], "community_type": "NormalBGPCommunity", "_last_modified_time": 1433948850593, "_create_time": 1433948850593, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Update a specific BGP community list from a logical router (Deprecated)
Update a specific BGP community list from a Logical RouterRequest:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/community-lists/640912b0-4820-46f0-b7c2-7a9e2cb57505 { "_revision": 1, "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity" } Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "resource_type": "BGPCommunityList", "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity", "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Paginated list of BGP Neighbors on a Logical Router (Deprecated)
Paginated list of BGP Neighbors on a Logical RouterRequest:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors Successful Response:
Example Response: { "cursor": "0036640912b0-4820-46f0-b7c2-7a9e2cb57505neighbor2", "result_count": 2, "neighbors": [ { "id": "a9478c1d-d7ab-47c5-9e05-548920f4d88c", "display_name": "neighbor2", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "1.1.1.1", "keep_alive_timer": 60, "remote_as_num": "300", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true } ], "_last_modified_time": 1433948850593, "_create_time": 1433948850593, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 0 }, { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "display_name": "neighbor1", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "2.2.2.2", "keep_alive_timer": 60, "remote_as_num": "200", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, "in_filter_ipprefixlist_id" : "ad879413-dbc3-4952-b77d-28386c3a5363" } ], "_last_modified_time": 1433960878203, "_create_time": 1433949148014, "_create_user": "admin", "_last_modified_user": "admin", "_revision": 4 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Add a new BGP Neighbor on a Logical Router (Deprecated)
Add a new BGP Neighbor on a Logical RouterRequest:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors { "display_name": "neighbor1", "neighbor_address": "2.2.2.2", "remote_as_num": "200", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, "in_filter_ipprefixlist_id" : "ad879413-dbc3-4952-b77d-28386c3a5363" } ], } Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "display_name": "neighbor1", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "2.2.2.2", "keep_alive_timer": 60, "remote_as_num": "200", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, "in_filter_ipprefixlist_id" : "ad879413-dbc3-4952-b77d-28386c3a5363" } ], "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a specific BGP Neighbor on a Logical Router (Deprecated)
Delete a specific BGP Neighbor on a Logical RouterRequest:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors/640912b0-4820-46f0-b7c2-7a9e2cb57505 Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Update a specific BGP Neighbor on a Logical Router (Deprecated)
Update a specific BGP Neighbor on a Logical RouterRequest:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors/640912b0-4820-46f0-b7c2-7a9e2cb57505 { "_revision": 1, "hold_down_timer": 40, "neighbor_address": "10.30.1.1", "keep_alive_timer": 100, "source_addresses": ["192.168.0.1"], "remote_as_num": "64510", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, } ], "display_name": "neighbor A", "description": "to_neighbor_A", } Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "resource_type": "BgpNeighbor", "hold_down_timer": 40, "neighbor_address": "10.30.1.1", "keep_alive_timer": 100, "source_addresses": ["192.168.0.1"], "remote_as_num": "64510", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, } ], "display_name": "neighbor A", "description": "to_neighbor_A", "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Read a specific BGP Neighbor on a Logical Router (Deprecated)
Read a specific BGP Neighbor on a Logical RouterRequest:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors/640912b0-4820-46f0-b7c2-7a9e2cb57505 Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "display_name": "neighbor1", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "2.2.2.2", "keep_alive_timer": 60, "remote_as_num": "200", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, "in_filter_ipprefixlist_id" : "ad879413-dbc3-4952-b77d-28386c3a5363" } ], "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Unset/Delete password property on specific BGP Neighbor on Logical Router (Deprecated)
Unset/Delete the password property on the specific BGP Neighbor.No other property of the BgpNeighbor can be updated using this API
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors/640912b0-4820-46f0-b7c2-7a9e2cb57505?action=clear_password Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "resource_type": "BgpNeighbor", "hold_down_timer": 40, "neighbor_address": "10.30.1.1", "keep_alive_timer": 100, "source_addresses": ["192.168.0.1"], "remote_as_num": "64510", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, } ], "display_name": "neighbor A", "description": "to_neighbor_A", "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Read a specific BGP Neighbor with password on a Logical Router
Read a specific BGP Neighbor details with password on a Logical RouterRequest:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/bgp/neighbors/640912b0-4820-46f0-b7c2-7a9e2cb57505?action=show-sensitive-data Successful Response:
Example Response: { "id": "640912b0-4820-46f0-b7c2-7a9e2cb57505", "display_name": "neighbor1", "resource_type": "BgpNeighbor", "hold_down_timer": 180, "neighbor_address": "2.2.2.2", "keep_alive_timer": 60, "remote_as_num": "200", "password": "Admin!23Admin", "address_families": [ { "type" : "IPV4_UNICAST", "enabled" : true, "in_filter_ipprefixlist_id" : "ad879413-dbc3-4952-b77d-28386c3a5363" } ], "_last_modified_user": "admin", "_last_modified_time": 1433949148014, "_create_time": 1433949148014, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Paginated List of IPPrefixLists (Deprecated)
Paginated List of IPPrefixLists Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/ip-prefix-lists Successful Response:
Example Response: { "cursor": "00365f22f70e-5725-4df3-9e25-46358642848fip-prefix-list1", "result_count": 1, "results": [ { "resource_type": "IPPrefixList", "description": "", "id": "5f22f70e-5725-4df3-9e25-46358642848f", "display_name": "ip-prefix-list1", "tags": [], "prefixes": [ { "action": "DENY", "network": "192.168.110.0/24" }, { "action": "DENY", "network": "192.168.210.0/24" } ], "_create_time": 1457128258723, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457128258723, "_create_user": "admin", "_revision": 0 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Add IPPrefixList on a Logical Router (Deprecated)
Adds a new IPPrefixList on a Logical RouterRequest:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/ip-prefix-lists { "resource_type": "IPPrefixList", "description": "IP prefix list 2", "display_name": "ip-prefix-list2", "tags": [], "prefixes": [ { "action": "DENY", "network": "192.168.220.0/24" }, { "action": "DENY", "network": "192.168.240.0/24" } ] } Successful Response:
Example Response: { "resource_type": "IPPrefixList", "description": "IP prefix list 2", "id": "5c45c18f-0221-4a86-a7c0-1460812564f4", "display_name": "ip-prefix-list2", "tags": [], "prefixes": [ { "action": "DENY", "network": "192.168.220.0/24" }, { "action": "DENY", "network": "192.168.240.0/24" } ], "_create_time": 1457128510078, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457128510078, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Update a specific IPPrefixList on a Logical Router (Deprecated)
Update a specific IPPrefixList on the specified logical router.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/ip-prefix-lists/5f22f70e-5725-4df3-9e25-46358642848f { "resource_type": "IPPrefixList", "description": "IP Prefix List 1", "id": "5f22f70e-5725-4df3-9e25-46358642848f", "display_name": "ip-prefix-list1", "tags": [], "prefixes": [ { "action": "DENY", "network": "192.168.120.0/24" }, { "action": "DENY", "network": "192.168.220.0/24" } ], "_revision": 0 } Successful Response:
Example Response: { "resource_type": "IPPrefixList", "description": "IP Prefix List 1", "id": "5f22f70e-5725-4df3-9e25-46358642848f", "display_name": "ip-prefix-list1", "tags": [], "prefixes": [ { "action": "DENY", "network": "192.168.120.0/24" }, { "action": "DENY", "network": "192.168.220.0/24" } ], "_last_modified_user": "admin", "_last_modified_time": 1457128860172, "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Get a specific IPPrefixList on a Logical Router (Deprecated)
Read a specific IPPrefixList on the specified logical router.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/ip-prefix-lists/5f22f70e-5725-4df3-9e25-46358642848f Successful Response:
Example Response: { "resource_type": "IPPrefixList", "description": "", "id": "5f22f70e-5725-4df3-9e25-46358642848f", "display_name": "ip-prefix-list1", "tags": [], "prefixes": [ { "action": "DENY", "network": "192.168.110.0/24" }, { "action": "DENY", "network": "192.168.210.0/24" } ], "_create_time": 1457128258723, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457128258723, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a specific IPPrefixList on a Logical Router (Deprecated)
Deletes a specific IPPrefixList on the specified logical router.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/ip-prefix-lists/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4444 Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Update the Redistribution Configuration on a Logical Router (Deprecated)
Modifies existing route redistribution rules for the specified TIER0 logicalrouter.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/redistribution { "resource_type": "RedistributionConfig", "display_name": "BGP route redistribution", "bgp_enabled": false, "_revision": 1 } Successful Response:
Example Response: { "resource_type": "RedistributionConfig", "id": "5d007b29-70da-485e-be22-1c966d204607", "display_name": "BGP route redistribution", "bgp_enabled": false, "_last_modified_user": "admin", "_last_modified_time": 1457392490759, "_revision": 2 } Required Permissions: Feature: routing_routers Additional Errors:
Read the Redistribution Configuration on a Logical Router
Returns information about configured route redistribution for the specifiedlogical router.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/redistribution Successful Response:
Example Response: { "_revision": 1, "id": "67268324-0db6-4d4a-b00a-db1458e60da9", "resource_type": "RedistributionConfig", "bgp_enabled": true, "_last_modified_user": "admin", "_last_modified_time": 1415221811355, "_create_time": 1415221700736, "_create_user": "admin" } Required Permissions: Feature: routing_routers Additional Errors:
Update All the Redistribution Rules on a Logical Router (Deprecated)
Modifies all route redistribution rules for the specified TIER0 logicalrouter. Set the rules list to empty to delete/clear all rules.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/redistribution/rules { "_revision": 14, "rules": [ { "display_name":"static/connected-into-bgp", "description":"BGP learns all static and connected routes", "destination":"BGP", "sources":["STATIC", "CONNECTED"] } ] } Successful Response:
Example Response: { "_revision": 15, "id": "67268324-0db6-4d4a-b00a-db1458e60da9", "resource_type": "RedistributionRuleList", "rules": [ { "display_name": "static/connected-into-bgp", "description": "BGP learns all static and connected routes", "sources": [ "STATIC", "CONNECTED" ], "destination": "BGP" } ], "_last_modified_user": "admin", "_last_modified_time": 1415221811355, "_create_time": 1415221700736, "_create_user": "admin" } Required Permissions: Feature: routing_routers Additional Errors:
Read All the Redistribution Rules on a Logical Router
Returns all the route redistribution rules for the specifiedlogical router.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/redistribution/rules Successful Response:
Example Response: { "_revision": 15, "id": "67268324-0db6-4d4a-b00a-db1458e60da9", "resource_type": "RedistributionRuleList", "rules": [ { "display_name": "static/connected-into-bgp", "description": "BGP learns all static and connected routes", "sources": [ "STATIC", "CONNECTED" ], "destination": "BGP" } ], "_last_modified_user": "admin", "_last_modified_time": 1415221811355, "_create_time": 1415221700736, "_create_user": "admin" } Required Permissions: Feature: routing_routers Additional Errors:
Paginated List of RouteMaps (Deprecated)
Paginated List of RouteMaps Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/route-maps Successful Response:
Example Response: { "cursor": "0036243cef41-bf97-493d-8a2d-703dca9de4dcroute map 1", "result_count": 1, "results": [ { "resource_type": "RouteMap", "description": "", "id": "243cef41-bf97-493d-8a2d-703dca9de4dc", "display_name": "route map 1", "tags": [], "sequences": [ { "match_criteria": { "ip_prefix_lists": [ "5f22f70e-5725-4df3-9e25-46358642848f", "5c45c18f-0221-4a86-a7c0-1460812564f4", "dfd1bc6e-570b-4531-a032-d5ed1c8b6261" ] }, "set_criteria": { "as_path_prepend" : "50", "weight" : 10, "multi_exit_discriminator" : 50, "add_community" : "30:40" }, "action": "PERMIT" }, { "match_criteria": { "ip_prefix_lists": [ "dfd1bc6e-570b-4531-a032-d5ed1c8b6262" ] }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" }, { "match_criteria": { "match_community_expression": { "expression": [ { "match_operator": "MATCH_REGEX", "regular_expression": "123:11.*" }, { "match_operator": "MATCH_ANY", "community_list_id": "c4b2b171-661b-4059-960c-fc931a612507" } ], "operator": "AND" } }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } ], "_create_time": 1457129043915, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457129043915, "_create_user": "admin", "_revision": 0 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Add RouteMap on a Logical Router (Deprecated)
Adds a new RouteMap on a Logical RouterRequest:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/route-maps { "resource_type": "RouteMap", "description": "Route Map for West Customers", "display_name": "route map West", "sequences": [ { "match_criteria": { "ip_prefix_lists": [ "5f22f70e-5725-4df3-9e25-46358642848f", "5c45c18f-0221-4a86-a7c0-1460812564f4", "dfd1bc6e-570b-4531-a032-d5ed1c8b6261" ] }, "set_criteria": { "as_path_prepend" : "50", "weight" : 10, "multi_exit_discriminator" : 50, "add_community" : "30:40" }, "action": "PERMIT" }, { "match_criteria": { "ip_prefix_lists": [ "dfd1bc6e-570b-4531-a032-d5ed1c8b6262" ] }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" }, { "match_criteria": { "match_community_expression": { "expression": [ { "match_operator": "MATCH_REGEX", "regular_expression": "123:11.*" }, { "match_operator": "MATCH_ANY", "community_list_id": "c4b2b171-661b-4059-960c-fc931a612507" } ], "operator": "AND" } }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } ] } Successful Response:
Example Response: { "resource_type": "RouteMap", "description": "Route Map for West Customers", "id": "3e744129-4712-4de3-9659-df69b4a312cb", "display_name": "route map West", "sequences": [ { "match_criteria": { "ip_prefix_lists": [ "5f22f70e-5725-4df3-9e25-46358642848f", "5c45c18f-0221-4a86-a7c0-1460812564f4", "dfd1bc6e-570b-4531-a032-d5ed1c8b6261" ] }, "set_criteria": { "as_path_prepend" : "50", "weight" : 10, "multi_exit_discriminator" : 50, "add_community" : "30:40" }, "action": "PERMIT" }, { "match_criteria": { "ip_prefix_lists": [ "dfd1bc6e-570b-4531-a032-d5ed1c8b6262" ] }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } { "match_criteria": { "match_community_expression": { "expression": [ { "match_operator": "MATCH_REGEX", "regular_expression": "123:11.*" }, { "match_operator": "MATCH_ANY", "community_list_id": "c4b2b171-661b-4059-960c-fc931a612507" } ], "operator": "AND" } }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } ], "_create_time": 1457393635951, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457393635951, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Update a specific RouteMap on a Logical Router (Deprecated)
Update a specific RouteMap on the specified logical router.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/route-maps/243cef41-bf97-493d-8a2d-703dca9de4dc { "resource_type": "RouteMap", "description": "Route Map for East Customers", "display_name": "route map East", "sequences": [ { "match_criteria": { "ip_prefix_lists": [ "5f22f70e-5725-4df3-9e25-46358642848f", "5c45c18f-0221-4a86-a7c0-1460812564f4", "dfd1bc6e-570b-4531-a032-d5ed1c8b6261" ] }, "set_criteria": { "as_path_prepend" : "50", "weight" : 10, "multi_exit_discriminator" : 50, "add_community" : "30:40" }, "action": "PERMIT" }, { "match_criteria": { "ip_prefix_lists": [ "dfd1bc6e-570b-4531-a032-d5ed1c8b6262" ] }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } { "match_criteria": { "match_community_expression": { "expression": [ { "match_operator": "MATCH_REGEX", "regular_expression": "123:11.*" }, { "match_operator": "MATCH_ANY", "community_list_id": "c4b2b171-661b-4059-960c-fc931a612507" } ], "operator": "AND" } }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } ], "_revision": 0 } Successful Response:
Example Response: { "resource_type": "RouteMap", "description": "Route Map for East Customers", "id": "243cef41-bf97-493d-8a2d-703dca9de4dc", "display_name": "route map East", "sequences": [ { "match_criteria": { "ip_prefix_lists": [ "5f22f70e-5725-4df3-9e25-46358642848f", "5c45c18f-0221-4a86-a7c0-1460812564f4", "dfd1bc6e-570b-4531-a032-d5ed1c8b6261" ] }, "set_criteria": { "as_path_prepend" : "50", "weight" : 10, "multi_exit_discriminator" : 50, "add_community" : "30:40" }, "action": "PERMIT" }, { "match_criteria": { "ip_prefix_lists": [ "dfd1bc6e-570b-4531-a032-d5ed1c8b6262" ] }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } { "match_criteria": { "match_community_expression": { "expression": [ { "match_operator": "MATCH_REGEX", "regular_expression": "123:11.*" }, { "match_operator": "MATCH_ANY", "community_list_id": "c4b2b171-661b-4059-960c-fc931a612507" } ], "operator": "AND" } }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } ], "_last_modified_user": "admin", "_last_modified_time": 1457391862599, "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a specific RouteMap on a Logical Router (Deprecated)
Deletes a specific RouteMap on the specified logical router.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/route-maps/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4444 Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Get a specific RouteMap on a Logical Router (Deprecated)
Read a specific RouteMap on the specified logical router.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/route-maps/243cef41-bf97-493d-8a2d-703dca9de4dc Successful Response:
Example Response: { "resource_type": "RouteMap", "description": "Route Map for East Customers", "id": "243cef41-bf97-493d-8a2d-703dca9de4dc", "display_name": "route map East", "sequences": [ { "match_criteria": { "ip_prefix_lists": [ "5f22f70e-5725-4df3-9e25-46358642848f", "5c45c18f-0221-4a86-a7c0-1460812564f4", "dfd1bc6e-570b-4531-a032-d5ed1c8b6261" ] }, "set_criteria": { "as_path_prepend" : "50", "weight" : 10, "multi_exit_discriminator" : 50, "add_community" : "30:40" }, "action": "PERMIT" }, { "match_criteria": { "ip_prefix_lists": [ "dfd1bc6e-570b-4531-a032-d5ed1c8b6262" ] }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } { "match_criteria": { "match_community_expression": { "expression": [ { "match_operator": "MATCH_REGEX", "regular_expression": "123:11.*" }, { "match_operator": "MATCH_ANY", "community_list_id": "c4b2b171-661b-4059-960c-fc931a612507" } ], "operator": "AND" } }, "set_criteria": { "as_path_prepend" : "60", "weight" : 20, "multi_exit_discriminator" : 30, "add_community" : "NO_EXPORT" }, "action": "PERMIT" } ], "_last_modified_user": "admin", "_last_modified_time": 1457391862599, "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Paginated List of Static Routes (Deprecated)
Returns information about configured static routes, including thenetwork address and next hops for each static route.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/static-routes Successful Response:
Example Response: { "cursor": "0036e3023f7f-4794-40b5-87a8-51cf7df35aefe3023f7f-4794-40b5-87a8-51cf7df35aef", "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "StaticRoute", "description": "", "id": "e3023f7f-4794-40b5-87a8-51cf7df35aef", "display_name": "e3023f7f-4794-40b5-87a8-51cf7df35aef", "tags": [], "next_hops": [ { "administrative_distance": 1, "ip_address": "192.168.100.254" } ], "network": "192.168.100.0/24", "_create_time": 1457129209514, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457129209514, "_create_user": "admin", "_revision": 0 } ] } Required Permissions: Feature: routing_routers Additional Errors:
Add Static Routes on a Logical Router (Deprecated)
Adds a new static route on a Logical RouterRequest:
Example Request: POST https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/static-routes { "resource_type": "StaticRoute", "description": "", "display_name": "to customer A", "tags": [], "next_hops": [ { "administrative_distance": "2", "ip_address": "192.168.200.254" } ], "network": "192.168.200.0/24" } Successful Response:
Example Response: { "resource_type": "StaticRoute", "description": "", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "display_name": "to customer A", "tags": [], "next_hops": [ { "administrative_distance": 2, "ip_address": "192.168.200.254" } ], "network": "192.168.200.0/24", "_create_time": 1457391214234, "_last_modified_user": "admin", "_system_owned": false, "_last_modified_time": 1457391214234, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: routing_routers Additional Errors:
Delete a specific Static Route on a Logical Router (Deprecated)
Deletes a specific static route on the specified logical router.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/static-routes/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4444 Successful Response:
Required Permissions: Feature: routing_routers Additional Errors:
Update a specific Static Route Rule on a Logical Router (Deprecated)
Update a specific static route on the specified logical router.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/static-routes/65fb67d8-0485-4c23-8e59-b9ccd8799a4c { "resource_type": "StaticRoute", "description": "Static route to customer A", "display_name": "to customer A", "next_hops": [ { "administrative_distance": 2, "ip_address": "192.168.200.254" } ], "network": "192.168.200.0/24", "_revision": 0 } Successful Response:
Example Response: { "resource_type": "StaticRoute", "description": "Static route to customer A", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "display_name": "to customer A", "next_hops": [ { "administrative_distance": 2, "ip_address": "192.168.200.254" } ], "network": "192.168.200.0/24", "_last_modified_user": "admin", "_last_modified_time": 1457391431538, "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Get a specific Static Route on a Logical Router (Deprecated)
Read a specific static routes on the specified logical router.Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-routers/7a62a0c5-1ea1-4b25-9d43-dce1c0fa4b8c/routing/static-routes/65fb67d8-0485-4c23-8e59-b9ccd8799a4c Successful Response:
Example Response: { "resource_type": "StaticRoute", "description": "Static route to customer A", "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "display_name": "to customer A", "next_hops": [ { "administrative_distance": 2, "ip_address": "192.168.200.254" } ], "network": "192.168.200.0/24", "_last_modified_user": "admin", "_last_modified_time": 1457391431538, "_revision": 1 } Required Permissions: Feature: routing_routers Additional Errors:
Management Plane API: Networking: Logical Switching
Management Plane API: Networking: Logical Switching: Logical Switch Ports
Create a Logical Port (Deprecated)
Creates a new logical switch port. The required parameters are theassociated logical_switch_id and admin_state (UP or DOWN). Optional
parameters are the attachment and switching_profile_ids. If you don't
specify switching_profile_ids, default switching profiles are assigned to
the port. If you don't specify an attachment, the switch port remains
empty. To configure an attachment, you must specify an id, and
optionally you can specify an attachment_type (VIF or LOGICALROUTER).
The attachment_type is VIF by default. This api is now deprecated. Please use new api -
PUT /infra/segments/<segment-id>/ports/<port-id>
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-ports { "logical_switch_id":"849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": {"attachment_type":"VIF","id":"vif1"}, "admin_state":"UP" } { "resource_type": "LogicalPort", "display_name": "BM1-LP", "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": { "attachment_type": "VIF", "id": "d8c2184c-1fcb-472d-a32a-524edbdaa1f8", "context": { "vif_type": "INDEPENDENT", "transport_node_uuid": "b5364421-6fbd-4670-98aa-974d8fe7462e", "app_id": "BM1_APP1", "resource_type": "VifAttachmentContext", "allocate_addresses": "Dhcp", "bms_interface_config": { "routing_table": ["101.20.0.0/16", "100.20.20.0/24"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP" } { "resource_type": "LogicalPort", "display_name": "BM1-LP", "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": { "attachment_type": "VIF", "id": "d8c2184c-1fcb-472d-a32a-524edbdaa1f8", "context": { "vif_type": "INDEPENDENT", "transport_node_uuid": "b5364421-6fbd-4670-98aa-974d8fe7462e", "app_id": "BM1_APP1", "resource_type": "VifAttachmentContext", "allocate_addresses": "Both", "bms_interface_config": { "routing_table": ["101.20.0.0/16", "100.20.20.0/24"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP" } { "resource_type": "LogicalPort", "display_name": "BM1-LP", "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": { "attachment_type": "VIF", "id": "d8c2184c-1fcb-472d-a32a-524edbdaa1f8", "context": { "vif_type": "INDEPENDENT", "transport_node_uuid": "b5364421-6fbd-4670-98aa-974d8fe7462e", "app_id": "BM1_APP1", "resource_type": "VifAttachmentContext", "allocate_addresses": "MacPool", "bms_interface_config": { "default_gateway": "192.168.1.254", "routing_table": ["101.20.0.0/16", "100.20.20.0/24"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP", "address_bindings": [ {"ip_address":"192.168.1.110"} ] } { "resource_type": "LogicalPort", "display_name": "BM1-LP", "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": { "attachment_type": "VIF", "id": "d8c2184c-1fcb-472d-a32a-524edbdaa1f8", "context": { "vif_type": "INDEPENDENT", "transport_node_uuid": "b5364421-6fbd-4670-98aa-974d8fe7462e", "app_id": "BM1_APP1", "resource_type": "VifAttachmentContext", "allocate_addresses": "IpPool", "bms_interface_config": { "default_gateway": "192.168.1.254", "routing_table": ["101.20.0.0/16", "100.20.20.0/24"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP", "address_bindings": [ {"mac_address":"aa:bb:cc:dd:ee:ff"} ] } { "resource_type": "LogicalPort", "display_name": "BM1-LP", "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": { "attachment_type": "VIF", "id": "d8c2184c-1fcb-472d-a32a-524edbdaa1f8", "context": { "vif_type": "INDEPENDENT", "transport_node_uuid": "b5364421-6fbd-4670-98aa-974d8fe7462e", "app_id": "BM1_APP1", "resource_type": "VifAttachmentContext", "allocate_addresses": "None", "bms_interface_config": { "default_gateway": "192.168.1.254", "routing_table": ["101.20.0.0/16", "100.20.20.0/24"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP", "address_bindings": [ {"ip_address":"192.168.1.110", "mac_address":"aa:bb:cc:dd:ee:ff"} ] } { "resource_type": "LogicalPort", "display_name": "BM1-LP", "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "attachment": { "attachment_type": "VIF", "id": "d8c2184c-1fcb-472d-a32a-524edbdaa1f8", "context": { "vif_type": "INDEPENDENT", "transport_node_uuid": "b5364421-6fbd-4670-98aa-974d8fe7462e", "app_id": "BM1_APP1", "resource_type": "VifAttachmentContext", "allocate_addresses": "None", "bms_interface_config": { "migrate_intf": "eth0", "app_intf_name": "nsx-eth" } } }, "admin_state": "UP" } Successful Response:
Example Response: { "id": "95a93e66-4fb1-4f7d-9484-1c8fd521e741", "display_name": "95a93e66-4fb1-4f7d-9484-1c8fd521e741", "resource_type": "LogicalPort", "address_bindings": [], "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "admin_state": "UP", "attachment": { "id": "vif1", "attachment_type": "VIF" }, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "admin", "_last_modified_time": 1435284566908, "_create_time": 1435284566908, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: switching_ports Additional Errors:
List All Logical Ports (Deprecated)
Returns information about all configured logical switch ports. Logicalswitch ports connect to VM virtual network interface cards (NICs). Each
logical port is associated with one logical switch.
This api is now deprecated. Please use new api -
/infra/segments/<segment-id>/ports
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-ports Successful Response:
Example Response: { "result_count": 2, "results": [ { "id": "2f904690-355a-4900-841e-645b3d7fee91", "display_name": "2f904690-355a-4900-841e-645b3d7fee91", "resource_type": "LogicalPort", "address_bindings": [], "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "admin_state": "UP", "attachment": { "id": "f941da72-2b4a-4212-9183-74029d41377e", "attachment_type": "VIF" }, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "system", "_last_modified_time": 1435282553271, "_create_time": 1435282553249, "_system_owned": true, "_create_user": "system", "_revision": 1 }, { "id": "9467676a-aeae-46f7-90f1-c771e02d1669", "display_name": "9467676a-aeae-46f7-90f1-c771e02d1669", "resource_type": "LogicalPort", "address_bindings": [], "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "admin_state": "UP", "attachment": { "id": "65332f8d-efa2-4dd9-9c92-39ca0bfb1966", "attachment_type": "VIF" }, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "system", "_last_modified_time": 1435282426932, "_create_time": 1435282426867, "_system_owned": true, "_create_user": "system", "_revision": 1 } ] } Required Permissions: Feature: switching_ports Additional Errors:
Get Information About a Logical Port (Deprecated)
Returns information about a specified logical port. in impactor-ufo branch. Please use corresponding policy API /infra/segments/<segment-id>/ports/<lport-id> Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/9467676a-aeae-46f7-90f1-c771e02d1669 Successful Response:
Example Response: { "id": "9467676a-aeae-46f7-90f1-c771e02d1669", "display_name": "9467676a-aeae-46f7-90f1-c771e02d1669", "resource_type": "LogicalPort", "address_bindings": [], "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "admin_state": "UP", "attachment": { "id": "65332f8d-efa2-4dd9-9c92-39ca0bfb1966", "attachment_type": "VIF" }, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "system", "_last_modified_time": 1435282426932, "_create_time": 1435282426867, "_system_owned": true, "_create_user": "system", "_revision": 1 } Required Permissions: Feature: switching_ports Additional Errors:
Update a Logical Port (Deprecated)
Modifies an existing logical switch port. Parameters that can be modifiedinclude attachment_type (LOGICALROUTER, VIF), admin_state (UP or DOWN),
attachment id and switching_profile_ids. You cannot modify the logical_switch_id.
In other words, you cannot move an existing port from one switch to another switch.
This api is now deprecated.
Please use new api - /infra/segments/<segment-id>/ports/<port-id>
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-ports/95a93e66-4fb1-4f7d-9484-1c8fd521e741 { "logical_switch_id":"849e339e-64b7-47cb-9480-33068f70dc5a", "address_bindings": [{"ip_address":"192.168.1.110", "mac_address":"aa:bb:cc:dd:ee:ff"}], "attachment": {"attachment_type":"VIF","id":"vif1"}, "admin_state": "UP", "_revision": 0 } Successful Response:
Example Response: { "id": "95a93e66-4fb1-4f7d-9484-1c8fd521e741", "display_name": "95a93e66-4fb1-4f7d-9484-1c8fd521e741", "resource_type": "LogicalPort", "address_bindings": [ { "mac_address": "aa:bb:cc:dd:ee:ff", "ip_address": "192.168.1.110", "vlan": 0 } ], "logical_switch_id": "849e339e-64b7-47cb-9480-33068f70dc5a", "admin_state": "UP", "attachment": { "id": "vif1", "attachment_type": "VIF" }, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "admin", "_last_modified_time": 1435284879143, "_create_time": 1435284566908, "_create_user": "admin", "_revision": 1 } Required Permissions: Feature: switching_ports Additional Errors:
Delete a Logical Port (Deprecated)
Deletes the specified logical switch port. By default, if logical port hasattachments, or it is added to any NSGroup, the deletion will be failed.
Option detach could be used for deleting logical port forcibly. This api is now deprecated.
Please use new api - DELETE /infra/segments/<segment-id>/ports/<port-id>
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-ports/95a93e66-4fb1-4f7d-9484-1c8fd521e741 Successful Response:
Required Permissions: Feature: switching_ports Additional Errors:
Get MAC table of a logical port with a given port id (lport-id)
Returns MAC table of a specified logical port. If the target transport node id is not provided,the NSX manager will ask the controller for the transport node where the logical port is located.
The query parameter "source=cached" is not supported. MAC table retrieval is not supported on
logical ports that are attached to a logical router.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/<lport-id>/mac-table Successful Response:
Example Response: { "sort_ascending" : true, "sort_by" : "display_name", "result_count" : 1, "logical_port_id" : "44766063-7068-4c82-9411-4e16c36d7c46", "last_update_timestamp" : 1496342672613, "transport_node_id" : "5a9bb1be-3f1b-11e7-80b9-53f65a56b3df", "results" : [ { "mac_address" : "00:50:56:b7:e1:04", "mac_type" : "STATIC" } ] } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get MAC table of a logical port with a given port id (lport-id)
Returns MAC table in CSV format of a specified logical port. If the target transport node id is not provided,the NSX manager will ask the controller for the transport node where the logical port is located.
The query parameter "source=cached" is not supported. MAC table retrieval is not supported on
logical ports that are attached to a logical router.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/<lport-id>/mac-table?format=csv Successful Response:
Example Response: mac_address,mac_type 00:50:56:b7:e1:04,STATIC Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get realized state & location of a logical port (Deprecated)
Returns transport node id for a specified logical port. Also returnsinformation about all address bindings of the specified logical port. This
includes address bindings discovered via various snooping methods like ARP
snooping, DHCP snooping etc. and addressing bindings that are realized
based on user configuration. This api is now deprecated. Please use new api -
GET policy/api/v1/infra/realized-state/realized-entities?intent_path={{intent-path}}
GET policy/api/v1/infra/realized-state/status?intent_path={{intent-path}}
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/9467676a-aeae-46f7-90f1-c771e02d1669/state Successful Response:
Example Response: { "id": "9467676a-aeae-46f7-90f1-c771e02d1669", "transport_node_ids": [], "discovered_bindings": [ { "source": "ARP_SNOOPING" "binding": { ip_address: "192.168.1.10", mac_address: "aa:bb:cc:dd:ee:ff", vlan: "" } "binding_timestamp": 1457127071089 }, { "source": "DHCP_SNOOPING" "binding": { ip_address: "192.168.1.10", mac_address: "aa:bb:cc:dd:ee:ff", vlan: "" } "binding_timestamp": 1457127071089 } ], "realized_bindings": [ { "source": "USER_DEFINED" "binding": { ip_address: "192.168.1.10", mac_address: "aa:bb:cc:dd:ee:ff", vlan: "" } "binding_timestamp": 1117127071050 }, ] } Required Permissions: Feature: switching_ports Additional Errors:
Get Statistics for Logical Port of a Given Port ID (lport-id)
Returns statistics of a specified logical port. If the logical port is attached toa logical router port, query parameter "source=realtime" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/<lport-id>/statistics Successful Response:
Example Response: { "tx_packets": { "total": 0, "dropped": 0, "multicast_broadcast": 0 }, "rx_bytes": { "total": 11473, "multicast_broadcast": 11473 }, "tx_bytes": { "total": 0, "multicast_broadcast": 0 }, "rx_packets": { "total": 56, "dropped": 0, "multicast_broadcast": 56 }, "logical_port_id": "04efc498-b872-40fc-83f8-ebf9317a2766", "last_update_timestamp": 1453500812476 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get Operational Status for Logical Port of a Given Port ID (lport-id)
Returns operational status of a specified logical port. Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/<lport-id>/status Successful Response:
Example Response: { "logical_port_id": "04efc498-b872-40fc-83f8-ebf9317a2766", "last_update_timestamp": 1453764613211, "status": "UP" } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get Operational Status Summary of All Logical Ports in the System
Returns operational status of all logical ports.The query parameter "source=realtime" is not supported.
Pagination is not supported for this API.
The query parameters "cursor", "sort_ascending", "sort_by", "page_size" and "included_fields"
will be ignored.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-ports/status Successful Response:
Example Response: { "up_ports": 6, "total_ports": 6 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Create a Switching Profile (Deprecated)
Creates a new, custom qos, port-mirroring, spoof-guard or port-securityswitching profile. You can override their default switching profile assignments
by creating a new switching profile and assigning it to one or more logical
switches. You cannot override the default ipfix or ip_discovery switching profiles.
This api is now deprecated. Please use new api -
For eg. for QOS profile, please use - PUT /infra/qos-profiles/<qos-profile-id>
Request:
Example Request: POST https://<nsx-mgr>/api/v1/switching-profiles { "resource_type": "SpoofGuardSwitchingProfile", "display_name": "spoof-guard-lswitch-bindings", "white_list_providers": ["LSWITCH_BINDINGS"] } Successful Response:
Example Response: { "resource_type": "SpoofGuardSwitchingProfile", "id": "11a97fd4-b668-4f1c-932d-b3bd087550ea", "display_name": "spoof-guard-lswitch-bindings", "white_list_providers": [ "LSWITCH_BINDINGS" ], "_last_modified_user": "admin", "_last_modified_time": 1435288074327, "_create_time": 1435288074327, "_create_user": "admin", "_revision": 0 } Required Permissions: Feature: switching_switching_profiles Additional Errors:
List Switching Profiles (Deprecated)
Returns information about the system-default and user-configured switchingprofiles. Each switching profile has a unique ID, a display name, and
various other read-only and configurable properties. The default switching
profiles are assigned automatically to each switch. This api is now deprecated.
Please use new api - for QOS profile, please use - /infra/qos-profiles
Request:
Example Request: GET https://<nsx-mgr>/api/v1/switching-profiles Successful Response:
Example Response: { "result_count": 7, "results": [ { "resource_type": "IpDiscoverySwitchingProfile", "id": "49781ebb-6f76-464a-9a7e-c365ba26128b", "display_name": "1-ipdiscoveryprofile-5", "arp_snooping_enabled": true, "dhcp_snooping_enabled": true, "arp_bindings_limit": 128, "vm_tools_enabled": true, "_last_modified_user": "admin", "_last_modified_time": 1435282351153, "_create_time": 1435282351153, "_create_user": "admin", "_revision": 0 }, { "resource_type": "IpDiscoverySwitchingProfile", "id": "64814784-7896-3901-9741-badeff705639", "display_name": "nsx-default-ip-discovery-overlay-profile", "arp_snooping_enabled": true, "dhcp_snooping_enabled": true, "arp_bindings_limit": 128, "vm_tools_enabled": false, "_last_modified_user": "system", "_last_modified_time": 1435280813950, "_create_time": 1435280813950, "_system_owned": true, "_create_user": "system", "_revision": 0 }, { "resource_type": "IpDiscoverySwitchingProfile", "id": "64814874-6987-1093-1479-badeff705639", "display_name": "nsx-default-ip-discovery-vlan-profile", "arp_snooping_enabled": true, "dhcp_snooping_enabled": true, "arp_bindings_limit": 128, "vm_tools_enabled": false, "_last_modified_user": "system", "_last_modified_time": 1435280813950, "_create_time": 1435280813950, "_system_owned": true, "_create_user": "system", "_revision": 0 }, { "resource_type": "PortMirroringSwitchingProfile", "id": "93b4b7e8-f116-415d-a50c-3364611b5d09", "display_name": "nsx-default-port-mirroring-profile", "destinations": [], "direction": "BIDIRECTIONAL", "key": 0, "_last_modified_user": "system", "_last_modified_time": 1435280813949, "_create_time": 1435280813949, "_system_owned": true, "_create_user": "system", "_revision": 0 }, { "resource_type": "QosSwitchingProfile", "id": "f313290b-eba8-4262-bd93-fab5026e9495", "display_name": "nsx-default-qos-switching-profile", "dscp": { "priority": 0, "mode": "TRUSTED" }, "class_of_service": 0, "shaper_configuration": [ { "resource_type": "IngressRateShaper", "enabled": false, "peak_bandwidth_mbps": 0, "burst_size_bytes": 0, "average_bandwidth_mbps": 0 }, { "resource_type": "IngressBroadcastRateShaper", "enabled": false, "peak_bandwidth_kbps": 0, "average_bandwidth_kbps": 0, "burst_size_bytes": 0 }, { "resource_type": "EgressRateShaper", "enabled": false, "peak_bandwidth_mbps": 0, "burst_size_bytes": 0, "average_bandwidth_mbps": 0 } ], "_last_modified_user": "system", "_last_modified_time": 1435280813947, "_create_time": 1435280813947, "_system_owned": true, "_create_user": "system", "_revision": 0 }, { "resource_type": "SpoofGuardSwitchingProfile", "id": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "display_name": "nsx-default-spoof-guard-vif-profile", "white_list_providers": [], "_last_modified_user": "system", "_last_modified_time": 1435280813954, "_create_time": 1435280813954, "_system_owned": true, "_create_user": "system", "_revision": 0 }, { "resource_type": "SwitchSecuritySwitchingProfile", "id": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "display_name": "nsx-default-switch-security-vif-profile", "dhcp_filter": { "client_block_enabled": false, "server_block_enabled": true }, "rate_limits": { "rx_broadcast": 0, "tx_broadcast": 0, "rx_multicast": 0, "tx_multicast": 0 }, "bpdu_filter": { "enabled": true, "white_list": [] }, "_last_modified_user": "system", "_last_modified_time": 1435280813955, "_create_time": 1435280813955, "_system_owned": true, "_create_user": "system", "_revision": 0 } ] } Required Permissions: Feature: switching_switching_profiles Additional Errors:
Delete a Switching Profile (Deprecated)
Deletes the specified switching profile. This api is now deprecated. Use new api - for QOS profile, please use - DELETE /infra/qos-profiles/<qos-profile-id> Request:Example Request: DELETE https://<nsx-mgr>/api/v1/switching-profiles/11a97fd4-b668-4f1c-932d-b3bd087550ea Successful Response:
Required Permissions: Feature: switching_switching_profiles Additional Errors:
Get Switching Profile by ID (Deprecated)
Returns information about a specified switching profile. This api is now deprecated. Please use new api - for QOS profile, please use - /infra/qos-profiles/<qos-profile-id> Request:Example Request: GET https://<nsx-mgr>/api/v1/switching-profiles/f313290b-eba8-4262-bd93-fab5026e9495 Successful Response:
Example Response: { "resource_type": "QosSwitchingProfile", "id": "f313290b-eba8-4262-bd93-fab5026e9495", "display_name": "nsx-default-qos-switching-profile", "dscp": { "priority": 0, "mode": "TRUSTED" }, "class_of_service": 0, "shaper_configuration": [ { "resource_type": "IngressRateShaper", "enabled": false, "peak_bandwidth_mbps": 0, "burst_size_bytes": 0, "average_bandwidth_mbps": 0 }, { "resource_type": "IngressBroadcastRateShaper", "enabled": false, "peak_bandwidth_kbps": 0, "average_bandwidth_kbps": 0, "burst_size_bytes": 0 }, { "resource_type": "EgressRateShaper", "enabled": false, "peak_bandwidth_mbps": 0, "burst_size_bytes": 0, "average_bandwidth_mbps": 0 } ], "_last_modified_user": "system", "_last_modified_time": 1435280813947, "_create_time": 1435280813947, "_system_owned": true, "_create_user": "system", "_revision": 0 } Required Permissions: Feature: switching_switching_profiles Additional Errors:
Update a Switching Profile (Deprecated)
Updates the user-configurable parameters of a switching profile. Only the qos,port-mirroring, spoof-guard and port-security switching profiles can be modified.
You cannot modify the ipfix or ip-discovery switching profiles. This api is now deprecated.
Use new api, for eg., QOS profile - PATCH /infra/qos-profiles/<qos-profile-id>
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/switching-profiles/11a97fd4-b668-4f1c-932d-b3bd087550ea { "resource_type": "QosSwitchingProfile", "description": "", "id": "7f39bf67-ccf5-4613-8993-506ec89d893a", "display_name": "Medium priority", "tags": [], "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configuration": [ { "resource_type": "IngressRateShaper", "enabled": true, "average_bandwidth_mbps": 1000, "peak_bandwidth_mbps": 2000, "burst_size_bytes": 1250 }, { "resource_type": "IngressBroadcastRateShaper", "enabled": true, "burst_size_bytes": 1250, "peak_bandwidth_kbps": 2000, "average_bandwidth_kbps": 2000 }, { "resource_type": "EgressRateShaper", "enabled": false, "average_bandwidth_mbps": 1000, "peak_bandwidth_mbps": 2000, "burst_size_bytes": 1250 } ], "class_of_service": 2, "_revision": 0 } Successful Response:
Example Response: { "resource_type": "QosSwitchingProfile", "description": "", "id": "7f39bf67-ccf5-4613-8993-506ec89d893a", "display_name": "Medium priority", "tags": [], "required_capabilities": [ "switchingprofile.qos.shaper.broadcast" ], "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configuration": [ { "resource_type": "IngressRateShaper", "enabled": true, "average_bandwidth_mbps": 1000, "peak_bandwidth_mbps": 2000, "burst_size_bytes": 1250 }, { "resource_type": "IngressBroadcastRateShaper", "enabled": true, "burst_size_bytes": 1250, "peak_bandwidth_kbps": 2000, "average_bandwidth_kbps": 2000 }, { "resource_type": "EgressRateShaper", "enabled": false, "average_bandwidth_mbps": 1000, "peak_bandwidth_mbps": 2000, "burst_size_bytes": 1250 } ], "class_of_service": 2, "_last_modified_time": 1458857995660, "_last_modified_user": "admin", "_system_owned": false, "_revision": 1 } Required Permissions: Feature: switching_switching_profiles Additional Errors:
Get Counts of Ports and Switches Using This Switching Profile (Deprecated)
This api is now deprecated. Please use new api - GET policy/api/v1/infra/realized-state/status?intent_path={{intent-path}} Request:Example Request: GET https://<nsx-mgr>/api/v1/switching-profiles/7f39bf67-ccf5-4613-8993-506ec89d893a/summary Successful Response:
Example Response: { "num_logical_ports": 1, "switching_profile_id": "7f39bf67-ccf5-4613-8993-506ec89d893a", "num_logical_switches": 0 } Required Permissions: Feature: switching_switching_profiles Additional Errors:
Management Plane API: Networking: Logical Switching: Logical Switches
Create a Logical Switch (Deprecated)
Creates a new logical switch. The request must include thetransport_zone_id, display_name, and admin_state (UP or DOWN). The
replication_mode (MTEP or SOURCE) is required for overlay logical
switches, but not for VLAN-based logical switches. A vlan needs to be
provided for VLAN-based logical switches. This api is now deprecated.
Please use new api -/infra/segments/<segment-id>
Request:
Example Request: POST https://<nsx-mgr>/api/v1/logical-switches { "transport_zone_id":"cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state":"UP", "display_name":"test-logical-switch", "hybrid": true } Successful Response:
Example Response: { "id": "92225022-a786-4c7d-91d1-1f9afa6deebe", "display_name": "test-logical-switch", "resource_type": "LogicalSwitch", "address_bindings": [], "transport_zone_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state": "UP", "vni": 56200, "hybrid": true, "switching_profile_ids": [ { "value": "64814784-7896-3901-9741-badeff705639", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "admin", "_last_modified_time": 1435285527986, "_create_time": 1435285527986, "_create_user": "admin", "_revision": 0, "_schema": "/v1/schema/LogicalSwitch" } Required Permissions: Feature: switching_switches Additional Errors:
List all Logical Switches (Deprecated)
Returns information about all configured logical switches. This api is now deprecated. Please use new api - /infra/segments Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-switches Successful Response:
Example Response: { "result_count": 1, "results": [ { "id": "849e339e-64b7-47cb-9480-33068f70dc5a", "display_name": "ls-demo", "description": "1st logical Switch", "resource_type": "LogicalSwitch", "address_bindings": [], "transport_zone_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state": "UP", "vni": 11144, "hybrid": false, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "admin", "_last_modified_time": 1435282408187, "_create_time": 1435282408187, "_create_user": "admin", "_revision": 0, "_schema": "/v1/schema/LogicalSwitch" } ] } Required Permissions: Feature: switching_switches Additional Errors:
Delete a Logical Switch (Deprecated)
Removes a logical switch from the associated overlay or VLAN transportzone. By default, a logical switch cannot be deleted if there are logical
ports on the switch, or it is added to a NSGroup.
Cascade option can be used to delete all ports and the logical switch.
Detach option can be used to delete the logical switch forcibly. This api is now deprecated.
Please use new api - /infra/segments/<segment-id>
Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/logical-switches/92225022-a786-4c7d-91d1-1f9afa6deebe Successful Response:
Required Permissions: Feature: switching_switches Additional Errors:
Get Logical Switch associated with the provided id (lswitch-id) (Deprecated)
Returns information about the specified logical switch Id. This api is now deprecated. Please use new api - /infra/segments/<segment-id> Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/849e339e-64b7-47cb-9480-33068f70dc5a Successful Response:
Example Response: { "id": "849e339e-64b7-47cb-9480-33068f70dc5a", "display_name": "ls-demo", "description": "1st logical Switch", "resource_type": "LogicalSwitch", "address_bindings": [], "transport_zone_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state": "UP", "vni": 11144, "hybrid": true, "switching_profile_ids": [ { "value": "49781ebb-6f76-464a-9a7e-c365ba26128b", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "admin", "_last_modified_time": 1435282408187, "_create_time": 1435282408187, "_create_user": "admin", "_revision": 0, "_schema": "/v1/schema/LogicalSwitch" } Required Permissions: Feature: switching_switches Additional Errors:
Update a Logical Switch (Deprecated)
Modifies attributes of an existing logical switch. Modifiableattributes include admin_state, replication_mode, switching_profile_ids
and VLAN spec. You cannot modify the original transport_zone_id.
This api is now deprecated. Please use new api - PATCH /infra/segments/<segment-id>
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/logical-switches/92225022-a786-4c7d-91d1-1f9afa6deebe { "transport_zone_id":"cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state": "UP", "hybrid": false, "_revision": 0 } Successful Response:
Example Response: { "id": "92225022-a786-4c7d-91d1-1f9afa6deebe", "display_name": "92225022-a786-4c7d-91d1-1f9afa6deebe", "resource_type": "LogicalSwitch", "transport_zone_id": "cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state": "UP", "vni": 56200, "hybrid": false, "switching_profile_ids": [ { "value": "64814784-7896-3901-9741-badeff705639", "key": "IpDiscoverySwitchingProfile" }, { "value": "fad98876-d7ff-11e4-b9d6-1681e6b88ec1", "key": "SpoofGuardSwitchingProfile" }, { "value": "93b4b7e8-f116-415d-a50c-3364611b5d09", "key": "PortMirroringSwitchingProfile" }, { "value": "fbc4fb17-83d9-4b53-a286-ccdf04301888", "key": "SwitchSecuritySwitchingProfile" }, { "value": "f313290b-eba8-4262-bd93-fab5026e9495", "key": "QosSwitchingProfile" } ], "_last_modified_user": "admin", "_last_modified_time": 1435285886962, "_create_time": 1435285527986, "_create_user": "admin", "_revision": 1, "_schema": "/v1/schema/LogicalSwitch" } Required Permissions: Feature: switching_switches Additional Errors:
Get MAC Table for Logical Switch of the Given ID (lswitch-id)
Returns MAC table of a specified logical switch from the given transportnode if a transport node id is given in the query parameter from the
Central Controller Plane.
The query parameter "source=cached" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/<lswitch-id>/mac-table Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 1, "logical_switch_id": "2bcc9f42-0fb8-4a30-b4a6-db6d4abedf5a", "results": [ { "vtep_mac_address": "00:50:56:6b:e9:b5", "mac_address": "00:0c:29:ec:2b:ce", "vtep_ip": "159.213.45.33" } ] } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get MAC Table for Logical Switch of the Given ID (lswitch-id)
Returns MAC table of a specified logical switch in CSV format from the given transportnode if a transport node id is given in the query parameter from the
Central Controller Plane.
The query parameter "source=cached" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/<lswitch-id>/mac-table?format=csv&source=realtime Successful Response:
Example Response: mac_address,vtep_ip,vtep_mac_address 00:0c:29:ec:2b:ce,159.213.45.33,00:50:56:6b:e9:b5 Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get the realized state associated with provided logical switch id (Deprecated)
Returns current state of the logical switch configuration and details of onlyout-of-sync transport nodes. This api is now deprecated. Please use new api -
policy/api/v1/infra/realized-state/realized-entities?intent_path={{intent-path}}
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/cc5ff938-6f09-4841-8f0f-294e86415472/state Successful Response:
Example Response: { "state" : "in_progress", "logical_switch_id": "cc5ff938-6f09-4841-8f0f-294e86415472", "details": [ { "state" : "in_progress", "sub_system_id" : "366048ba-89d9-435e-ac2e-2c7cf6ed0f33", "sub_system_type" : "TransportNode" } ] } Required Permissions: Feature: switching_switches Additional Errors:
Get Statistics for Logical Switch of the Given ID (lswitch-id)
Returns statistics of a specified logical switch.The query parameter "source=realtime" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/<lswitch-id>/statistics Successful Response:
Example Response: { "tx_packets": { "total": 18, "dropped": 0, "multicast_broadcast": 0 }, "rx_bytes": { "total": 22358, "multicast_broadcast": 11473 }, "tx_bytes": { "total": 1068, "multicast_broadcast": 0 }, "rx_packets": { "total": 98, "dropped": 42, "multicast_broadcast": 56 }, "logical_switch_id": "2bcc9f42-0fb8-4a30-b4a6-db6d4abedf5a" } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get Logical Switch runtime status info for a given logical switch (Deprecated)
Returns the number of ports assigned to logical switch. This api is now deprecated Please use new API - GET policy/api/v1/infra/realized-state/status?intent_path={{intent-path}} Request:Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/cc5ff938-6f09-4841-8f0f-294e86415472/summary Successful Response:
Example Response: { "logical_switch_id": "cc5ff938-6f09-4841-8f0f-294e86415472", "num_logical_ports": 0 } Required Permissions: Feature: switching_switches Additional Errors:
Get virtual tunnel endpoint table for logical switch of the given ID (lswitch-id)
Returns the virtual tunnel endpoint table of a specified logical switchfrom the given transport node if a transport node id is given in the
query parameter, from the Central Controller Plane.
The query parameter "source=cached" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/<lswitch-id>/vtep-table?source=realtime Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 2, "logical_switch_id": "2bcc9f42-0fb8-4a30-b4a6-db6d4abedf5a", "results": [ { "vtep_mac_address": "00:50:56:6b:e9:b5", "vtep_label": 10241, "vtep_ip": "159.213.45.33", "segment_id": "159.213.45.0" }, { "vtep_mac_address": "04:00:9f:d5:2d:23", "vtep_label": 57345, "vtep_ip": "159.213.45.35", "segment_id": "159.213.45.0" } ] } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Get virtual tunnel endpoint table for logical switch of the given ID (lswitch-id)
Returns virtual tunnel endpoint table of a specified logical switch inCSV format from the given transport node if a transport node id is
given in the query parameter from the Central Controller Plane.
The query parameter "source=cached" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/<lswitch-id>/vtep-table?format=csv&source=realtime Successful Response:
Example Response: vtep_label,vtep_ip,vtep_mac_address,segment_id 10241,159.213.45.33,00:50:56:6b:e9:b5,159.213.45.0 57345,159.213.45.35,04:00:9f:d5:2d:23,159.213.45.0 Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
List logical switches by realized state (Deprecated)
Returns a list of logical switches states that have realized state as providedas query parameter. This api is now deprecated. Please use new api -
policy/api/v1/infra/realized-state/realized-entities?intent_path={{intent-path}}
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/state?status=IN_PROGRESS Successful Response:
Example Response: { "state" : "in_progress", "logical_switch_id": "cc5ff938-6f09-4841-8f0f-294e86415472", "details": [ { "state" : "in_progress", "sub_system_id" : "366048ba-89d9-435e-ac2e-2c7cf6ed0f33", "sub_system_type" : "TransportNode" } ] } Required Permissions: Feature: switching_switches Additional Errors:
Get Status Summary of All Logical Switches in the System
Returns Operational status of all logical switches.The query parameter "source=realtime" is not supported.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/logical-switches/status Successful Response:
Example Response: { "total_switches": 6, "fully_realized_switches": 6 } Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Management Plane API: Networking: Services
Management Plane API: Networking: Services: DHCP
Get a paginated list of DHCP server profiles (Deprecated)
Get a paginated list of DHCP server profiles. Request:Example Request: GET https://<nsx-mgr>/api/v1/dhcp/server-profiles Successful Response:
Example Response: { "cursor" : "0036faf85fb5-9242-4d24-abca-0ca59b2b669bDHCP-server-profile-1", "result_count" : 1, "results" : [ { "resource_type" : "DhcpProfile", "id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "display_name" : "DHCP-server-profile-1", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "edge_cluster_member_indexes" : [ 1, 0 ], "enable_standby_relocation" : false "_create_time" : 1478111693174, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478111693174, "_revision" : 0 } ] } Required Permissions: Feature: dhcp_server_profiles Additional Errors:
Create a DHCP server profile (Deprecated)
Create a DHCP server profile. If no edge member is specified, edge membersto run the dhcp servers will be auto-allocated from the edge cluster.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/dhcp/server-profiles { "display_name" : "DHCP-server-profile-2", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "enable_standby_relocation" : true } Successful Response:
Example Response: { "resource_type" : "DhcpProfile", "id" : "ee5711ce-e4d5-4f88-8330-b79c01d3bf7c", "display_name" : "DHCP-server-profile-2", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "enable_standby_relocation" : true, "_create_time" : 1478301260922, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478301260922, "_revision" : 0 } Required Permissions: Feature: dhcp_server_profiles Additional Errors:
Delete a DHCP server profile (Deprecated)
Delete a DHCP server profile specified by the profile id. Request:Example Request: DELETE https://<nsx-mgr>/api/v1/dhcp/server-profiles/ee5711ce-e4d5-4f88-8330-b79c01d3bf7c Successful Response:
Required Permissions: Feature: dhcp_server_profiles Additional Errors:
Update a DHCP server profile (Deprecated)
If both the edge_cluster_member_indexes in the DhcpProfile are changed ina same PUT API, e.g. change from [a,b] to [x,y], the current DHCP server
leases will be lost, which could cause the network crash due to ip conflicts.
Hence the suggestion is to change only one member index in one single update,
e.g. from [a, b] to [a,y].
Please note, the edge_cluster_id in DhcpProfile can NOT be changed by this
PUT operation because all existing DHCP leases will lost. If losing leases
is not a problem, a dedicated re-allocation API is suggested to modify the
edge-cluster-id, i.e. "POST /api/v1/dhcp/dhcp-profiles/<profileiid>?action=reallocate".
Meanwhile, if the edge_cluster_member_indexes was specified currently but
now is changed to none (not specified) via a PUT operation, the edge nodes
will not be auto-selected from edge cluster. Instead, the previously-allocated
edge nodes will continue to be used by the DHCP server. This is because
changing both edge nodes of a DHCP server will lose all existing leases.
In case re-allocation is required and leases lost is not a problem (or can
be recovered), please invoke the reallocate API mentioned above with new
DhcpProfile to accomplish the intent.
Request:
Example Request: PUT https://<nsx-mgr>/api/v1/dhcp/server-profiles/ee5711ce-e4d5-4f88-8330-b79c01d3bf7c { "display_name" : "DHCP-server-profile-3", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "DhcpProfile", "id" : "ee5711ce-e4d5-4f88-8330-b79c01d3bf7c", "display_name" : "DHCP-server-profile-3", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "enable_standby_relocation" : false, "_last_modified_user" : "admin", "_last_modified_time" : 1478301632680, "_revision" : 1 } Required Permissions: Feature: dhcp_server_profiles Additional Errors:
Get a DHCP server profile (Deprecated)
Return the DHCP profile specified by the profile id. Request:Example Request: GET https://<nsx-mgr>/api/v1/dhcp/server-profiles/ee5711ce-e4d5-4f88-8330-b79c01d3bf7c Successful Response:
Example Response: { "resource_type" : "DhcpProfile", "id" : "ee5711ce-e4d5-4f88-8330-b79c01d3bf7c", "display_name" : "DHCP-server-profile-2", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "enable_standby_relocation" : true, "_create_time" : 1478301260922, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478301260922, "_revision" : 0 } Required Permissions: Feature: dhcp_server_profiles Additional Errors:
Reallocate edge cluster and members of given DHCP profile. (Deprecated)
As changing edge-cluster-id of a DhcpProfile by a PUT is disallowed,this re-allocate API is used to modify the edge-cluster-id and members
of a given DhcpProfile.
Only the edge-cluster-id and the edge-cluster-member-indexes fields will
be picked up by this re-allication API. The othere fields in the payload
will be ignored.
If the edge-cluster-id in the payload DhcpProfile is different from the
current edge-cluster-id of the profile, the referencing DHCP server(s) will
be re-allocated to the new edge cluster. If the edge-cluster-id is not
changed, the referencing DHCP server(s) will be re-allocated to the
given edge members in the edge cluster. In this case, this REST API will
act same as that of updating a DhcpProfile.
If the edge cluster member indexes are provided, they should exist in the
given edge cluster. If the indexes are not specified in the DhcpProfile,
edge members will be auto-allocated from the given edge cluster.
Please note that re-allocating edge-cluster will cause lose of all exisitng
DHCP lease information. This API is used only when loosing DHCP leases is
not a real problem, e.g. cross-site migration or failover and all client
hosts will be reboot and get new IP addresses.
Request:
Example Request: POST /api/v1/dhcp/dhcp-profiles/1e2e59c1-5d9d-4231-bc43-5f7c06825e1b?action=reallocate { "edge_cluster_id" : "0748d3ce-2bdc-40ba-90d2-639a7dfe6cfe", "edge_cluster_member_indexes" : [0, 1] } Successful Response:
Example Response: { "resource_type" : "DhcpProfile", "id" : "1e2e59c1-5d9d-4231-bc43-5f7c06825e1b", "display_name" : "DHCP-server-profile-3", "edge_cluster_id" : "0748d3ce-2bdc-40ba-90d2-639a7dfe6cfe", "edge_cluster_member_indexes" : [0, 1], "enable_standby_relocation" : false, "_last_modified_user" : "admin", "_last_modified_time" : 1478302632680, "_revision" : 3 } Required Permissions: Feature: dhcp_servers Additional Errors:
Create a DHCP server (Deprecated)
Create a logical DHCP server with v4 and/or v6 servers.Request:
Example Request: POST https://<nsx-mgr>/api/v1/dhcp/servers { "display_name" : "DHCP-server-2", "dhcp_profile_id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "ipv4_dhcp_server" : { "dhcp_server_ip" : "192.168.110.50/24" } } Successful Response:
Example Response: { "resource_type" : "LogicalDhcpServer", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name" : "DHCP-server-2", "dhcp_profile_id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "ipv4_dhcp_server" : { "dhcp_server_ip" : "192.168.110.50/24" }, "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a paginated list of DHCP servers (Deprecated)
List logical DHCP servers with pagination support. Request:Example Request: Get https://<nsx-mgr>/api/v1/dhcp/servers Successful Response:
Example Response: { "cursor" : "0036e4d0bf07-7ebf-46a1-84b0-6292ca6f52b7DHCP-server-1", "result_count" : 1, "results" : [ { "resource_type" : "LogicalDhcpServer", "id" : "e4d0bf07-7ebf-46a1-84b0-6292ca6f52b7", "display_name" : "DHCP-server-1", "dhcp_profile_id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "ipv4_dhcp_server" : { "dhcp_server_ip" : "192.168.110.50/24" }, "ipv6_dhcp_server" : { "dhcp_server_ip" : "2019::1:0:0:1/96" }, "attached_logical_port_id" : "ecde011f-528f-4ccb-a147-dd45d74103b6", "_create_time" : 1478111770429, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478111770429, "_revision" : 0 } ] } Required Permissions: Feature: dhcp_servers Additional Errors:
Delete a DHCP server (Deprecated)
Delete a logical DHCP server specified by server id. Request:Example Request: DELETE https://<nsx-mgr>/api/v1/dhcp/servers/b6a5bffa-f6a9-447c-936f-4633f9eb43a7 Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Update a DHCP server with v4 and/or v6 servers (Deprecated)
Update a logical DHCP server with new configurations. Request:Example Request: PUT https://<nsx-mgr>/api/v1/dhcp/servers/b6a5bffa-f6a9-447c-936f-4633f9eb43a7 { "display_name" : "DHCP-server-3", "dhcp_profile_id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "ipv4_dhcp_server" : { "dhcp_server_ip" : "192.168.110.50/24" }, "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "LogicalDhcpServer", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name" : "DHCP-server-3", "dhcp_profile_id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "ipv4_dhcp_server" : { "dhcp_server_ip" : "192.168.110.50/24" }, "attached_logical_port_id" : "ecde011f-528f-4ccb-a147-dd45d74103b6", "_last_modified_user" : "admin", "_last_modified_time" : 1478304649896, "_revision" : 1 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a DHCP server with v4 and/or v6 servers (Deprecated)
Retrieve a logical DHCP server specified by server id. Request:Example Request: Get https://<nsx-mgr>/api/v1/dhcp/servers/b6a5bffa-f6a9-447c-936f-4633f9eb43a7 Successful Response:
Example Response: { "resource_type" : "LogicalDhcpServer", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name" : "DHCP-server-2", "dhcp_profile_id" : "faf85fb5-9242-4d24-abca-0ca59b2b669b", "ipv4_dhcp_server" : { "dhcp_server_ip" : "192.168.110.50/24" }, "attached_logical_port_id" : "ecde011f-528f-4ccb-a147-dd45d74103b6", "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a paginated list of a DHCP server's IP pools (Deprecated)
List the ip pools of a logical DHCP server with pagination support.Request:
Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ip-pools Successful Response:
Example Response: { "cursor" : "0036073b1c6e-8591-4621-af6c-5f3dcdd4059fDHCP-ip-pool-2", "result_count" : 1, "results" : [ { "resource_type" : "DhcpIpPool", "id" : "073b1c6e-8591-4621-af6c-5f3dcdd4059f", "display_name" : "DHCP-ip-pool-2", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "allocation_ranges" : [ { "start" : "192.168.150.100", "end" : "192.168.150.200" } ], "error_threshold" : 100, "warning_threshold" : 80, "_create_time" : 1478305498175, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478305498175, "_revision" : 0 } ] } Required Permissions: Feature: dhcp_servers Additional Errors:
Create an ip pool for a DHCP server (Deprecated)
Create an ip pool for a local DHCP server Request:Example Request: POST /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ip-pools { "display_name" : "DHCP-ip-pool-2", "gateway_ip" : "192.168.150.1", "allocation_ranges" : [ { "start" : "192.168.150.100", "end" : "192.168.150.200" } ] } Successful Response:
Example Response: { "resource_type" : "DhcpIpPool", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name" : "DHCP-ip-pool-2", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "allocation_ranges" : [ { "start" : "192.168.150.100", "end" : "192.168.150.200" } ], "error_threshold" : 100, "warning_threshold" : 80, "_create_time" : 1478305919915, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478305919915, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Update a DHCP server's IP pool (Deprecated)
Update a specific ip pool of a given logical DHCP server. Request:Example Request: PUT /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd { "display_name" : "DHCP-ip-pool-3", "gateway_ip" : "192.168.150.1", "allocation_ranges" : [ { "start" : "192.168.150.100", "end" : "192.168.150.200" } ], "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "DhcpIpPool", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name" : "DHCP-ip-pool-3", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "allocation_ranges" : [ { "start" : "192.168.150.100", "end" : "192.168.150.200" } ], "error_threshold" : 100, "warning_threshold" : 80, "_last_modified_user" : "admin", "_last_modified_time" : 1478306403854, "_revision" : 1 } Required Permissions: Feature: dhcp_servers Additional Errors:
Delete a DHCP server's IP pool (Deprecated)
Delete a specific ip pool of a given logical DHCP server. Request:Example Request: DELETE /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Get a DHCP server's IP pool with the specified pool ID (Deprecated)
Return a specific ip pool of a given logical DHCP server. Request:Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Example Response: { "resource_type" : "DhcpIpPool", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name" : "DHCP-ip-pool-2", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "allocation_ranges" : [ { "start" : "192.168.150.100", "end" : "192.168.150.200" } ], "error_threshold" : 100, "warning_threshold" : 80, "_create_time" : 1478305919915, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478305919915, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get the realized state of a dhcp ip pool (Deprecated)
Return realized state information of a dhcp ip pool.After a dhcp ip pool is created or updated, you can invoke this API to get
the realization information of the ip pool.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/dhcp/servers/f962173f-ac03-4d08-8366-56a41779f61d/ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd/state?request_id=3433a089-feff-4ede-a049-6950f201f0b5 Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: dhcp_servers Additional Errors:
Create an ip pool for a DHCP IPv6 server (Deprecated)
Create an ip pool for a local DHCP IPv6 server Request:Example Request: POST /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-ip-pools { "display_name" : "dhcp-v6-ip-pool-1", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }] } Successful Response:
Example Response: { "resource_type" : "DhcpV6IpPool", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name" : "dhcp-v6-ip-pool-1", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }], "_create_time" : 1478305919915, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478305919915, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a paginated list of a DHCP IPv6 server's IP pools (Deprecated)
List the ip pools of a logical DHCP IPv6 server with pagination support.Request:
Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-ip-pools Successful Response:
Example Response: { "cursor" : "0036073b1c6e-8591-4621-af6c-5f3dcdd4059fDHCP-ip-pool-2", "result_count" : 1, "results" : [ { "resource_type" : "DhcpV6IpPool", "id" : "073b1c6e-8591-4621-af6c-5f3dcdd4059f", "display_name" : "dhcp-v6-ip-pool-1", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }], "_create_time" : 1478305498175, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478305498175, "_revision" : 0 } ] } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a DHCP IPv6 server's IP pool with the specified pool ID (Deprecated)
Return a specific ip pool of a given logical DHCP IPv6 server. Request:Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Example Response: { "resource_type" : "DhcpV6IpPool", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name" : "dhcp-v6-ip-pool-1", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }], "_create_time" : 1478305919915, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478305919915, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Update a DHCP IPv6 server's IP pool (Deprecated)
Update a specific ip pool of a given logical DHCP IPv6 server. Request:Example Request: PUT /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd { "display_name" : "DHCP-ip-pool-3", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }], "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "DhcpIpPool", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name" : "DHCP-ip-pool-3", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }], "_last_modified_user" : "admin", "_last_modified_time" : 1478306403854, "_revision" : 1 } Required Permissions: Feature: dhcp_servers Additional Errors:
Delete a DHCP IPv6 server's IP pool (Deprecated)
Delete a specific ip pool of a given logical DHCP IPv6 server. Request:Example Request: DELETE /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-ip-pools/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Get a paginated list of a DHCP IPv6 server's static bindings (Deprecated)
Return a paginated list of a static bindings of a given logical DHCP IPv6 server.Request:
Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-static-bindings Successful Response:
Example Response: { "cursor" : "00363433a089-feff-4ede-a049-6950f201f0b512:34:56:78:9a:bc", "result_count" : 1, "results" : [ { "resource_type" : "DhcpV6StaticBinding", "id" : "3433a089-feff-4ede-a049-6950f201f0b5", "display_name" : "dhcp-v6-binding-host-1", "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc", "_create_time" : 1478112071458, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478112071458, "_revision" : 0 } ] } Required Permissions: Feature: dhcp_servers Additional Errors:
Create a static binding for a DHCP IPv6 server (Deprecated)
Create a static binding for a logical DHCP IPv6 server. Request:Example Request: POST https://<nsx-mgr>/api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-static-bindings { "display_name" : "dhcp-v6-binding-host-1", "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc" } Successful Response:
Example Response: { "resource_type" : "DhcpV6StaticBinding", "id" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "display_name" : "dhcp-v6-binding-host-1", "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc", "_create_time" : 1478309747583, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478309747583, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Update a DHCP IPv6 server's static binding (Deprecated)
Update a specific static binding of a given local DHCP IPv6 server. Request:Example Request: PUT /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 { "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc", "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "DhcpV6StaticBinding", "id" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "display_name" : "dhcp-v6-binding-host-1", "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc", "_last_modified_user" : "admin", "_last_modified_time" : 1478310104268, "_revision" : 1 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a DHCP IPv6 server's static binding with the specified binding ID (Deprecated)
Return a specific static binding of a given logical DHCP IPv6 server.Request:
Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 Successful Response:
Example Response: { "resource_type" : "DhcpV6StaticBinding", "id" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "display_name" : "dhcp-v6-binding-host-1", "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc", "_create_time" : 1478309747583, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478309747583, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Delete a static binding for DHCP IPv6 server (Deprecated)
Delete a specific static binding of a given logical DHCP IPv6 server. Request:Example Request: DELETE /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/ipv6-static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Delete a single DHCP lease entry specified by ip and mac.
Delete a single DHCP lease entry specified by ip and mac.The DHCP server matches the DHCP lease with the given ip address and
the mac address. The matched lease entry will be deleted. If no lease
matches, the request is ignored.
The DHCP lease to be deleted will be removed by the system from both active
and standby node. The system will report error if the DHCP lease could not
be removed from both nodes. If the DHCP lease could not be removed on either
node, please check the DHCP server status. Once the DHCP server status is
UP, please invoke the deletion API again to ensure the lease gets deleted
from both nodes.
Request:
Example Request: DELETE /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/leases?ip=192.168.100.6&mac=02:42:21:4d:bc:b7 Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Get the realized state of a dhcp server (Deprecated)
Return realized state information of a dhcp server.After a dhcp server is created or updated, you can invoke this API to get
the realization information of the server.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/dhcp/servers/f962173f-ac03-4d08-8366-56a41779f61d/state?request_id=1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a paginated list of a DHCP server's static bindings (Deprecated)
Return a paginated list of a static bindings of a given logical DHCP server.Request:
Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/static-bindings Successful Response:
Example Response: { "cursor" : "00363433a089-feff-4ede-a049-6950f201f0b512:34:56:78:9a:bc", "result_count" : 1, "results" : [ { "resource_type" : "DhcpStaticBinding", "id" : "3433a089-feff-4ede-a049-6950f201f0b5", "display_name" : "12:34:56:78:9a:bc", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "mac_address" : "12:34:56:78:9a:bc", "ip_address" : "192.168.150.201", "host_name" : "machine-1", "_create_time" : 1478112071458, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478112071458, "_revision" : 0 } ] } Required Permissions: Feature: dhcp_servers Additional Errors:
Create a static binding for a DHCP server (Deprecated)
Create a static binding for a logical DHCP server. Request:Example Request: POST https://<nsx-mgr>/api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/static-bindings { "gateway_ip" : "192.168.150.1", "mac_address" : "12:34:56:78:9a:bc", "ip_address" : "192.168.150.201", "host_name" : "machine-1" } Successful Response:
Example Response: { "resource_type" : "DhcpStaticBinding", "id" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "display_name" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "mac_address" : "12:34:56:78:9a:bc", "ip_address" : "192.168.150.201", "host_name" : "machine-1", "_create_time" : 1478309747583, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478309747583, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Update a DHCP server's static binding (Deprecated)
Update a specific static binding of a given local DHCP server. Request:Example Request: PUT /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 { "gateway_ip" : "192.168.150.1", "mac_address" : "12:34:56:78:9a:bc", "ip_address" : "192.168.150.202", "host_name" : "machine-1", "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "DhcpStaticBinding", "id" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "display_name" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "mac_address" : "12:34:56:78:9a:bc", "ip_address" : "192.168.150.202", "host_name" : "machine-1", "_last_modified_user" : "admin", "_last_modified_time" : 1478310104268, "_revision" : 1 } Required Permissions: Feature: dhcp_servers Additional Errors:
Get a DHCP server's static binding with the specified binding ID (Deprecated)
Return a specific static binding of a given logical DHCP server.Request:
Example Request: GET /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 Successful Response:
Example Response: { "resource_type" : "DhcpStaticBinding", "id" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "display_name" : "6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8", "lease_time" : 86400, "gateway_ip" : "192.168.150.1", "mac_address" : "12:34:56:78:9a:bc", "ip_address" : "192.168.150.201", "host_name" : "machine-1", "_create_time" : 1478309747583, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478309747583, "_revision" : 0 } Required Permissions: Feature: dhcp_servers Additional Errors:
Delete a static binding (Deprecated)
Delete a specific static binding of a given logical DHCP server. Request:Example Request: DELETE /api/v1/dhcp/servers/d7f425da-25d2-4e5e-ae9e-ea112375971d/static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Get the realized state of a dhcp static binding (Deprecated)
Return realized state information of a dhcp static binding.After a dhcp static binding is created or updated, you can invoke this API to get
the realization information of the static binding.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/dhcp/servers/f962173f-ac03-4d08-8366-56a41779f61d/static-bindings/6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8/state?request_id=6f866db1-1ac9-44b5-9ba0-eb87b5bd0ef8 Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: dhcp_servers Additional Errors:
Get DHCP service status with given dhcp server id (Deprecated)
Returns the service status of the given dhcp server.Request:
Example Request: TODO Successful Response:
Required Permissions: Feature: dhcp_servers Additional Errors:
Management Plane API: Networking: Services: DHCP Relay
Create a DHCP Relay Service (Deprecated)
Creates a dhcp relay service.Request:
Example Request: POST https://<nsx-mgr>/api/v1/dhcp/relays { "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1" } Successful Response:
Example Response: { "resource_type" : "DhcpRelayService", "_revision": 0, "id": "fac2f67e-a860-4a9f-842b-a3cb6e34bb73", "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "_last_modified_user": "admin", "_last_modified_time": 1414704710165, "_create_time": 1414704710165, "_create_user": "admin" } Required Permissions: Feature: dhcp_relay_services Additional Errors:
List all DHCP Relay Services (Deprecated)
Returns information about all configured dhcp relay services.Request:
Example Request: GET https://<nsx-mgr>/api/v1/dhcp/relays Successful Response:
Example Response: { "result_count": 1, "results": [ { "resource_type" : "DhcpRelayService", "_revision": 0, "id": "fac2f67e-a860-4a9f-842b-a3cb6e34bb73", "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "_last_modified_user": "admin", "_last_modified_time": 1414704710165, "_create_time": 1414704710165, "_create_user": "admin" } ] } Required Permissions: Feature: dhcp_relay_services Additional Errors:
Update a DHCP Relay Service (Deprecated)
Modifies the specified dhcp relay service.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/dhcp/relays/fac2f67e-a860-4a9f-842b-a3cb6e34bb73 { "_revision": 1, "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1" } Successful Response:
Example Response: { "resource_type" : "DhcpRelayService", "_revision": 2, "id": "fac2f67e-a860-4a9f-842b-a3cb6e34bb73", "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "_last_modified_user": "admin", "_last_modified_time": 1414705228041, "_create_time": 1414704710165, "_create_user": "admin" } Required Permissions: Feature: dhcp_relay_services Additional Errors:
Delete a DHCP Relay Service (Deprecated)
Deletes the specified dhcp relay service. Request:Example Request: DELETE https://<nsx-mgr>/api/v1/dhcp/relays/fac2f67e-a860-4a9f-842b-a3cb6e34bb73 Successful Response:
Required Permissions: Feature: dhcp_relay_services Additional Errors:
Read a DHCP Relay Service (Deprecated)
Returns the dhcp relay service information. Request:Example Request: GET https://<nsx-mgr>/api/v1/dhcp/relays/bbfa30e4-87b6-41b8-8da5-771055967da1 Successful Response:
Example Response: { "resource_type" : "DhcpRelayService", "_revision": 0, "id": "fac2f67e-a860-4a9f-842b-a3cb6e34bb73", "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "_last_modified_user": "admin", "_last_modified_time": 1414704710165, "_create_time": 1414704710165, "_create_user": "admin" } Required Permissions: Feature: dhcp_relay_services Additional Errors:
Management Plane API: Networking: Services: DHCP Relay Profiles
List All DHCP Relay Profiles (Deprecated)
Returns information about all dhcp relay profiles.Request:
Example Request: GET https://<nsx-mgr>/api/v1/dhcp/relay-profiles Successful Response:
Example Response: { "result_count": 1, "results": [ { "resource_type": "DhcpRelayProfile", "_revision": 0, "id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "display_name": "dhcp-relay-external-servers", "server_addresses": [ "10.1.1.1", "10.2.2.2", "10.3.3.3", "10.4.4.4" ], "_last_modified_user": "admin", "_last_modified_time": 1414623610509, "_create_time": 1414623610509, "_create_user": "admin" } ] } Required Permissions: Feature: dhcp_relay_profile Additional Errors:
Create a DHCP Relay Profile (Deprecated)
Creates a dhcp relay profile.Request:
Example Request: POST https://<nsx-mgr>/api/v1/dhcp/relay-profiles { "server_addresses" : [ "10.1.1.1", "10.2.2.2", "10.3.3.3", "10.4.4.4" ], "display_name" : "dhcp-relay-external-servers", } Successful Response:
Example Response: { "resource_type": "DhcpRelayProfile", "_revision": 0, "id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "display_name": "dhcp-relay-external-servers", "server_addresses": [ "10.1.1.1", "10.2.2.2", "10.3.3.3", "10.4.4.4" ], "_last_modified_user": "admin", "_last_modified_time": 1414623610509, "_create_time": 1414623610509, "_create_user": "admin" } Required Permissions: Feature: dhcp_relay_profile Additional Errors:
Update a DHCP Relay Profile (Deprecated)
Modifies the specified dhcp relay profile.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/dhcp/relay-profiles/bbfa30e4-87b6-41b8-8da5-771055967da1 { "_revision": 1, "display_name": "dhcp-relay-servers", "server_addresses": [ "10.10.1.1", "10.20.2.2", "10.30.3.3", "10.40.4.4" ] } Successful Response:
Example Response: { "resource_type": "DhcpRelayProfile", "_revision": 2, "id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "display_name": "dhcp-relay-servers", "server_addresses": [ "10.10.1.1", "10.20.2.2", "10.30.3.3", "10.40.4.4" ], "_last_modified_user": "admin", "_last_modified_time": 1414624153541, "_create_time": 1414623610509, "_create_user": "admin" } Required Permissions: Feature: dhcp_relay_profile Additional Errors:
Delete a DHCP Relay Profile (Deprecated)
Deletes the specified dhcp relay profile. Request:Example Request: DELETE https://<nsx-mgr>/api/v1/dhcp/relay-profiles/bbfa30e4-87b6-41b8-8da5-771055967da1 Successful Response:
Required Permissions: Feature: dhcp_relay_profile Additional Errors:
Read a DHCP Relay Profile (Deprecated)
Returns information about the specified dhcp relay profile. Request:Example Request: GET https://<nsx-mgr>/api/v1/dhcp/relay-profiles/bbfa30e4-87b6-41b8-8da5-771055967da1 Successful Response:
Example Response: { "resource_type": "DhcpRelayProfile", "_revision": 0, "id": "bbfa30e4-87b6-41b8-8da5-771055967da1", "display_name": "dhcp-relay-external-servers", "server_addresses": [ "10.1.1.1", "10.2.2.2", "10.3.3.3", "10.4.4.4" ], "_last_modified_user": "admin", "_last_modified_time": 1414623610509, "_create_time": 1414623610509, "_create_user": "admin" } Required Permissions: Feature: dhcp_relay_profile Additional Errors:
Management Plane API: Networking: Services: DNS
Create a DNS forwader (Deprecated)
Create a DNS forwader upon a logical router. There is onlyone DNS forwarder can be created upon a given logical router.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/dns/forwarders { "display_name": "tenant_A_dns_forwarder", "logical_router_id": "e2fa39aa-f4ca-4781-ac48-60a6c47d34f8", "cache_size": 1024, "listener_ip": "10.10.10.10", "default_forwarder": { "upstream_servers": [ "1.1.1.1", "2.2.2.2", "3.3.3.3" ], "source_ip": "10.10.10.11" }, "conditional_forwarders": [ { "domain_names": [ "foo.com", "0.0.130.in-addr.arpa" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.10.10.12" },{ "domain_names": [ "dev.foo.com" ], "upstream_servers": [ "9.9.9.9" ], "source_ip": "10.10.10.101" },{ "domain_names": [ "bar.com", "0.70.in-addr.arpa" ], "upstream_servers": [ "55.55.55.5" ], "source_ip": "10.10.10.13" } ], "log_level": "INFO" } Successful Response:
Example Response: { "resource_type" : "DnsFowarder", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name": "tenant_A_dns_forwarder", "logical_router_id": "e2fa39aa-f4ca-4781-ac48-60a6c47d34f8", "cache_size": 1024, "listener_ip": "10.10.10.10", "default_forwarder": { "upstream_servers": [ "1.1.1.1", "2.2.2.2", "3.3.3.3" ], "source_ip": "10.10.10.11" }, "conditional_forwarders": [ { "domain_names": [ "foo.com", "0.0.130.in-addr.arpa" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.10.10.12" },{ "domain_names": [ "dev.foo.com" ], "upstream_servers": [ "9.9.9.9" ], "source_ip": "10.10.10.101" },{ "domain_names": [ "bar.com", "0.0.70.in-addr.arpa" ], "upstream_servers": [ "55.55.55.5" ], "source_ip": "10.10.10.13" } ], "log_level": "INFO", "_create_user" : "admin", "_last_modified_user" : "admin", "_create_time" : 1478305498175, "_last_modified_time" : 1478305498175, "_system_owned" : false, "_revision" : 0 } Required Permissions: Feature: dns_forwarder Additional Errors:
Get a paginated list of DNS forwarders (Deprecated)
Get a paginated list of DNS forwarders.Request:
Example Request: GET https://<nsx-mgr>/api/v1/dns/forwarders Successful Response:
Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 2, "results": [ { "resource_type": "DnsFowarder", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name": "tenant_A_dns_forwarder", "logical_router_id": "e2fa39aa-f4ca-4781-ac48-60a6c47d34f8", "cache_size": 1024, "listener_ip": "10.10.10.10", "default_forwarder": { "upstream_servers": [ "1.1.1.1" ], "source_ip": "10.10.10.11" }, "conditional_forwarders": [ { "domain_names": [ "foo.com" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.10.10.12" },{ "domain_names": [ "dev.foo.com" ], "upstream_servers": [ "9.9.9.9" ], "source_ip": "10.10.10.101" },{ "domain_names": [ "bar.com" ], "upstream_servers": [ "55.55.55.5" ], "source_ip": "10.10.10.13" } ], "log_level": "INFO", "_create_user" : "admin", "_last_modified_user" : "admin", "_create_time" : 1478305498175, "_last_modified_time" : 1478305499183, "_system_owned" : false, "_revision" : 1 }, { "resource_type": "DnsFowarder", "id" : "facbc7e8-2a1b-44f0-a013-6791d840277a", "display_name": "tenant_B_dns_forwarder", "logical_router_id": "5079b683-9c7e-4d56-a7d4-8bdb846dee8f", "cache_size": 24, "listener_ip": "192.168.10.2", "default_forwarder": { "upstream_servers": [ "1.1.1.1" ], "source_ip": "10.117.7.10" }, "conditional_forwarders": [ { "domain_names": [ "abc.com" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.117.7.11" } ], "log_level": "INFO", "_create_user" : "admin", "_last_modified_user" : "admin", "_create_time" : 1478305490071, "_last_modified_time" : 1478305490071, "_system_owned" : false, "_revision" : 0 } ] } Required Permissions: Feature: dns_forwarder Additional Errors:
Delete a specific DNS forwarder (Deprecated)
Delete a specific DNS forwarder.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Required Permissions: Feature: dns_forwarder Additional Errors:
Retrieve a DNS forwarder (Deprecated)
Retrieve a DNS forwarder.Request:
Example Request: GET https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Example Response: { "resource_type" : "DnsFowarder", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name": "tenant_A_dns_forwarder", "logical_router_id": "e2fa39aa-f4ca-4781-ac48-60a6c47d34f8", "cache_size": 1024, "listener_ip": "10.10.10.10", "default_forwarder": { "upstream_servers": [ "1.1.1.1", "2.2.2.2", "3.3.3.3" ], "source_ip": "10.10.10.11" }, "conditional_forwarders": [ { "domain_names": [ "foo.com", "0.0.30.in-addr.arpa" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.10.10.12" },{ "domain_names": [ "dev.foo.com" ], "upstream_servers": [ "9.9.9.9" ], "source_ip": "10.10.10.101" },{ "domain_names": [ "bar.com" ], "upstream_servers": [ "55.55.55.5" ], "source_ip": "10.10.10.13" } ], "log_level": "INFO", "_create_user" : "admin", "_last_modified_user" : "admin", "_create_time" : 1478305498175, "_last_modified_time" : 1478305498175, "_system_owned" : false, "_revision" : 0 } Required Permissions: Feature: dns_forwarder Additional Errors:
Update a specific DNS forwarder (Deprecated)
Update a specific DNS forwarder.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd { "display_name": "tenant_A_dns_forwarder", "logical_router_id": "e2fa39aa-f4ca-4781-ac48-60a6c47d34f8", "cache_size": 1024, "listener_ip": "10.10.10.10", "default_forwarder": { "upstream_servers": [ "1.1.1.1", "2.2.2.2", "3.3.3.3" ], "source_ip": "10.10.10.11" }, "conditional_forwarders": [ { "domain_names": [ "foo.com" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.10.10.12" },{ "domain_names": [ "dev.foo.com" ], "upstream_servers": [ "9.9.9.9" ], "source_ip": "10.10.10.101" },{ "domain_names": [ "bar.com" ], "upstream_servers": [ "55.55.55.5" ], "source_ip": "10.10.10.13" } ], "log_level": "INFO", "_revision" : 1 } Successful Response:
Example Response: { "resource_type" : "DnsFowarder", "id" : "1b6cb97f-ffa3-407c-b2ed-a9616feb95dd", "display_name": "tenant_A_dns_forwarder", "logical_router_id": "e2fa39aa-f4ca-4781-ac48-60a6c47d34f8", "cache_size": 1024, "listener_ip": "10.10.10.10", "default_forwarder": { "upstream_servers": [ "1.1.1.1", "2.2.2.2", "3.3.3.3" ], "source_ip": "10.10.10.11" }, "conditional_forwarders": [ { "domain_names": [ "foo.com" ], "upstream_servers": [ "8.8.8.8" ], "source_ip": "10.10.10.12" },{ "domain_names": [ "dev.foo.com" ], "upstream_servers": [ "9.9.9.9" ], "source_ip": "10.10.10.101" },{ "domain_names": [ "bar.com" ], "upstream_servers": [ "55.55.55.5" ], "source_ip": "10.10.10.13" } ], "log_level":"INFO", "_create_user" : "admin", "_last_modified_user" : "admin", "_create_time" : 1478305498175, "_last_modified_time" : 1478305499183, "_system_owned" : false, "_revision" : 2 } Required Permissions: Feature: dns_forwarder Additional Errors:
Get the recent failed DNS queries
Return the given count of recent failed DNS queries from DNS forwarder.Since the DNS forwarder is running in Acitve/Standby HA mode on transport
nodes, the given count of queries will be returned from each nodes. Hence
the total queries returned could be doubled.
If no count is specified, 100 recent failed queries are returned. If the
recent failures is less than the given count, all the failures will be
returned. The maximum count is 1,000.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/dns/forwarders/f962173f-ac03-4d08-8366-56a41779f61d/failed-queries?count=10 Successful Response:
Example Response: { "timestamp" : "2019-02-12 09:08:12.120", "per_node_failed_queries" : [ { "count" : 2, "node_id" : "aedc2af2-4c5c-11e9-aa7d-0200400d53ef", "timestamp" : "2019-02-12 09:09:12.120", "results" : [ { "timestamp": "2019-02-11 18:20:20.026", "address" : "dev.vmware.com", "record_type" : "A", "query_target" : "DnsForwarder", "client_ip": "192.168.7.10", "forwarder_ip": "172.128.10.10", "source_ip": "192.168.7.10", "upstream_server_ip": "11.11.11.1", "time_spent": 120, "error_type": "NXDOMAIN", "error_message" : "NXDOMAIN" }, { "timestamp": "2019-02-11 08:21:28.200", "address" : "abc.vmware.com", "record_type" : "A", "query_target" : "Upstream Server", "client_ip": "11.11.11.11", "forwarder_ip": "172.128.11.77", "source_ip": "11.11.11.11", "upstream_server_ip": "8.8.8.8", "time_spent": 60008, "error_type": "timeout", "error_message" : "connection timeout" }] }, { "count" : 2, "node_id" : "c73e587c-4c5c-11e9-87cb-0200407787ca", "timestamp" : "2019-02-12 09:10:12.120", "results" : [ { "timestamp": "2019-02-11 18:20:20.026", "address" : "host1.vmc.vmware.com", "record_type" : "A", "query_target" : "DnsForwarder", "client_ip": "117.168.10.22", "forwarder_ip": "172.128.50.11", "source_ip": "192.168.7.10", "upstream_server_ip": "11.11.11.1", "time_spent": 1100, "error_type": "NXDOMAIN", "error_message" : "NXDOMAIN" }, { "timestamp": "2019-02-11 08:21:28.200", "address" : "host1.wix.vmware.com", "record_type" : "A", "query_target" : "Upstream Server", "client_ip": "22.22.22.22", "forwarder_ip": "172.128.5.8", "source_ip": "11.11.11.10", "upstream_server_ip": "9.9.9.9", "time_spent": 51002, "error_type": "timeout", "error_message" : "connection timeout" }] }] } Required Permissions: Feature: dns_forwarder Additional Errors:
Resolve a given address via the DNS forwarder (Deprecated)
Query the nameserver for an ip-address or a FQDN of the given an address optionally usingan specified DNS server. If the address is a fqdn, nslookup will resolve ip-address with it.
If the address is an ip-address, do a reverse lookup and answer fqdn(s).
Request:
Example Request: GET https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd/nslookup?address=vmware.com Successful Response:
Example Response: { "dns_server" : "10.117.0.1#53", "edge_node_id" : "e2fa39aa-f4ca-4781-ac48-60a6c47d34e0", "authoritative_answer" : [ { "name": "vmware.com" "address": "10.113.63.149" } ] } Required Permissions: Feature: dns_forwarder Additional Errors:
Get the realized state of a DNS forwarder (Deprecated)
Return the realized state information of a DNS forwarder.After a DNS forwarder was created or updated, you can invoke this API to
check the realization state of the forwarder.
Request:
Example Request: GET https://<nsx-mgr>/api/v1/dns/forwarders/f962173f-ac03-4d08-8366-56a41779f61d/state?request_id=1b6cb97f-ffa3-407c-b2ed-a9616feb95dd Successful Response:
Example Response: { "details": [ { "sub_system_type": "TransportNode", "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9", "state": "in_progress", "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node." }, { "sub_system_type": "TransportNode", "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3", "state": "in_sync" } ], "state": "in_progress", "failure_message": "The state realization is in progress at transport nodes." } Required Permissions: Feature: dns_forwarder Additional Errors:
Get current status of the given DNS forwarder (Deprecated)
Returns the current status of the given DNS forwarder.Request:
Example Request: TODO Successful Response:
Required Permissions: Feature: aggregation_service_health_monitoring Additional Errors:
Clear the current cache of the DNS forwarder. (Deprecated)
Clear the current cache of the DNS forwarder.Request:
Example Request: POST https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd?action=clear_cache Successful Response:
Required Permissions: Feature: dns_forwarder Additional Errors:
Disable the DNS forwarder.
Disable the DNS forwarder if the forwarder is currently enbled. If the DNSforwarder is already disabled, the forwarder will not be re-disabled.
Please note, once a DNS forwarder is disabled then enabled, the previous
DNS forwarder statistics counters will be reset.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd?action=disable Successful Response:
Required Permissions: Feature: dns_forwarder Additional Errors:
Enable the DNS forwarder.
Enable the DNS forwarder if the forwarder is currently disabled. If theDNS forwarder is already enabled, the forwarder will not be re-enabled.
Please note, once a DNS forwarder is disabled then enabled, the previous
DNS forwarder statistics counters will be reset.
Request:
Example Request: POST https://<nsx-mgr>/api/v1/dns/forwarders/1b6cb97f-ffa3-407c-b2ed-a9616feb95dd?action=enable Successful Response:
Required Permissions: Feature: dns_forwarder Additional Errors:
Management Plane API: Networking: Services: Loadbalancer
Retrieve a paginated list of load balancer application profiles (Deprecated)
Retrieve a paginated list of load balancer application profiles.Request:
Example Request: GET https://<nsx-mgr>/api/v1/loadbalancer/application-profiles Successful Response:
Example Response: { "result_count" : 4, "results" : [ { "resource_type" : "LbHttpProfile", "description" : "LB_HTTP_Application_Profile", "id" : "1cab1491-a058-48fd-ac55-ea412adb3283", "display_name" : "LB_HTTP_Application_Profile", "ntlm" : false, "request_header_size" : 1024, "http_redirect_to_https" : false, "idle_timeout" : 15, "_create_time" : 1515741466296, "_last_modified_user" : "admin", "_last_modified_time" : 1515741466296, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbFastTcpProfile", "id" : "6f99b4d7-8b85-53db-956a-4b5255daf032", "display_name" : "nsx-default-lb-fast-tcp-profile", "close_timeout" : 8, "ha_flow_mirroring_enabled" : false, "idle_timeout" : 1800, "_create_time" : 1515651381528, "_last_modified_user" : "system", "_last_modified_time" : 1515651381528, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbFastUdpProfile", "id" : "0564104e-d0ba-5b9a-9ca0-865cbc5feeb3", "display_name" : "nsx-default-lb-fast-udp-profile", "flow_mirroring_enabled" : false, "idle_timeout" : 300, "_create_time" : 1515651381538, "_last_modified_user" : "system", "_last_modified_time" : 1515651381538, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbHttpProfile", "id" : "cb2d0721-cc15-5b8e-8633-14be114eac5e", "display_name" : "nsx-default-lb-http-profile", "ntlm" : false, "request_header_size" : 1024, "http_redirect_to_https" : false, "idle_timeout" : 15, "_create_time" : 1515651381507, "_last_modified_user" : "system", "_last_modified_time" : 1515651381507, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 } ] } Required Permissions: Feature: lb_application_profiles Additional Errors:
Create a load balancer application profile (Deprecated)
Create a load balancer application profile.Request:
Example Request: POST https://<nsx-mgr>/api/v1/loadbalancer/application-profiles { "display_name":"LB_HTTP_Application_Profile", "description":"LB_HTTP_Application_Profile", "resource_type":"LbHttpProfile" } Successful Response:
Example Response: { "resource_type" : "LbHttpProfile", "description" : "LB_HTTP_Application_Profile", "id" : "1cab1491-a058-48fd-ac55-ea412adb3283", "display_name" : "LB_HTTP_Application_Profile", "ntlm" : false, "request_header_size" : 1024, "http_redirect_to_https" : false, "idle_timeout" : 15, "_create_time" : 1515741466296, "_last_modified_user" : "admin", "_last_modified_time" : 1515741466296, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: Feature: lb_application_profiles Additional Errors:
Delete a load balancer application profile (Deprecated)
Delete a load balancer application profile.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/loadbalancer/application-profiles/1cab1491-a058-48fd-ac55-ea412adb3283 Successful Response:
Required Permissions: Feature: lb_application_profiles Additional Errors:
Update a load balancer application profile (Deprecated)
Update a load balancer application profile.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/loadbalancer/application-profiles/1cab1491-a058-48fd-ac55-ea412adb3283 { "resource_type" : "LbHttpProfile", "description" : "LB_HTTP_Application_Profile", "id" : "1cab1491-a058-48fd-ac55-ea412adb3283", "display_name" : "LB_HTTP_Application_Profile", "ntlm" : false, "request_header_size" : 1024, "http_redirect_to_https" : false, "idle_timeout" : 30, "_create_time" : 1515741466296, "_last_modified_user" : "admin", "_last_modified_time" : 1515741466296, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Required Permissions: Feature: lb_application_profiles Additional Errors:
Retrieve a load balancer application profile (Deprecated)
Retrieve a load balancer application profile.Request:
Example Request: GET https://<nsx-mgr>/api/v1/loadbalancer/application-profiles/1cab1491-a058-48fd-ac55-ea412adb3283 Successful Response:
Example Response: { "resource_type" : "LbHttpProfile", "description" : "LB_HTTP_Application_Profile", "id" : "1cab1491-a058-48fd-ac55-ea412adb3283", "display_name" : "LB_HTTP_Application_Profile", "ntlm" : false, "request_header_size" : 1024, "http_redirect_to_https" : false, "idle_timeout" : 15, "_create_time" : 1515741466296, "_last_modified_user" : "admin", "_last_modified_time" : 1515741466296, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: Feature: lb_application_profiles Additional Errors:
Create a load balancer client-ssl profile (Deprecated)
Create a load balancer client-ssl profile.Request:
Example Request: POST https://<nsx-mgr>/api/v1/loadbalancer/client-ssl-profiles { "resource_type" : "LbClientSslProfile", "display_name" : "client-ssl-profile1", "prefer_server_ciphers" : false, "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "protocols" : [ "TLS_V1_2" ] } Successful Response:
Required Permissions: Feature: lb_ssl_profiles Additional Errors:
Retrieve a paginated list of load balancer client-ssl profiles (Deprecated)
Retrieve a paginated list of load balancer client-ssl profiles.Request:
Example Request: GET https://<nsx-mgr>/api/v1/loadbalancer/client-ssl-profiles Successful Response:
Example Response: { "result_count" : 2, "results" : [ { "resource_type" : "LbClientSslProfile", "id" : "0bf84c53-6b60-48e6-8837-5a106841cfb6", "display_name" : "client-ssl-profile1", "prefer_server_ciphers" : false, "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "session_cache_timeout" : 300, "_create_time" : 1515743444200, "_last_modified_user" : "admin", "_last_modified_time" : 1515743444200, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbClientSslProfile", "id" : "aff205bb-4db8-5a72-8d67-218cdc54d27b", "display_name" : "nsx-default-client-ssl-profile", "prefer_server_ciphers" : false, "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "is_secure" : true, "protocols" : [ "TLS_V1_1", "TLS_V1_2" ], "session_cache_enabled" : true, "session_cache_timeout" : 300, "_create_time" : 1515651381591, "_last_modified_user" : "system", "_last_modified_time" : 1515651381591, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 } ] } Required Permissions: Feature: lb_ssl_profiles Additional Errors:
Delete a load balancer client-ssl profile (Deprecated)
Delete a load balancer client-ssl profile.Request:
Example Request: DELETE https://<nsx-mgr>/api/v1/loadbalancer/client-ssl-profiles/0bf84c53-6b60-48e6-8837-5a106841cfb6 Successful Response:
Required Permissions: Feature: lb_ssl_profiles Additional Errors:
Retrieve a load balancer client-ssl profile (Deprecated)
Retrieve a load balancer client-ssl profile.Request:
Example Request: GET https://<nsx-mgr>/api/v1/loadbalancer/client-ssl-profiles/0bf84c53-6b60-48e6-8837-5a106841cfb6 Successful Response:
Example Response: { "resource_type" : "LbClientSslProfile", "id" : "0bf84c53-6b60-48e6-8837-5a106841cfb6", "display_name" : "client-ssl-profile1", "prefer_server_ciphers" : false, "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "session_cache_timeout" : 300, "_create_time" : 1515743444200, "_last_modified_user" : "admin", "_last_modified_time" : 1515743444200, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: Feature: lb_ssl_profiles Additional Errors:
Update a load balancer client-ssl profile (Deprecated)
Update a load balancer client-ssl profile.Request:
Example Request: PUT https://<nsx-mgr>/api/v1/loadbalancer/client-ssl-profiles/0bf84c53-6b60-48e6-8837-5a106841cfb6 { "resource_type" : "LbClientSslProfile", "id" : "0bf84c53-6b60-48e6-8837-5a106841cfb6", "display_name" : "client-ssl-profile1", "prefer_server_ciphers" : false, "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "session_cache_timeout" : 300, "_create_time" : 1515743444200, "_last_modified_user" : "admin", "_last_modified_time" : 1515743444200, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Example Response: { "resource_type" : "LbClientSslProfile", "id" : "0bf84c53-6b60-48e6-8837-5a106841cfb6", "display_name" : "client-ssl-profile1", "prefer_server_ciphers" : false, "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "session_cache_timeout" : 300, "_create_time" : 1515743444200, "_last_modified_user" : "admin", "_last_modified_time" : 1515744251536, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 1 } Required Permissions: Feature: lb_ssl_profiles Additional Errors:
Retrieve a paginated list of load balancer monitors (Deprecated)
Retrieve a paginated list of load balancer monitors.Request:
Example Request: GET https://<nsx-mgr>/api/v1/loadbalancer/monitors Successful Response:
Example Response: { "result_count": 6, "results": [ { "resource_type" : "LbHttpMonitor", "description" : "LB_Http_Monitor", "id" : "ab1c038f-565a-4870-a61c-b731f99f0bb4", "display_name" : "LB_Http_Monitor", "monitor_port" : "80", "interval" : 1, "timeout" : 1, "rise_count" : 1, "fall_count" : 1, "response_status_codes" : [ 200 ], "request_version" : "HTTP_VERSION_1_1", "request_method" : "GET", "request_url" : "/", "_create_time" : 1515737352635, "_last_modified_user" : "admin", "_last_modified_time" : 1515737352635, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type": "LbHttpMonitor", "id": "c2cb7f9e-72d7-55ed-914e-5209b67d02b2", "display_name": "nsx-default-http-monitor", "monitor_port": "80", "interval": 5, "timeout": 15, "rise_count": 3, "fall_count": 3, "response_status_codes": [ 200 ], "request_version": "HTTP_VERSION_1_1", "request_method": "GET", "request_url": "/", "_create_user": "system", "_create_time": 1509389584229, "_last_modified_user": "system", "_last_modified_time": 1509389584229, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "LbHttpsMonitor", "id": "72945dda-f4f1-532f-9bd0-a3f52c099d4b", "display_name": "nsx-default-https-monitor", "monitor_port": "443", "interval": 5, "timeout": 15, "rise_count": 3, "fall_count": 3, "response_status_codes": [ 200 ], "server_auth": "IGNORE", "is_secure": true, "request_method": "GET", "request_url": "/", "request_version": "HTTP_VERSION_1_1", "ciphers": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "certificate_chain_depth": 3, "protocols": [ "TLS_V1_1", "TLS_V1_2" ], "_create_user": "system", "_create_time": 1509389584246, "_last_modified_user": "system", "_last_modified_time": 1509389584246, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "LbIcmpMonitor", "id": "cc572f1a-316b-580e-9e7b-24ed1ac5527e", "display_name": "nsx-default-icmp-monitor", "interval": 5, "timeout": 15, "rise_count": 3, "fall_count": 3, "data_length": 56, "_create_user": "system", "_create_time": 1509389584254, "_last_modified_user": "system", "_last_modified_time": 1509389584254, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "LbPassiveMonitor", "id": "9f8f448e-beda-594b-a9eb-fd3f9d3c1266", "display_name": "nsx-default-passive-monitor", "max_fails": 5, "timeout": 5, "_create_user": "system", "_create_time": 1509389584278, "_last_modified_user": "system", "_last_modified_time": 1509389584278, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "LbTcpMonitor", "id": "8907ef61-8d8d-5dbd-96af-45b8dafa6627", "display_name": "nsx-default-tcp-monitor", "interval": 5, "timeout": 15, "rise_count": 3, "fall_count": 3, "_create_user": "system", "_create_time": 1509389584262, "_last_modified_user": "system", "_last_modified_time": 1509389584262, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: Feature: lb_monitors Additional Errors:
Create a load balancer monitor (Deprecated)
Create a load balancer monitor.Request: