NSX API Guide

NSX API Guide

NSX API Guide

NSX 4.2.2

Table of Contents

  1. Overview
  2. API Methods
    1. API Usage
      1. User Authentication
    2. Federation
      1. Federation Configuration
      2. Full Synchronization
      3. Global Managers
      4. Inter-Sites
      5. Observability
      6. Security
        1. East West Security
          1. Distributed Firewall
            1. Settings
              1. Distributed Firewall Settings
      7. Sites
    3. Management Plane API
      1. Associations
      2. Grouping Objects
        1. IP Sets
        2. MAC Sets
        3. NS Groups
        4. NS Profiles
        5. NS Service Groups
        6. NS Services
      3. Monitoring
      4. NSX Component Administration
        1. Appliance Management
      5. Networking
        1. Logical Bridging
          1. Bridge Endpoint Profiles
          2. Bridge Endpoints
        2. Logical Routing And Services
          1. BFD Peers
          2. Logical Router Ports
          3. Logical Routers
          4. NAT
          5. Routing BFD Configuration
          6. Routing Configuration
        3. Logical Switching
          1. Logical Switch Ports
          2. Logical Switches
        4. Services
          1. DHCP
          2. DHCP Relay
          3. DHCP Relay Profiles
          4. DNS
          5. Loadbalancer
          6. Metadata Proxy
        5. VPN
          1. IPSEC
            1. DPD Profiles
            2. IKE Profiles
            3. Peer Endpoints
            4. Services
            5. Sessions
            6. Tunnel Profiles
          2. L2VPN
            1. Services
            2. Sessions
          3. Statistics
            1. IKE Service
            2. IKE Sessions Status
            3. IPSEC Reset Sessions Statistics
            4. IPSEC Sessions Statistics
            5. IPSEC Sessions Summary
            6. L2VPN Remote MACS
            7. L2VPN Session Statistics
            8. L2VPN Session Status
            9. L2VPN Sessions Summary
      6. Normalization
      7. Security
        1. Identity Firewall
          1. Configuration
          2. Monitoring
          3. Realization Data
        2. Intrusion Services
          1. Dashboard
          2. IDS Profiles
        3. Malware Prevention
        4. Service Configuration
        5. Services
          1. Firewall
          2. Service Insertion
      8. Troubleshooting And Monitoring
        1. Healthcheck
        2. IPFIX
        3. Livetrace
        4. Packet Capture
        5. Port Connection
        6. Port Mirroring
        7. Traceflow
    4. NSX Application Platform
      1. Deployment
        1. Bundle
          1. Status
        2. Platform
          1. Config
          2. Form Factors
          3. Status
          4. Storageclass
          5. Versions
        3. Registry
        4. Tools
          1. Bundle
            1. Upload
        5. Upgrade
          1. Coordinator
            1. Check
              1. Status
            2. Versions
      2. Kubeconfig
      3. Kubernetes
        1. Tools
      4. Platform
        1. Host Agent
        2. Tools
          1. Bundle
            1. Upload
      5. Registration
      6. Upgrade
        1. Coordinator
          1. Config
          2. Status
    5. Policy
      1. Feature Flag
        1. Aggregated Feature State
        2. Aggregated Feature State Details
      2. Infra
        1. Certificates
          1. CSR
          2. Certificates
          3. Certification Revocation List
        2. Constraints
        3. Deployment Zones
        4. Domains
          1. Domain
          2. Domain Deployment Maps
        5. Enforcement Points
        6. Hierarchical API
        7. Labels
        8. Monitoring
        9. Realized State
      3. Inventory
        1. Containers
          1. Container Applications
          2. Container Clusters
          3. Container Projects
        2. Groups
          1. Group Members
          2. Groups
        3. Profiles
          1. Context Profiles
          2. L7 Access Profiles
            1. Static MIME Content
        4. Services
        5. Tags
        6. Virtual Interfaces
        7. Virtual Machines
        8. Virtual Switches
        9. Vm
      4. Monitoring
        1. Capacity Dashboard
        2. Compliance
        3. Finetuning
        4. Heatmap
        5. IPFIX
          1. Firewall IPFIX Collectors
          2. Firewall IPFIX Profiles
          3. Switch IPFIX Collectors
          4. Switch IPFIX Profiles
        6. LLDP
        7. Latency
        8. Livetrace
        9. Online Diagnostic System
        10. Port Mirroring
        11. System Health Agent
          1. Appliance
          2. Monitor
          3. Profile
        12. Traceflow
      5. Multi Tenancy
        1. NSX VPC
          1. Connectivity
            1. Static Routes
            2. Subnet
              1. DHCP
                1. Statistics
              2. IP Management
              3. Interfaces
                1. Statistics
              4. Port
                1. Statistics
              5. Statistics
          2. IP Allocations
          3. Network Services
            1. NAT
          4. Security
            1. E-W Firewall
            2. Groups
              1. Group Members
            3. N-S Firewall
          5. Tags
          6. VPC
          7. Virtual Machines
        2. Org
        3. Org Root
        4. Project
        5. Quota
        6. Shared Resource
      6. Networking
        1. Connectivity
          1. Routing
            1. Prefix List
            2. Project Route Filters
            3. Tier-0 Gateways
          2. Segments
            1. Bridge Endpoints
              1. Statistics
            2. Edge Bridge Profiles
            3. MAC Table
            4. Ports
              1. MAC Table
              2. State
              3. Statistics
              4. Status
            5. Segment Connection Binding Map
            6. Segment Profiles
              1. Discovery Profile Binding
              2. IP Discovery Profiles
              3. MAC Discovery Profiles
              4. Monitoring Profile Binding
              5. QOS Profile Binding
              6. QOS Profiles
              7. Security Profile Binding
              8. Segment Security Profile Binding
              9. Segment Security Profiles
              10. Spoofguard Profiles
            7. Segments
            8. Segments (Fixed)
            9. Service Segments
            10. State
            11. Statistics
            12. TEP Table
          3. Tier-0 Gateways
            1. ARP Proxies
            2. EVPN Setting
              1. EVPN Configuration
              2. EVPN Tunnel Endpoints
            3. Interface Groups
            4. Interfaces
              1. ARP Proxies
              2. ARP Table
              3. DAD State
              4. Interfaces
              5. Statistics
            5. Multicast
            6. Routing
              1. BGP
              2. Community Lists
              3. Forwarding Table
              4. Inter Vrf
              5. Inter-Vrf-Routing
              6. OSPF
              7. Prefix List
              8. Route Maps
              9. Routing Table
              10. State
              11. Static Routes
              12. Static Routes BFD Peers
              13. Static Routes Troubleshoot Properties
            7. Tier-0 Deployment Maps
            8. Tier-0 Gateways
            9. Tier-0 Locale Services
            10. Tunnels
          4. Tier-1 Gateways
            1. ARP Proxies
            2. Interface Groups
            3. Interfaces
              1. ARP Proxies
              2. ARP Table
              3. DAD State
              4. Interfaces
              5. Statistics
            4. Multicast
            5. Routing
              1. Forwarding Table
              2. State
              3. Static Routes
            6. Tier-1 Gateways
            7. Tier-1 Locale Services
          5. Transport Zones
        2. IP Management
          1. DHCP
            1. DHCP Leases
            2. DHCP Relay Configs
            3. DHCP Server Configs
            4. DHCP Static Bindings
              1. Segments Bindings
              2. Segments Bindings (Fixed)
          2. DNS
            1. DNS Forwarder
              1. DNS Zones
              2. Tier-0 Gateways
              3. Tier-1 Gateways
          3. IP Address Pools
            1. IP Blocks
            2. IP Pools
          4. Manager IP Pools
        3. Network Services
          1. Forwarding Policies
            1. Rules
              1. Statistics
            2. Statistics
          2. Load Balancing
            1. Load Balancer Pools
            2. Load Balancer Profiles
              1. Load Balancer Application Profiles
              2. Load Balancer Monitor Profiles
              3. Load Balancer Persistence Profiles
              4. Load Balancer SSL Profiles
                1. Load Balancer Client SSL Profiles
                2. Load Balancer SSL Ciphers And Protocols
                3. Load Balancer Server SSL Profiles
            3. Load Balancer Services
            4. Load Balancer Usage
              1. Statistics
              2. Status
              3. Usage
            5. Load Balancer Virtual Servers
          3. Metadata Proxy
            1. Status
          4. NAT
            1. Rules
              1. Tier-0 Gateways
              2. Tier-1 Gateways
            2. Statistics
          5. VPN
            1. IPSEC
              1. DPD Profiles
              2. IKE Profiles
              3. IPSEC Profiles
              4. Local Endpoints
              5. Services
              6. Sessions
                1. Summary
              7. Statistics
              8. Status
            2. L2VPN
              1. Remote-Mac
              2. Services
              3. Sessions
              4. Statistics
              5. Status
        4. Networking Profiles
          1. BFD Profiles
          2. Constraint Global Configuration
          3. EVPN Tenant Configuration
          4. EVPN VNI Pools
          5. Gateway QOS Profiles
          6. Global Gateway Configuration
          7. IPV6 DAD Profiles
          8. IPV6 NDRA Profiles
          9. Multicast Profiles
          10. Transport Zone Profiles
      7. Sandboxing
      8. Security
        1. East West Security
          1. Distributed Firewall
            1. Communication Maps
            2. Container Cluster
            3. IP Reputation
            4. Rules
            5. Settings
              1. Distributed Firewall Settings
              2. Drafts
              3. Exclusion List
              4. Firewall Identity Store
                1. Event-Log-Server
                2. Groups
                3. LDAP Servers
                4. Ldap-Server
                5. Users
              5. Firewall Scheduler
              6. Identity Firewall Settings
            6. Statistics
            7. Task
          2. Distributed IDS
            1. Settings
              1. Signatures
        2. Endpoint Protection
          1. Rules
        3. Ids-Ips And Malware
          1. Dashboard
          2. Intrusion Services
          3. Profiles
          4. Rules
            1. Statistics
          5. Settings
            1. Enablement
            2. Signatures
          6. Statistics
        4. North South Security
          1. Gateway Firewall
            1. Rules
            2. Settings
              1. Firewall Configuration
              2. Security Configuration
            3. Statistics
            4. Tier-0 Gateways
            5. Tier-1 Gateways
            6. Tls Inspection
              1. Tls Profiles
              2. Tls Rules
              3. Tls State
            7. Url Categorization
        5. Scrxconfig
        6. Security Profiles
          1. Cpu Memory Thresholds Profiles
          2. DNS Security Profile Bindings
          3. DNS Security Profiles
          4. Flood Protection Profile Binding
          5. Flood Protection Profiles
          6. Monitoring Profile Binding
          7. Session Timer Profile Binding
          8. Session Timer Profile Bindings
          9. Session Timer Profiles
        7. Service Insertion
          1. Partner Services
          2. Redirection Policies
          3. Service Chains
          4. Service Definitions
          5. Service Instances
            1. Tier-0 Gateways
            2. Tier-1 Gateways
          6. Service References
          7. Settings
            1. Configuration Status
            2. Exclusion List
          8. Statistics
          9. Virtual Endpoints
            1. Tier-0 Gateways
            2. Tier-1 Gateways
    6. Search
      1. Search API
    7. System Administration
      1. Configuration
        1. Directory Service
          1. Domains
          2. Event-Log-Server
          3. Groups
          4. LDAP Servers
        2. Fabric
          1. Associations
          2. Cloud Native Service Instances
          3. Compute Collections
          4. Compute Managers
          5. Edge Clusters
            1. Edge Clusters
            2. Failure Domains
          6. Nodes
            1. Certificates
            2. Cluster Control Planes
            3. DNS
            4. Discovered Nodes
            5. Fabric Nodes
            6. File Store
            7. Hardening
              1. Mandatory Access Control
            8. LLDP
            9. Logs
            10. NSX Edge
              1. Dataplane
              2. Diagnosis
              3. Manager Configuration
              4. Nestdb
              5. Services
                1. DHCP
                2. DHCP Service
                3. Docker
                4. Ipsecvpn Service
                5. Local-Controller
                6. Maintenance Mode
                7. NSX Ops Agent Service
                8. Routing
                9. Security-Hub
                10. VPN
            11. NSX Manager
              1. Management Plane
              2. Manager Configuration
              3. Manager Network Interfaces
              4. Services
                1. Async Replicator Service
                2. Cluster Manager Service
                3. Cm Inventory Service
                4. Controller Service
                5. Corfu Server
                6. Dispatcher Service
                7. HTTP Service
                8. Idps Reporting Service
                9. Install Upgrade Service
                10. Local-Controller Service
                11. Manager Service
                12. Messaging Manager Service
                13. Metadata Proxy Service
                14. Migration Coordinator Service
                15. NSX Control Plane Agent Service
                16. Node Stats Service
                17. Policy Service
                18. Search Service
                19. Site Manager Service
                20. Telemetry Service
                21. User Interface Service
            12. Network Interfaces
              1. Routing
            13. Physical Servers
            14. Services
              1. Log Insight
              2. NSX Message Service
              3. NSX Platform Client
              4. NTP
              5. Node Management
              6. SNMP
              7. SSH
              8. Syslog
              9. Tasks
              10. Upgrade Agent
            15. Settings
            16. Support-Bundle
            17. Transport Node Collections
            18. Transport Node Interfaces
            19. Transport Node Status
            20. Transport Node Tunnels
            21. Transport Nodes
            22. User Management
              1. Authentication Policy
              2. Users
          7. Pool Management
            1. IP Blocks
            2. IP Pools
            3. MAC Pools
            4. VNI Pools
            5. VTEP Label Pools
          8. Profiles
            1. Cluster Profiles
            2. Host Transport Node Profiles
            3. Hostswitch Profiles
            4. Transport Node Profiles
            5. Transport Zone Profiles
          9. Transport Zones
        3. Global Configurations
        4. Grub
        5. NSX Advanced Load Balancer
          1. Controller
            1. Alb Auth Token
            2. Alb Onboarding Workflow
            3. Alb Portal Certificate
            4. Alb System Config
            5. Alb User Credential
            6. Cluster
            7. Cluster Config
            8. Deployments
            9. Form Factors
            10. Password Check
        6. NSX Intelligence
          1. Form Factors
          2. Repository
            1. Bundles
        7. NSX Managers
          1. API Services
            1. API Request Batching
            2. Configuration
            3. Task Management
          2. Clusters
            1. Cluster Certificate
            2. Cluster Configuration
            3. Cluster Interfaces
            4. Cluster Node Deployments
            5. Cluster Status
            6. Cluster Virtual IP
          3. Manager Configuration
          4. Manager Mode
          5. Nodes
            1. Manager Configuration
            2. Services
              1. Async Replicator Service
              2. Auth Service
        8. NSX Partial Patch
        9. Nodes
          1. Manager Configuration
        10. Site Management
        11. System Properties
          1. Dataplane
          2. IPSEC Sessions
          3. Mpa Configuration
          4. Realization State Barrier
      2. Lifecycle Management
        1. Backup Restore Management
          1. Backup
          2. Restore
        2. Migration
          1. Mp2P Migration
            1. Plan
          2. NVDS
          3. Overlay Adoption
            1. Assessment
            2. Inventory
            3. Workflows
          4. V2T Migration
            1. Feedback
            2. Group
            3. Infra
            4. Migration Units
            5. Nodes
            6. Plan
            7. Setup
            8. Stats
            9. Status
            10. User Inputs
            11. Vmgroup
        3. Mp Policy Migration
          1. Configuration
        4. Upgrade
          1. Bundles
          2. Eula
          3. Group
          4. History
          5. Host
          6. Nodes
          7. Plan
          8. Status
          9. UI
          10. Upgrade Coordinator
          11. Upgrade Units
      3. Monitoring
        1. Alarms And Events
        2. Dashboards
          1. Capacity Dashboard
          2. UI Views
          3. Widget Configuration
        3. Error Resolver
        4. Health Checks
        5. Health Performance Monitoring
        6. Latency Profiles
        7. Logs
          1. Audit Logs
          2. Core Dumps
        8. NSX Manager Health
        9. Notifications
        10. System Health
          1. Appliance
            1. Process
          2. Container
            1. Antrea
          3. Plugins
          4. Profiles
      4. Settings
        1. Certificates
          1. CRL
          2. CSR
          3. Certificate
        2. Customer Experience Improvement
          1. Telemetry
        3. Licenses
        4. Proxy Settings
        5. Support Bundle
        6. User Management
          1. Access Token
          2. LDAP Identity Sources
          3. Principal Identity
          4. Roles
          5. Users
          6. VIDM Configuration
    8. Uncategorized APIs
  3. API Types
  4. API Type Schemas
  5. API Errors
  6. Deprecated Types and Methods


Overview

Introduction

NSX 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 and associated firewall offerings may add new features in a NSX 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. APIs or API attributes that will be removed will be marked "deprecated" in the API Guide. These changes can be implemented in either major or minor releases of NSX.

NSX APIs marked as "experimental" or that are not documented in the NSX API Guide are not subject to this policy. This indicates that the API may be changed or removed without notice in a future NSX 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 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:

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:

Authorization: Basic YWRtaW46YWRtaW4=

The following cURL command will authenticate to the manager using basic authentication and will issue a GET request for logical ports:

curl -k -u USERNAME:PASSWORD https://MANAGER/api/v1/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:

curl -k -u admin:secretPw99 https://MANAGER/api/v1/logical-ports

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:

curl --cacert /home/me/certs/rootca.crt -u admin:secretPw99 https://MANAGER/api/v1/logical-ports

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:

  1. A local user name. For example, "admin".
  2. 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.
Note: in earlier versions of NSX, in order to authenticate to VIDM, it was required that you provide an authentication header of the form "Authorization: Remote base64-encoded-username-and-password". This is no longer required, but still functions for backward compatibility.

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.

curl -k -c cookies.txt -D headers.txt -X POST -d 'j_username=USERNAME&j_password=PASSWORD' https://MANAGER/api/session/create

For example:

curl -k -c cookies.txt -D headers.txt -X POST -d 'j_username=admin&j_password=secretPw99' https://MANAGER/api/session/create

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:

curl -k -b cookies.txt -H "`grep -i X-XSRF-TOKEN headers.txt | tr -d '\r\n'`" https://MANAGER/api/v1/logical-ports

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:

curl -k -b cookies.txt -H "`grep -i X-XSRF-TOKEN headers.txt | tr -d '\r\n'`" -X POST https://MANAGER/api/session/destroy

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 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 Manager in the VMware Cloud on AWS service (VMC), you need to gather a few pieces of information:

  1. Your VMC Organization ID
  2. Your Software Defined Data Center (SDDC) ID
  3. 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:

curl https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize -d refresh_token=<token>

For example, if your refresh token is aB1jtC5yk2rDL6A1KPxzM0W4D7OeHFUNuXFHZidufYS3fIwn60ZRag0Y9dvX15Qv, the command will be:

curl https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize -d refresh_token=aB1jtC5yk2rDL6A1KPxzM0W4D7OeHFUNuXFHZidufYS3fIwn60ZRag0Y9dvX15Qv

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:

curl https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize -d refresh_token=aB1jtC5yk2rDL6A1KPxzM0W4D7OeHFUNuXFHZidufYS3fIwn60ZRag0Y9dvX15Qv | jq --raw-output '.access_token'

produces just the access token. You can set an environment variable with the correct authentication header with:

export AUTH_HDR="csp-auth-token: `curl https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize -d refresh_token=aB1jtC5yk2rDL6A1KPxzM0W4D7OeHFUNuXFHZidufYS3fIwn60ZRag0Y9dvX15Qv | jq --raw-output '.access_token'`"

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 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 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:

curl -H "$AUTH_HDR" https://vmc.vmware.com/vmc/api/orgs/a003c3a5-3f68-4a8c-a74f-f79a0625da17/sddcs/449369c7-7936-4f7f-b46e-624cdb2a0a99 | jq --raw-output ".resource_config.nsx_api_public_endpoint_url"

The output will look like:

https://nsx-52-41-15-143.rp.vmwarevmc.com/vmc/reverse-proxy/api/orgs/a003c3a5-3f68-4a8c-a74f-f79a0625da17/sddcs/449369c7-7936-4f7f-b46e-624cdb2a0a99/sks-nsxt-manager

This is the URL you should use to access your NSX 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:

curl -q -H "$AUTH_HDR" https://nsx-52-41-15-143.rp.vmwarevmc.com/vmc/reverse-proxy/api/orgs/a003c3a5-3f68-4a8c-a74f-f79a0625da17/sddcs/449369c7-7936-4f7f-b46e-624cdb2a0a99/sks-nsxt-manager/policy/api/v1/infra/domains

API Pagination

When responding to operations that return a ListResult type, NSX may limit the number of results returned. By default, the limit is 1000 results, but some APIs with large result payloads may return fewer results, even if a large number of results is requested by the client. Clients must be prepared to handle paginated results.

NSX indicates that it has returned fewer than the total number of results by including a "cursor" property in the response to the list operation. For example:

curl -k -u admin:SecretPw99 -H accept: application/json https://NSX_MANAGER/global-manager/api/v1/infra/services {
  "results" : [
    .... 1000 results omitted for clarity
  ],
  "result_count" : 1322,
  "sort_by" : "display_name",
  "sort_ascending" : true,
  "cursor" : "28de76e5-c7c2-4fa0-9a3e-0be891818d35"
}

The response indicates that there are a total of 1,322 results, but not all results are present in this response.

To get the next page of results, repeat the same list operation, but pass the returned cursor value. For example:

curl -k -u admin:SecretPw99 -H accept: application/json https://NSX_MANAGER/global-manager/api/v1/infra/services?cursor=28de76e5-c7c2-4fa0-9a3e-0be891818d35

The response will return the next page of results. If there are more pages of results, the response will include a new cursor which can be used to get the next page of results. If this is the last page, then no cursor will be returned, as show below.

{
  "results" : [
    .... 322 results omitted for clarity
  ],
  "sort_by" : "display_name",
  "sort_ascending" : true,
}

The format of the "cursor" property is not meaningful to the client, and the client should not attempt to interpret the cursor's value. The format of the cursor may be different, depending on which API is called.

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.

Collection List Pagination

A call to the NSX API may return many thousands of results when the system is operating at scale. In such scenarios, the system performs pagination of response objects. All queries to the API must be capable of handling ListResults objects that contain partial results. Pagination in API works as follows:

The API will respond with a ListResult object that has at most page_size results. Note, that the client must always be ready to handle a paginated result, even if the client did not specify page_size.

The default page size is 1000. In case the result size exceeds the page size, the first page will be returned. You need to retrieve the remaining with cursor.

When doing an API call against the NSX-T API, there are a variety of objects which have limits on the number of returned items allowed. The limits themselves are different depending on the objects.

The way you can tell if pagination is being activated is by looking for an attribute called 'cursor'. For example, here is the end of a call for all firewall rule sections:

curl -k -s -X GET -u 'admin:*****' https://manager_ip/api/v1/firewall/sections

End of the results:

"section_type": "LAYER3", "stateful": true, "rule_count": 2, "is_default": false, "_create_user": "admin", "_create_time": 1574438858340, "_last_modified_user": ""****************", "_last_modified_time": 1671726034024, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 96 } ], "result_count": 1448, "sort_by": "position", "cursor": "0036588a382d-c679-480a-ab95-67aa0022ae04RmlyZXdhbGxTZWN0aW9u" }

So, looking at our result attributes we can see the overall result count is 1448 and we can tell pagination was activated, because we have a 'cursor' attribute. If you have a 'cursor' attribute returned in your overall results, pagination is activating and truncating those results. You need to retrieve the remaining with cursor.

You pass the cursor attribute in standard URL options with the value specified to the exact same call until you no longer have a cursor attribute returned, for example:

curl -k -s -X GET -u 'admin:*****' https://manager_ip/api/v1/firewall/sections?cursor=0036588a382d-c679-480a-ab95-67aa0022ae04RmlyZXdhbGxTZWN0aW9u

which will return the 2nd page of results.

Optimistic Concurrency Control and the _revision property

Overview

In order to prevent one client from overwriting another client's updates, NSX 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.

Partial PATCH

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 activated. 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 activated using either one of the following approach:

  1. System-wide partial patch configuration
    Partial patch can be activated/deactivated 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.
  2. Header parameter (request level configuration)
    Partial patch can also be activated/deactivated using API request header parameter. This will override the system-wide configuration for a particular request.
    To activate partial patch, use 'nsx-enable-partial-patch=true'
    To deactivate 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:

  1. Array properties will be replaced entirely in partial patch.
  2. If PATCH api is executed on a non-existing object, a new object will be created after performing all applicable validations.
  3. 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).
  4. Partial patch is not supported for 'Infra' object.
  5. 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.
  6. 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.

PUT Operations

NSX 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.

API Rate Limiting

The NSX 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 and submit operations on each connection. When this limit is exceeded, the server returns a 503 Server Unavailable 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, 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 APIs, see https://github.com/vmware-samples/nsx-t/blob/master/python/basics/rate-limits.py

OpenAPI Specification of NSX APIs

You can download OpenAPI specifications for the various NSX APIs at the following URLs:

NSX Manager API:
APIs for NSX 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
NSX Policy Manager API:
APIs for managing logical networking in NSX 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
NSX VMC Policy API:
APIs for managing logical networking in NSX 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
NSX VMC AWS Integration API:
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


API Methods

Toggle all tables +

API Usage

API Usage: User Authentication

Authenticate and create a session

Authenticates using the given username and password. If successful, the HTTP response headers will contain a Set-Cookie header and an X-XSRF-TOKEN header. Both of these headers should be sent with subsequent API requests. Request:
Method:
POST
URI Path(s):
/api/session/create
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SessionAuthenticationCredentials+

Example Request: Content-Type: application/x-www-form-urlencoded j_username=admin&j_password=my-password Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: set-cookie: JSESSIONID=57021338F5FDB766121F51BB5E1B82C3; Path=/; Secure; HttpOnly; SameSite=Lax x-xsrf-token: 8bf06253-c246-4e4b-a379-f218dd0a193c 200 OK Required Permissions: none Feature: none Additional Errors:

Destroy an authenticated session

Unauthenticates and makes the provided session cookie invalid. The set-cookie and x-xsrf-token headers obtained from an earlier call to /api/session/create should be provided in the HTTP headers of this request. Request:
Method:
POST
URI Path(s):
/api/session/destroy
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: set-cookie: JSESSIONID=57021338F5FDB766121F51BB5E1B82C3; Path=/; Secure; HttpOnly; SameSite=Lax x-xsrf-token: 8bf06253-c246-4e4b-a379-f218dd0a193c Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: none Feature: none 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. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/federation-config
/policy/api/v1/global-infra/federation-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FederationConfig+

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: read 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:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/global-manager-config?action=show-sensitive-data
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalManagerConfig+

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: crud Feature: site_admin Additional Errors:

Federation: Full Synchronization

Performs realized object actions specified in the action.

Performs realized object actions specified in the action. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
POST
URI Path(s):
/policy/api/v1/infra/full-sync-action
Request Headers:
n/a
Query Parameters:
PolicyFullSyncActionParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: { "fullsync_action_response": "requested full sync", } Required Permissions: crud Feature: site_admin Additional Errors:

List full sync states

List full sync state. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/full-sync-states
/policy/api/v1/global-infra/full-sync-states
Request Headers:
n/a
Query Parameters:
PolicyListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FullSyncStateListResult+

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: read Feature: site_admin Additional Errors:

Get full sync state

Get full sync state. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/full-sync-states/{full-sync-id}
/policy/api/v1/global-infra/full-sync-states/{full-sync-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FullSyncState+

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: read 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. Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/global-managers
Request Headers:
n/a
Query Parameters:
GlobalManagerListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalManagerListResult+

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: read 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. Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/global-managers/{global-manager-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalManager+

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: read Feature: standby_site_admin Additional Errors:

Federation: Inter-Sites

Associated URIs:

Get inter-site status of the edge cluster

Returns the aggregated status for the Edge cluster along with status of
all edge nodes in the cluster. It always returns cached response.
Request:
Method:
GET
URI Path(s):
/api/v1/edge-clusters/{edge-cluster-id}/inter-site/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EdgeClusterInterSiteStatus+

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: read 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.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/segments/{segment-id}/inter-site-forwarder/site-span-info
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentL2ForwarderSiteSpanInfo+

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: read Feature: policy_segment Additional Errors:

Get infra segment cross site traffic statistics

Get infra segment cross site traffic statistics.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/segments/{segment-id}/inter-site-forwarder/status
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentCrossSiteTrafficStats+

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: read Feature: policy_segment Additional Errors:

Get RTEP span and mac address-table

Get RTEP span and mac address-table.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-services-id}/inter-site/bgp-summary
Request Headers:
n/a
Query Parameters:
ListByOptionalTransportNodeParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyEdgeClusterInterSiteBgpSummary+

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: read Feature: policy_connectivity Additional Errors:

Get RTEP mesh connectivity status

Get RTEP mesh connectivity status.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-services-id}/inter-site/status
Request Headers:
n/a
Query Parameters:
ListByOptionalTransportNodeParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyEdgeClusterInterSiteStatus+

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: read Feature: policy_connectivity Additional Errors:

Get inter-site L2 forwarder status for Tier1 gateway

Get inter-site L2 forwarder status for Tier1 gateway.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/tier-1s/{tier-1-id}/locale-services/{locale-services-id}/inter-site-forwarder/status
Request Headers:
n/a
Query Parameters:
ListByOptionalTransportNodeParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GatewayL2ForwarderSiteSpanInfo+

Example Response: { } Required Permissions: read Feature: policy_connectivity Additional Errors:

Get segment cross site forwarder placement and HA status

Get segment cross site forwarder placement and HA statuss.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/inter-site-forwarder/site-span-info
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentL2ForwarderSiteSpanInfo+

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: read Feature: policy_segment Additional Errors:

Get segment cross site traffic statistics

Get segment cross site traffic statistics.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/inter-site-forwarder/status
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentCrossSiteTrafficStats+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{logical-switch-id}/inter-site-forwarder/site-span-info
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
L2ForwarderRemoteMacs+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{logical-switch-id}/inter-site-forwarder/statistics
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
L2ForwarderStatistics+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{logical-switch-id}/inter-site-forwarder/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
L2ForwarderStatus+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/transport-nodes/{edge-node-id}/inter-site/bgp/neighbors
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborListResult+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/transport-nodes/{edge-node-id}/inter-site/bgp/neighbors/{neighbor-id}/advertised-routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborRouteDetails+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/transport-nodes/{edge-node-id}/inter-site/bgp/neighbors/{neighbor-id}/routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborRouteDetails+

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: read 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 VRF
on the given egde node. It always returns realtime response.
Request:
Method:
GET
URI Path(s):
/api/v1/transport-nodes/{edge-node-id}/inter-site/bgp/summary
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterSiteBgpSummary+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/transport-nodes/{edge-node-id}/inter-site/statistics
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeInterSiteStatistics+

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: read Feature: aggregation_service_health_monitoring Additional Errors:

Federation: Observability

Get monitoring info

Provides federation monitoring information, which includes all
config flows originating from the site where API is invoked.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/observability/flow-details
Request Headers:
n/a
Query Parameters:
SiteRequestParameter+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MonitoringInfo+

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: read Feature: site_admin Additional Errors:

Federation: Security: East West Security: Distributed Firewall: Settings

Federation: Security: East West Security: Distributed Firewall: Settings: Distributed Firewall Settings

Get global distributed firewall configuration for the specified site

Get global distributed firewall configuration for the specified site. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/sites/{site-id}/settings/firewall/security
/policy/api/v1/global-infra/sites/{site-id}/settings/firewall/security
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalDfwConfiguration+

Example Response: { "resource_type": "GlobalDfwConfiguration", "id": "security", "display_name": "security", "path": "/global-infra/sites/london/settings/firewall/security", "relative_path": "security", "marked_for_delete": false, "enable_firewall": true, "_create_user": "system", "_create_time": 1554274751846, "_last_modified_user": "admin", "_last_modified_time": 1554274751846, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_security_settings Additional Errors:

Get global distributed firewall configurations for all the sites

Get global distributed firewall configurations for all the sites. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/sites/settings/firewall/security
/policy/api/v1/global-infra/sites/settings/firewall/security
Request Headers:
n/a
Query Parameters:
PolicyListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalDfwConfigurationListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "GlobalDfwConfiguration", "id": "security", "display_name": "security", "path": "/global-infra/sites/london/settings/firewall/security", "relative_path": "security", "marked_for_delete": false, "enable_firewall": true, "_create_user": "system", "_create_time": 1554274751846, "_last_modified_user": "admin", "_last_modified_time": 1554274751846, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_security_settings Additional Errors:

Federation: Sites

Get site offboarding status.

Get site offboarding status. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/site/offboarding-status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SiteOffBoardingState+

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: read Feature: site_admin Additional Errors:

List Sites

List Sites under Infra.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/sites
/policy/api/v1/global-infra/sites
Request Headers:
n/a
Query Parameters:
SiteListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SiteListResult+

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: read Feature: site_admin Additional Errors:

Delete a site

Delete a site under Infra.
Request:
Method:
DELETE
URI Path(s):
/policy/api/v1/infra/sites/{site-id}
Request Headers:
n/a
Query Parameters:
SiteActionParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Read a site

Read a site under Infra.
Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/sites/{site-id}
/policy/api/v1/global-infra/sites/{site-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Site+

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: read 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:
Method:
PUT
URI Path(s):
/policy/api/v1/infra/sites/{site-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Site+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Site+

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: crud Feature: site_admin Additional Errors:

Create or patch Site

Create or patch Site under Infra.
Request:
Method:
PATCH
URI Path(s):
/policy/api/v1/infra/sites/{site-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Site+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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, returns
the certificate of the listener.
Intent of this API is "Do you trust this certificate?".
Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/sites/listener_certificate
/policy/api/v1/global-infra/sites/listener_certificate
Request Headers:
n/a
Query Parameters:
TlsListenerEndpointAddressRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsListenerCertificate+

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: read Feature: site_admin Additional Errors:

Get span for an entity with specified path

Get span for an entity with specified path. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/policy/api/v1/infra/span
/policy/api/v1/global-infra/span
/policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/span
Request Headers:
n/a
Query Parameters:
IntentPathRequestParameter+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Span+

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: read Feature: site_admin Additional Errors:

Management Plane API

Management Plane API: Associations

Associated URIs:

Get ResourceReference objects to which the given resource belongs to (Deprecated)

Returns information about resources that are associated with the given
resource. 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:
Method:
GET
URI Path(s):
/api/v1/associations
Request Headers:
n/a
Query Parameters:
AssociationListRequestParameters+
Request Body:
n/a

Example Request: bf250578-c0a5-4ca0-b237-0375966d23ce&resource_type=MACSet&associated_resource_type=NSGroup Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AssociationListResult+

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: read Feature: groups_groups Additional Errors:

Management Plane API: Grouping Objects

Management Plane API: Grouping Objects: IP Sets

List IPSets (Deprecated)

Returns paginated list of IPSets.The default page size for IPSet listing is 50.
Request:
Method:
GET
URI Path(s):
/api/v1/ip-sets
Request Headers:
n/a
Query Parameters:
IPSetListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPSetListResult+

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: read Feature: groups_ip_sets Additional Errors:

Delete IPSet (Deprecated)

Deletes the specified IPSet. By default, if the IPSet is added to an
NSGroup, it won't be deleted. In such situations, pass "force=true" as
query param to force delete the IPSet.
Request:
Method:
DELETE
URI Path(s):
/api/v1/ip-sets/{ip-set-id}
Request Headers:
n/a
Query Parameters:
IPSetDeleteRequestParameters+
Request Body:
n/a

Example Request: ?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: groups_ip_sets Additional Errors:

Read IPSet (Deprecated)

Returns information about the specified IPSet.
Request:
Method:
GET
URI Path(s):
/api/v1/ip-sets/{ip-set-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPSet+

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: read Feature: groups_ip_sets Additional Errors:

Add a IP address to a IPSet (Deprecated)

Add/Remove an individual IP address to an IPSet.
Request:
Method:
POST
URI Path(s):
/api/v1/ip-sets/{ip-set-id}
Request Headers:
n/a
Query Parameters:
IPMemberAction+
Request Body:
IPAddressElement+

Example Request: { "ip_address":"192.23.243.1" } example_response: | { "ip_address": "192.23.243.1", "_revision": 2 } { "ip_address":"192.23.243.1" } example_response: | { "ip_address": "192.23.243.1", "_revision": 2 } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
IPAddressElement+

Required Permissions: crud Feature: groups_ip_sets Additional Errors:

Update IPSet (Deprecated)

Updates the specified IPSet. Modifiable parameters include description,
display_name and ip_addresses.
Request:
Method:
PUT
URI Path(s):
/api/v1/ip-sets/{ip-set-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IPSet+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPSet+

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: crud Feature: groups_ip_sets Additional Errors:

Get all IPAddresses in a IPSet (Deprecated)

List all IP addresses in a IPSet.
Request:
Method:
GET
URI Path(s):
/api/v1/ip-sets/{ip-set-id}/members
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPAddressElementListResult+

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: read Feature: groups_ip_sets Additional Errors:

Create MACSet (Deprecated)

Creates a new MACSet that can group individual MAC addresses.
Request:
Method:
POST
URI Path(s):
/api/v1/mac-sets
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
MACSet+

Example Request: { "display_name":"testMACSet", "mac_addresses":["01:23:45:67:89:ab","00:14:22:01:23:45"] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
MACSet+

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: crud Feature: groups_mac_sets Additional Errors:

Management Plane API: Grouping Objects: MAC Sets

List MACSets (Deprecated)

Returns paginated list of MACSets.
Request:
Method:
GET
URI Path(s):
/api/v1/mac-sets
Request Headers:
n/a
Query Parameters:
MACSetListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MACSetListResult+

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: read Feature: groups_mac_sets Additional Errors:

Read MACSet (Deprecated)

Returns information about the specified MACSet.
Request:
Method:
GET
URI Path(s):
/api/v1/mac-sets/{mac-set-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MACSet+

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: read Feature: groups_mac_sets Additional Errors:

Delete MACSet (Deprecated)

Deletes the specified MACSet. By default, if the MACSet is added to an
NSGroup, it won't be deleted. In such situations, pass "force=true" as
query param to force delete the MACSet.
Request:
Method:
DELETE
URI Path(s):
/api/v1/mac-sets/{mac-set-id}
Request Headers:
n/a
Query Parameters:
MACSetDeleteRequestParameters+
Request Body:
n/a

Example Request: ?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: groups_mac_sets Additional Errors:

Update MACSet (Deprecated)

Updates the specified MACSet. Modifiable parameters include the
description, display_name and mac_addresses.
Request:
Method:
PUT
URI Path(s):
/api/v1/mac-sets/{mac-set-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
MACSet+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MACSet+

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: crud Feature: groups_mac_sets Additional Errors:

Add a MAC address to a MACSet (Deprecated)

Add an individual MAC address to a MACSet
Request:
Method:
POST
URI Path(s):
/api/v1/mac-sets/{mac-set-id}/members
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
MACAddressElement+

Example Request: { "mac_address":"01:23:45:67:89:ab" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
MACAddressElement+

Example Response: { "mac_address": "01:23:45:67:89:AB", "_revision": 2 } Required Permissions: crud Feature: groups_mac_sets Additional Errors:

Get all MACAddresses in a MACSet (Deprecated)

List all MAC addresses in a MACSet
Request:
Method:
GET
URI Path(s):
/api/v1/mac-sets/{mac-set-id}/members
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MACAddressElementListResult+

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: read Feature: groups_mac_sets Additional Errors:

Remove a MAC address from given MACSet (Deprecated)

Remove an individual MAC address from a MACSet
Request:
Method:
DELETE
URI Path(s):
/api/v1/mac-sets/{mac-set-id}/members/{mac-address}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: groups_mac_sets Additional Errors:

Management Plane API: Grouping Objects: NS Groups

Associated URIs:

List NSGroups (Deprecated)

List the NSGroups in a paginated format. The page size is restricted
to 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:
Method:
GET
URI Path(s):
/api/v1/ns-groups
Request Headers:
n/a
Query Parameters:
NSGroupListRequestParameters+
Request Body:
n/a

Example Request: ns-groups/ ns-groups?member_types=LogicalPort,LogicalSwitch,VirtualMachine Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSGroupListResult+

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: read Feature: groups_groups Additional Errors:

Create NSGroup (Deprecated)

Creates a new NSGroup that can group NSX resources - VIFs, Lports
and 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:
Method:
POST
URI Path(s):
/api/v1/ns-groups
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSGroup+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NSGroup+

Required Permissions: crud Feature: groups_groups Additional Errors:

Add NSGroup expression (Deprecated)

Add/remove the expressions passed in the request body to/from the NSGroup
Request:
Method:
POST
URI Path(s):
/api/v1/ns-groups/{ns-group-id}
Request Headers:
n/a
Query Parameters:
MemberAction+
Request Body:
NSGroupExpressionList+

Example Request: 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" } ] } 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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSGroup+

Required Permissions: crud Feature: groups_groups Additional Errors:

Update NSGroup (Deprecated)

Updates the specified NSGroup. Modifiable parameters include the
description, 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:
Method:
PUT
URI Path(s):
/api/v1/ns-groups/{ns-group-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSGroup+

Example Request: 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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSGroup+

Required Permissions: crud Feature: groups_groups Additional Errors:

Delete NSGroup (Deprecated)

Deletes the specified NSGroup. By default, if the NSGroup is added to
another NSGroup, it won't be deleted. In such situations, pass
"force=true" as query param to force delete the NSGroup.
Request:
Method:
DELETE
URI Path(s):
/api/v1/ns-groups/{ns-group-id}
Request Headers:
n/a
Query Parameters:
NSGroupDeleteRequestParameters+
Request Body:
n/a

Example Request: ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60 ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: groups_groups Additional Errors:

Read NSGroup (Deprecated)

Returns information about the specified NSGroup.
Request:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}
Request Headers:
n/a
Query Parameters:
NSGroupRequestParameters+
Request Body:
n/a

Example Request: ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSGroup+

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: read Feature: groups_groups Additional Errors:

Get consolidated Effective IPAddress translated from the NSGroup (Deprecated)

Returns the consolidated effective IP address members of the specified NSGroup. This is applicable in the case of a
federated environment. The response includes a site-wise list of static and dynamically translated effective IP
address members. If the ns-group evaluation on a site is empty, the response will contain the site-id with empty list.
If an ns-group is a reference group on a site, then its consolidated effective IP response will contain the effective IPs
from other sites, and the response will contain an empty list of IPs for the sites where is it a reference group.

This API is applicable only for Global Groups that contain (either directly or via nesting) VirtualMachine,
VIF, Segment, SegmentPort, or IPSet member types. Please use the cursor value in the response to fetch the next page.
If there is no cursor value in the response, it indicates that it is the last page of results for the query.
Request:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/consolidated-effective-ip-address-members
Request Headers:
n/a
Query Parameters:
ConsolidatedAPIListRequestParameters+
Request Body:
n/a

Example Request: NSGroup 0c963c9d-eea8-4180-b6f3-93385fa497ca has dynamic criteria based on vm name contains 'vm' and 2 static IPs 25.1.1.1","25.1.1.2/31". Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConsolidatedEffectiveIPAddressMemberListResult+

Example Response: { "results": [ { "site_id": "e977e929-255e-41c0-a938-a35d12f860ee", "effective_ips": [ "25.1.1.1", "25.1.1.2/31", "10.160.8.45", "10.160.16.77" ] }, { "site_id": "210d7017-5dca-4901-bfcc-c63928215160", "effective_ips": [ "25.1.1.1", "25.1.1.2/31", "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", "10.160.15.134", "10.160.26.223" ] } ], "cursor": "7806177147493-0" } Required Permissions: read Feature: groups_groups Additional Errors:

Get Effective Cloud Native Service Instances of the specified NSGroup. (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-cloud-native-service-instance-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get Effective Directory Groups of the specified NSGroup. (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-directory-group-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get Effective IPAddress translated from the NSGroup (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-ip-address-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveIPAddressMemberListResult+

Example Response: { "cursor": "00012", "sort_ascending": true, "result_count": 2, "results": [ "10.112.1.1", "10.112.1.2/24" ] } Required Permissions: read Feature: groups_groups Additional Errors:

Get Effective IPSets of the specified NSGroup. (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-ipset-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get Effective Logical Ports translated from the NSgroup (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-logical-port-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get Effective switch members translated from the NSGroup (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-logical-switch-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get Effective Physical Server Memebers of the specified NSGroup. (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-physical-server-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get effective transport node members translated from the NSGroup (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-transport-node-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberResourceListResult+

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: read Feature: groups_groups Additional Errors:

Get effective VIF members translated from the NSGroup (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-vif-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VirtualNetworkInterfaceListResult+

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: read Feature: groups_groups Additional Errors:

Get Effective Virtual Machine members of the specified NSGroup. (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/effective-virtual-machine-members
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VirtualMachineListResult+

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: read Feature: groups_groups Additional Errors:

Get member types from NSGroup (Deprecated)

Returns member types for a specified NSGroup including child NSGroups.
This considers static members and members added via membership criteria only
Request:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{ns-group-id}/member-types
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Example Request: ns-groups/183e372b-854c-4fcc-a24e-05721ce89a60/member-types Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveMemberTypeListResult+

Example Response: { "result_count": 3, "results": [ "IPSet", "LogicalPort", "LogicalSwitch" ] } Required Permissions: read Feature: groups_groups Additional Errors:

Get services to which the given nsgroup belongs to (Deprecated)

Returns information about services that are associated with the given NSGroup.
The service name is passed by service_type parameter
Request:
Method:
GET
URI Path(s):
/api/v1/ns-groups/{nsgroup-id}/service-associations
Request Headers:
n/a
Query Parameters:
NSGroupServiceAssociationListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ServiceAssociationListResult+

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: read Feature: services_services Additional Errors:

Get the list of all the virtual machines that are not a part of any existing NSGroup. (Deprecated)

Get the list of all the virtual machines that are not a part of any existing NSGroup.
Request:
Method:
GET
URI Path(s):
/api/v1/ns-groups/unassociated-virtual-machines
Request Headers:
n/a
Query Parameters:
VirtualMachineListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
UnassociatedVMListResult+

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: read Feature: groups_groups Additional Errors:

Create NSProfile (Deprecated)

Creates a new NSProfile which allows users to encapsulate attribute and
sub-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:
Method:
POST
URI Path(s):
/api/v1/ns-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSProfile+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NSProfile+

Required Permissions: crud Feature: groups_groups Additional Errors:

Management Plane API: Grouping Objects: NS Profiles

Create IPSet (Deprecated)

Creates a new IPSet that can group either IPv4 or IPv6 individual ip addresses,
ranges or subnets.
Request:
Method:
POST
URI Path(s):
/api/v1/ip-sets
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IPSet+

Example Request: { "display_name":"testIPSet", "ip_addresses":["192.168.1.1-192.168.1.6","192.168.1.8","192.168.4.8/24"] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
IPSet+

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: crud Feature: groups_ip_sets Additional Errors:

List NSProfiles (Deprecated)

List the NSProfiles created in a paginated format.The page size is restricted
to 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:
Method:
GET
URI Path(s):
/api/v1/ns-profiles
Request Headers:
n/a
Query Parameters:
NSProfileListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSProfileListResult+

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: read Feature: groups_groups Additional Errors:

Update NSProfile (Deprecated)

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:
Method:
PUT
URI Path(s):
/api/v1/ns-profiles/{ns-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSProfile+

Example Request: 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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSProfile+

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: crud Feature: groups_groups Additional Errors:

Read NSProfile (Deprecated)

Returns information about the specified NSProfile.
Request:
Method:
GET
URI Path(s):
/api/v1/ns-profiles/{ns-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: ns-profiles/ed5d47fc-3d90-461d-bc78-9be38cf2d1b9 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSProfile+

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: read Feature: groups_groups Additional Errors:

Delete NSProfile (Deprecated)

Deletes the specified NSProfile. By default, if the NSProfile is
consumed in a Firewall rule, it won't get deleted. In such
situations, pass "force=true" as query param to force delete
the NSProfile.
Request:
Method:
DELETE
URI Path(s):
/api/v1/ns-profiles/{ns-profile-id}
Request Headers:
n/a
Query Parameters:
NSProfileDeleteRequestParameters+
Request Body:
n/a

Example Request: ns-profiles/183e372b-854c-4fcc-a24e-05721ce89a60 ns-profiles/183e372b-854c-4fcc-a24e-05721ce89a60?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: groups_groups Additional Errors:

List NSProfile supported attribute types (Deprecated)

Returns supported attribute type strings for NSProfile.
Request:
Method:
GET
URI Path(s):
/api/v1/ns-profiles/attribute-types
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSSupportedAttributeTypesResult+

Example Response: { "attribute_types": [ "APP_ID", "DOMAIN_NAME" ] } Required Permissions: read Feature: groups_groups Additional Errors:

List NSProfile supported attribute and sub-attributes (Deprecated)

Returns supported attribute and sub-attributes for specified
attribute 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:
Method:
GET
URI Path(s):
/api/v1/ns-profiles/attributes
Request Headers:
n/a
Query Parameters:
NSSupportedAttributesListRequestParameters+
Request Body:
n/a

Example Request: /attributes?attribute_type=APP_ID Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSSupportedAttributesListResult+

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: read Feature: groups_groups Additional Errors:

Management Plane API: Grouping Objects: NS Service Groups

List all NSServiceGroups (Deprecated)

Returns paginated list of NSServiceGroups
Request:
Method:
GET
URI Path(s):
/api/v1/ns-service-groups
Request Headers:
n/a
Query Parameters:
NSServiceGroupListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSServiceGroupListResult+

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: read Feature: services_services Additional Errors:

Read NSServiceGroup (Deprecated)

Returns information about the specified NSServiceGroup
Request:
Method:
GET
URI Path(s):
/api/v1/ns-service-groups/{ns-service-group-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSServiceGroup+

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: read Feature: services_services Additional Errors:

Update NSServiceGroup (Deprecated)

Updates the specified NSService. Modifiable parameters include the description,
display_name and members.
Request:
Method:
PUT
URI Path(s):
/api/v1/ns-service-groups/{ns-service-group-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSServiceGroup+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSServiceGroup+

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: crud Feature: services_services Additional Errors:

Delete NSServiceGroup (Deprecated)

Deletes the specified NSServiceGroup. By default, if the NSServiceGroup is
consumed in a Firewall rule, it won't get deleted. In such situations, pass
"force=true" as query param to force delete the NSServiceGroup.
Request:
Method:
DELETE
URI Path(s):
/api/v1/ns-service-groups/{ns-service-group-id}
Request Headers:
n/a
Query Parameters:
NSServiceGroupDeleteRequestParameters+
Request Body:
n/a

Example Request: ?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: services_services Additional Errors:

Management Plane API: Grouping Objects: NS Services

Create NSServiceGroup (Deprecated)

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:
Method:
POST
URI Path(s):
/api/v1/ns-service-groups
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSServiceGroup+

Example Request: { "display_name":"testNSServiceGroup", "members":[{"target_id": "183e372b-854c-4fcc-a24e-05721ce89a61", "target_type": "NSService"}] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NSServiceGroup+

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: crud Feature: services_services Additional Errors:

List all NSServices (Deprecated)

Returns paginated list of NSServices
Request:
Method:
GET
URI Path(s):
/api/v1/ns-services
Request Headers:
n/a
Query Parameters:
NSServiceListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSServiceListResult+

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: read Feature: services_services Additional Errors:

Create NSService (Deprecated)

Creates a new NSService which allows users to specify characteristics to use
for matching network traffic.
Request:
Method:
POST
URI Path(s):
/api/v1/ns-services
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSService+

Example Request: # 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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NSService+

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: crud Feature: services_services Additional Errors:

Delete NSService (Deprecated)

Deletes the specified NSService. By default, if the NSService is being
referred 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:
Method:
DELETE
URI Path(s):
/api/v1/ns-services/{ns-service-id}
Request Headers:
n/a
Query Parameters:
NSServiceDeleteRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: services_services Additional Errors:

Update NSService (Deprecated)

Updates the specified NSService. Modifiable parameters include the description,
display_name and the NSService element. The system defined NSServices can't be
modified
Request:
Method:
PUT
URI Path(s):
/api/v1/ns-services/{ns-service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NSService+

Example Request: { "resource_type": "NSService", "display_name": "test", "nsservice_element": { "resource_type": "EtherTypeNSService", "ether_type": 33011 }, "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSService+

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: crud Feature: services_services Additional Errors:

Read NSService (Deprecated)

Returns information about the specified NSService
Request:
Method:
GET
URI Path(s):
/api/v1/ns-services/{ns-service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NSService+

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: read Feature: services_services Additional Errors:

Management Plane API: Monitoring

Get health stats for policy and the dependent services.

Get health stats for policy and the dependent services.
Request:
Method:
GET
URI Path(s):
/api/v1/management-plane-health
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
object

Example Response: { "consolidated_status" : { "reason" : "All components are healthy.", "status" : "UP" }, "basic" : { "policy" : { "reason" : "Policy is up and running", "status" : "UP" } }, "integrated" : { "ar" : { "reason" : "ar client is available", "status" : "UP" }, "corfu" : { "reason" : "corfu is connected successfully", "status" : "UP" }, "gm_to_lm_connection" : [ { "reason" : "Connection is alive", "to_site_id" : "27f16372-4764-45f9-9259-b2dbabf080ec", "from_site_id" : "f2b95158-f4ec-48c7-9bb0-d055e51cf109", "status" : "UP" } ], "lm_to_gm_connection" : [ { "reason" : "Connection is alive", "to_site_id" : "f2b95158-f4ec-48c7-9bb0-d055e51cf109", "from_site_id" : "27f16372-4764-45f9-9259-b2dbabf080ec", "status" : "UP" } ], "site_manager" : { "reason" : "Site manager is healthy.", "status" : "UP" } } } Required Permissions: read Feature: policy_migration Additional Errors:

Management Plane API: NSX Component Administration

Management Plane API: NSX Component Administration: Appliance Management

Read the Appliance Proxy service properties

Request:
Method:
GET
URI Path(s):
/api/v1/cluster/{cluster-node-id}/node/services/applianceproxy
/api/v1/node/services/applianceproxy
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Required Permissions: read Feature: system_administration Additional Errors:

Read the Appliance Proxy service status

Request:
Method:
GET
URI Path(s):
/api/v1/cluster/{cluster-node-id}/node/services/applianceproxy/status
/api/v1/node/services/applianceproxy/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the Appliance Proxy Service

Request:
Method:
POST
URI Path(s):
/api/v1/cluster/{cluster-node-id}/node/services/applianceproxy?action=restart
/api/v1/cluster/{cluster-node-id}/node/services/applianceproxy?action=start
/api/v1/cluster/{cluster-node-id}/node/services/applianceproxy?action=stop
/api/v1/node/services/applianceproxy?action=restart
/api/v1/node/services/applianceproxy?action=start
/api/v1/node/services/applianceproxy?action=stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud 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 (Deprecated)

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:
Method:
POST
URI Path(s):
/api/v1/bridge-endpoint-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BridgeEndpointProfile+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointProfile+

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: crud Feature: nodes_bridges Additional Errors:

List All Bridge Endpoint Profiles (Deprecated)

Returns information about all configured bridge endoint profiles
Request:
Method:
GET
URI Path(s):
/api/v1/bridge-endpoint-profiles
Request Headers:
n/a
Query Parameters:
BridgeEndpointProfileRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointProfileListResult+

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: read Feature: nodes_bridges Additional Errors:

Update a Bridge Endpoint Profile (Deprecated)

Modifies a existing bridge endpoint profile.
Request:
Method:
PUT
URI Path(s):
/api/v1/bridge-endpoint-profiles/{bridgeendpointprofile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BridgeEndpointProfile+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointProfile+

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: crud Feature: nodes_bridges Additional Errors:

Get Information about a bridge endpoint Profile (Deprecated)

Returns information about a specified bridge endpoint profile. Request:
Method:
GET
URI Path(s):
/api/v1/bridge-endpoint-profiles/{bridgeendpointprofile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointProfile+

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: read Feature: nodes_bridges Additional Errors:

Delete a Bridge Endpoint Profile (Deprecated)

Deletes the specified Bridge Endpoint Profile. Request:
Method:
DELETE
URI Path(s):
/api/v1/bridge-endpoint-profiles/{bridgeendpointprofile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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 the
bridge 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:
Method:
POST
URI Path(s):
/api/v1/bridge-endpoints
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BridgeEndpoint+

Example Request: { "display_name":"be1", "description":"Bridge Endpoint 1", "vlan":1, "bridge_cluster_id":"07419c2e-3d0e-48af-b1d1-380ffb6f5943" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpoint+

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: crud Feature: nodes_bridges Additional Errors:

List All Bridge Endpoints (Deprecated)

Returns information about all configured bridge endoints
Request:
Method:
GET
URI Path(s):
/api/v1/bridge-endpoints
Request Headers:
n/a
Query Parameters:
BridgeEndpointRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointListResult+

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: read Feature: nodes_bridges Additional Errors:

Update a Bridge Endpoint (Deprecated)

Modifies a existing bridge endpoint.
Request:
Method:
PUT
URI Path(s):
/api/v1/bridge-endpoints/{bridgeendpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BridgeEndpoint+

Example Request: { "display_name":"be1-updated", "description":"Updated Bridge Endpoint 1", "vlan":1, "bridge_cluster_id":"07419c2e-3d0e-48af-b1d1-380ffb6f5943", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpoint+

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: crud Feature: nodes_bridges Additional Errors:

Delete a Bridge Endpoint (Deprecated)

Deletes the specified Bridge Endpoint. Request:
Method:
DELETE
URI Path(s):
/api/v1/bridge-endpoints/{bridgeendpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: nodes_bridges Additional Errors:

Get Information about a bridge endpoint (Deprecated)

Returns information about a specified bridge endpoint. Request:
Method:
GET
URI Path(s):
/api/v1/bridge-endpoints/{bridgeendpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpoint+

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: read Feature: nodes_bridges Additional Errors:

Returns statistics of a specified Bridge Endpoint (Deprecated)

Get the statistics for the Bridge Endpoint of the given Endpoint id (endpoint-id) Request:
Method:
GET
URI Path(s):
/api/v1/bridge-endpoints/{endpoint-id}/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointStatistics+

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: read Feature: aggregation_service_health_monitoring Additional Errors:

Returns status of a specified Bridge Endpoint (Deprecated)

Get the status for the Bridge Endpoint of the given Endpoint id Request:
Method:
GET
URI Path(s):
/api/v1/bridge-endpoints/{endpoint-id}/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointStatus+

Example Response: { "active_nodes": [ "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3" ], "last_update_timestamp": 1457547568679, "endpoint_id": "15269939-779a-4fa4-9a0a-792dbf9fac12" } Required Permissions: read 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 (Deprecated)

Returns information about all BFD peers created on specified logical router for static routes.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers
Request Headers:
n/a
Query Parameters:
StaticHopBfdPeerListParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticHopBfdPeerListResult+

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: read Feature: routing_routers Additional Errors:

Create a static hop BFD peer (Deprecated)

Creates a BFD peer for static route. The required parameters includes peer IP address.
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
StaticHopBfdPeer+

Example Request: { "peer_ip_address": "10.10.10.10", "enabled": true, "bfd_config": { "receive_interval": 1000, "transmit_interval": 1000, "declare_dead_multiple": 3 } } Successful Response:
Response Code:
201 Created
Response Headers:
Location
Content-type: application/json
Response Body:
StaticHopBfdPeer+

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: crud Feature: routing_routers Additional Errors:

Read a static route BFD peer (Deprecated)

Read the BFD peer having specified ID.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticHopBfdPeer+

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: read 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:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}
Request Headers:
n/a
Query Parameters:
StaticHopBfdPeerDeleteRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
StaticHopBfdPeer+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticHopBfdPeer+

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: crud 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 the
resource_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:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports
Request Headers:
n/a
Query Parameters:
LogicalRouterPortsListParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterPortListResult+

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: read 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:
Method:
POST
URI Path(s):
/api/v1/logical-router-ports
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalRouterCentralizedServicePort+
LogicalRouterDownLinkPort+
LogicalRouterLinkPortOnTIER0+
LogicalRouterLinkPortOnTIER1+
LogicalRouterLoopbackPort+
LogicalRouterUpLinkPort+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Location
Content-type: application/json
Response Body:
LogicalRouterCentralizedServicePort+
LogicalRouterDownLinkPort+
LogicalRouterLinkPortOnTIER0+
LogicalRouterLinkPortOnTIER1+
LogicalRouterLoopbackPort+
LogicalRouterUpLinkPort+

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: crud Feature: routing_routers Additional Errors:

Delete a Logical Router Port (Deprecated)

Deletes the specified logical router port. You must delete logical router
ports 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:
Method:
DELETE
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}
Request Headers:
n/a
Query Parameters:
LogicalRouterPortDeleteRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: None Required Permissions: crud Feature: routing_routers Additional Errors:

Read Logical Router Port (Deprecated)

Returns information about the specified logical router port. Request:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterCentralizedServicePort+
LogicalRouterDownLinkPort+
LogicalRouterLinkPortOnTIER0+
LogicalRouterLinkPortOnTIER1+
LogicalRouterLoopbackPort+
LogicalRouterUpLinkPort+

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: read Feature: routing_routers Additional Errors:

Update a Logical Router Port (Deprecated)

Modifies the specified logical router port. Required parameters include the
resource_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:
Method:
PUT
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalRouterCentralizedServicePort+
LogicalRouterDownLinkPort+
LogicalRouterLinkPortOnTIER0+
LogicalRouterLinkPortOnTIER1+
LogicalRouterLoopbackPort+
LogicalRouterUpLinkPort+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterCentralizedServicePort+
LogicalRouterDownLinkPort+
LogicalRouterLinkPortOnTIER0+
LogicalRouterLinkPortOnTIER1+
LogicalRouterLoopbackPort+
LogicalRouterUpLinkPort+

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: crud 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 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:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}/arp-table
Request Headers:
n/a
Query Parameters:
ListByNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterPortArpTable+

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: read 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 format
for 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:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}/arp-table?format=csv
Request Headers:
n/a
Query Parameters:
TransportNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
LogicalRouterPortArpTableInCsvFormat+

Example Response: mac_address,ip 02:50:56:56:44:52,172.16.20.1 Required Permissions: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterPortState+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}/statistics
Request Headers:
n/a
Query Parameters:
TransportNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterPortStatistics+

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: read 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 Specified
Logical Router Port.
The query parameter "source=realtime" is not supported.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-router-ports/{logical-router-port-id}/statistics/summary
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterPortStatisticsSummary+

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: read Feature: routing_routers Additional Errors:

Management Plane API: Networking: Logical Routing And Services: Logical Routers

Associated URIs:

List Logical Routers (Deprecated)

Returns information about all logical routers, including the UUID, internal
and 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers
Request Headers:
n/a
Query Parameters:
LogicalRouterListParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterListResult+

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: read Feature: routing_routers Additional Errors:

Create a Logical Router (Deprecated)

Creates a logical router. The required parameters are router_type (TIER0 or
TIER1) and edge_cluster_id (TIER0 only). Optional parameters include
internal and external transit network addresses.
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalRouter+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Location
Content-type: application/json
Response Body:
LogicalRouter+

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: crud Feature: routing_routers Additional Errors:

Update a Logical Router (Deprecated)

Modifies the specified logical router. Modifiable attributes include the
internal_transit_network, external_transit_networks, and edge_cluster_id
(for TIER0 routers).
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalRouter+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouter+

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: crud Feature: routing_routers Additional Errors:

Delete a Logical Router (Deprecated)

Deletes the specified logical router. You must delete associated logical
router 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:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}
Request Headers:
n/a
Query Parameters:
LogicalRouterDeleteRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: routing_routers Additional Errors:

Read Logical Router (Deprecated)

Returns information about the specified logical router. Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouter+

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: read Feature: routing_routers Additional Errors:

Get BGP neighbor advertised routes (Deprecated)

Returns routes advertised by BGP neighbor from all edge transport nodes on which
this neighbor is currently enabled. It always returns realtime response.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/advertised-routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborRouteDetails+

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: read Feature: routing_routers Additional Errors:

Get BGP neighbor advertised routes in CSV format (Deprecated)

Returns routes advertised by BGP neighbor from all edge transport
nodes on which this neighbor is currently enabled in CSV format.
It always returns realtime response.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/advertised-routes?format=csv
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
BgpNeighborRouteDetailsInCsvFormat+

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: read Feature: routing_routers Additional Errors:

Get BGP neighbor learned routes (Deprecated)

Returns routes learned by BGP neighbor from all edge transport nodes on which
this neighbor is currently enabled. It always returns realtime response.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborRouteDetails+

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: read 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 on
which this neighbor is currently enabled in CSV format.
It always returns realtime response.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/routes?format=csv
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
BgpNeighborRouteDetailsInCsvFormat+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/status
Request Headers:
n/a
Query Parameters:
ListByOptionalNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborsStatusListResult+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/forwarding-table
Request Headers:
n/a
Query Parameters:
LogicalRouterFIBListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterRouteTable+

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: read 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 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/forwarding-table?format=csv
Request Headers:
n/a
Query Parameters:
LogicalRouterFIBRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
LogicalRouterRouteTableInCsvFormat+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-table
Request Headers:
n/a
Query Parameters:
ListByRequiredNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterRouteTable+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-table?format=csv
Request Headers:
n/a
Query Parameters:
RequiredTransportNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
LogicalRouterRouteTableInCsvFormat+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/routing-table
Request Headers:
n/a
Query Parameters:
LogicalRouterRIBListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterRouteTable+

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: read 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 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.
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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/routing-table?format=csv
Request Headers:
n/a
Query Parameters:
LogicalRouterRIBRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
LogicalRouterRouteTableInCsvFormat+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/service-cluster/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalServiceRouterClusterState+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterState+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouterStatus+

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: read 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 can
re-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:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}?action=reallocate
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ServiceRouterAllocationConfig+

Example Request: { "edge_cluster_id": "a9dc562c-effd-4225-883d-3f7d2c887c6b" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalRouter+

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: crud 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:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}?action=reprocess
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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 specific
logical 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules
Request Headers:
n/a
Query Parameters:
NatRuleTypeParameter+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Location
Content-type: application/json
Response Body:
NatRuleListResult+

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: read 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:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NatRule+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Location
Content-type: application/json
Response Body:
NatRule+

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: crud Feature: routing_nat Additional Errors:

Delete a specific NAT rule from a logical router (Deprecated)

Delete a specific NAT rule from a logical router
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules/{rule-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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 router
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules/{rule-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Location
Content-type: application/json
Response Body:
NatRule+

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: read 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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules/{rule-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NatRule+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Location
Content-type: application/json
Response Body:
NatRule+

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: crud 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 Specified
Logical Router NAT Rule. Query parameter "source=realtime" is the only supported source.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules/{rule-id}/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NatStatisticsPerRule+

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: read 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 Specified
Logical Router. Also gives the per transport node statistics for provided logical router.
The query parameter "source=realtime" is not supported.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NatStatisticsPerLogicalRouter+

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: read Feature: routing_nat Additional Errors:

Add multiple NAT rules in a specific logical router (Deprecated)

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:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/nat/rules?action=create_multiple
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NatRuleList+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NatRuleList+

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: crud 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 routers
which are present on given transport node. Only cached statistics are supported.
The query parameter "source=realtime" is not supported.
Request:
Method:
GET
URI Path(s):
/api/v1/transport-nodes/{node-id}/statistics/nat-rules
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/policy/api/v1/transport-nodes/2c9f38f2-6e77-11ef-a12b-064533dbf37d/statistics/nat-rules Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NatStatisticsPerTransportNode+

Example Response: { "transport_node_id": "2c9f38f2-6e77-11ef-a12b-064533dbf37d", "last_update_timestamp": 1726033078703, "active_sessions": 0, "total_packets": 0, "total_bytes": 0 } Required Permissions: read 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 (Deprecated)

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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bfd-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BfdConfig+

Example Request: { "enabled": true, "receive_interval": 600, "transmit_interval": 600, "declare_dead_multiple": 5, "_revision": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BfdConfig+

Example Response: { "enabled": true, "receive_interval": 600, "transmit_interval": 600, "declare_dead_multiple": 5, "_revision": 2 } Required Permissions: crud Feature: routing_routers Additional Errors:

Read the Routing BFD Configuration (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bfd-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BfdConfig+

Example Response: { "enabled": true, "receive_interval": 300, "transmit_interval": 300, "declare_dead_multiple": 3, "_revision": 0 } Required Permissions: read Feature: routing_routers Additional Errors:

Management Plane API: Networking: Logical Routing And Services: Routing Configuration

Associated URIs:

Read All IPV6 DADProfiles (Deprecated)

Returns all IPv6 DADProfiles.
Request:
Method:
GET
URI Path(s):
/api/v1/ipv6/dad-profiles
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DADProfileListResult+

Example Response: { "result_count": 1, "results": [ { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "dad_mode": "LOOSE", "wait_time": 1, "ns_retries": 3, } ] } Required Permissions: read Feature: routing_routers Additional Errors:

Create a new DADProfile (Deprecated)

Adds a new DADProfile
Request:
Method:
POST
URI Path(s):
/api/v1/ipv6/dad-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DADProfile+

Example Request: { "resource_type": "DADProfile", "dad_mode": "LOOSE", "wait_time": 1, "ns_retries": 3, } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DADProfile+

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: crud Feature: routing_routers Additional Errors:

Delete DAD Profile (Deprecated)

Delete DADProfile
Request:
Method:
DELETE
URI Path(s):
/api/v1/ipv6/dad-profiles/{dad-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: routing_routers Additional Errors:

Read specified IPV6 DADProfile (Deprecated)

Returns information about specified IPv6 DADProfile.
Request:
Method:
GET
URI Path(s):
/api/v1/ipv6/dad-profiles/{dad-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DADProfile+

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: read Feature: routing_routers Additional Errors:

Update DADProfile (Deprecated)

Update DADProfile.
Request:
Method:
PUT
URI Path(s):
/api/v1/ipv6/dad-profiles/{dad-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DADProfile+

Example Request: { "id": "65fb67d8-0485-4c23-8e59-b9ccd8799a4c", "resource_type": "DADProfile", "dad_mode": "STRICT", "wait_time": 1, "ns_retries": 3, } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DADProfile+

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: crud Feature: routing_routers Additional Errors:

Create a new NDRA Profile (Deprecated)

Adds a new NDRAProfile
Request:
Method:
POST
URI Path(s):
/api/v1/ipv6/nd-ra-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NDRAProfile+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NDRAProfile+

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: crud Feature: routing_routers Additional Errors:

Read All IPV6 NDRA Profiles (Deprecated)

Returns all IPv6 NDRA Profiles.
Request:
Method:
GET
URI Path(s):
/api/v1/ipv6/nd-ra-profiles
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NDRAProfileListResult+

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: read Feature: routing_routers Additional Errors:

Update NDRA Profile (Deprecated)

Update NDRAProfile
Request:
Method:
PUT
URI Path(s):
/api/v1/ipv6/nd-ra-profiles/{nd-ra-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NDRAProfile+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NDRAProfile+

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: crud Feature: routing_routers Additional Errors:

Read specified IPV6 NDRA Profile (Deprecated)

Returns information about specified IPv6 NDRA Profile.
Request:
Method:
GET
URI Path(s):
/api/v1/ipv6/nd-ra-profiles/{nd-ra-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NDRAProfile+

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: read Feature: routing_routers Additional Errors:

Delete NDRA Profile (Deprecated)

Delete NDRAProfile
Request:
Method:
DELETE
URI Path(s):
/api/v1/ipv6/nd-ra-profiles/{nd-ra-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: routing_routers Additional Errors:

Read the debug information for the logical router (Deprecated)

API to download below information as text which will be used
for 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/debug-info?format=text
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/plain; charset=utf-8
Response Body:
string

Example Response: { "id" : "875381be-a4c5-4173-8aa7-ab71695a8129", "serviceRouterClusterId" : "00002000-0000-0000-0000-00000000040d", "componentInfo" : ...[content omitted for brevity] Required Permissions: read Feature: routing_routers Additional Errors:

Update the Routing Configuration (Deprecated)

Modifies the routing configuration for a specified logical router.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
RoutingConfig+

Example Request: { "resource_type": "RoutingConfig", "id": "19e504e6-2d1f-4aec-a36d-80bd3eb4caed", "display_name": "19e504e6-2d1f-4aec-a36d-80bd3eb4caed", "forwarding_up_timer": 384, "_revision": 2 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RoutingConfig+

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: crud Feature: routing_routers Additional Errors:

Read the Routing Configuration (Deprecated)

Returns the routing configuration for a specified logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RoutingConfig+

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: read 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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/advertisement
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
AdvertisementConfig+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AdvertisementConfig+

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: crud Feature: routing_routers Additional Errors:

Read the Advertisement Configuration on a Logical Router (Deprecated)

Returns information about the routes to be advertised by the specified
TIER1 logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/advertisement
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AdvertisementConfig+

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: read Feature: routing_routers Additional Errors:

Update the Advertisement Rules on a Logical Router (Deprecated)

Modifies the advertisement rules on the specified logical
router. 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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/advertisement/rules
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
AdvertiseRuleList+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AdvertiseRuleList+

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: crud Feature: routing_routers Additional Errors:

Read the Advertisement Rules on a Logical Router (Deprecated)

Returns the advertisement rule list for the specified
TIER1 logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/advertisement/rules
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AdvertiseRuleList+

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: read 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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BgpConfig+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpConfig+

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: crud Feature: routing_routers Additional Errors:

Read the BGP Configuration on a Logical Router (Deprecated)

Returns information about the BGP configuration on a specified logical
router. Information includes whether or not the BGP configuration is
enabled, the AS number, and whether or not graceful
restart is enabled.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpConfig+

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: read 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 Router
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/community-lists
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BGPCommunityListListResult+

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: read 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 Router
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/community-lists
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BGPCommunityList+

Example Request: { "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BGPCommunityList+

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: crud 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 Router
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/community-lists/{community-list-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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 Router
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/community-lists/{community-list-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BGPCommunityList+

Example Request: { "_revision": 1, "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BGPCommunityList+

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: crud 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 Router
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/community-lists/{community-list-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BGPCommunityList+

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: read 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 Router
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/communty-lists/{community-list-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BGPCommunityList+

Example Request: { "_revision": 1, "communities": ["10:50","10:52"], "community_type": "NormalBGPCommunity" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BGPCommunityList+

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: crud Feature: routing_routers Additional Errors:

Paginated list of BGP Neighbors on a Logical Router (Deprecated)

Paginated list of BGP Neighbors on a Logical Router
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighborListResult+

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: read Feature: routing_routers Additional Errors:

Add a new BGP Neighbor on a Logical Router (Deprecated)

Add a new BGP Neighbor on a Logical Router
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BgpNeighbor+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighbor+

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: crud Feature: routing_routers Additional Errors:

Delete a specific BGP Neighbor on a Logical Router (Deprecated)

Delete a specific BGP Neighbor on a Logical Router
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: routing_routers Additional Errors:

Update a specific BGP Neighbor on a Logical Router (Deprecated)

Update a specific BGP Neighbor on a Logical Router
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
BgpNeighbor+

Example Request: { "_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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighbor+

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: crud Feature: routing_routers Additional Errors:

Read a specific BGP Neighbor on a Logical Router (Deprecated)

Read a specific BGP Neighbor on a Logical Router
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighbor+

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: read 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:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}
Request Headers:
n/a
Query Parameters:
ClearPasswordActionParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighbor+

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: crud Feature: routing_routers Additional Errors:

Read a specific BGP Neighbor with password on a Logical Router (Deprecated)

Read a specific BGP Neighbor details with password on a Logical Router
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}?action=show-sensitive-data
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BgpNeighbor+

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: crud Feature: routing_routers Additional Errors:

Paginated List of IPPrefixLists (Deprecated)

Paginated List of IPPrefixLists Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/ip-prefix-lists
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPPrefixListListResult+

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: read Feature: routing_routers Additional Errors:

Add IPPrefixList on a Logical Router (Deprecated)

Adds a new IPPrefixList on a Logical Router
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/ip-prefix-lists
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IPPrefixList+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPPrefixList+

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: crud Feature: routing_routers Additional Errors:

Update a specific IPPrefixList on a Logical Router (Deprecated)

Update a specific IPPrefixList on the specified logical router.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IPPrefixList+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPPrefixList+

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: crud Feature: routing_routers Additional Errors:

Get a specific IPPrefixList on a Logical Router (Deprecated)

Read a specific IPPrefixList on the specified logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPPrefixList+

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: read Feature: routing_routers Additional Errors:

Delete a specific IPPrefixList on a Logical Router (Deprecated)

Deletes a specific IPPrefixList on the specified logical router.
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: routing_routers Additional Errors:

Update the Redistribution Configuration on a Logical Router (Deprecated)

Modifies existing route redistribution rules for the specified TIER0 logical
router.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/redistribution
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
RedistributionConfig+

Example Request: { "resource_type": "RedistributionConfig", "display_name": "BGP route redistribution", "bgp_enabled": false, "_revision": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RedistributionConfig+

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: crud Feature: routing_routers Additional Errors:

Read the Redistribution Configuration on a Logical Router (Deprecated)

Returns information about configured route redistribution for the specified
logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/redistribution
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RedistributionConfig+

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: read Feature: routing_routers Additional Errors:

Update All the Redistribution Rules on a Logical Router (Deprecated)

Modifies all route redistribution rules for the specified TIER0 logical
router. Set the rules list to empty to delete/clear all rules.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/redistribution/rules
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
RedistributionRuleList+

Example Request: { "_revision": 14, "rules": [ { "display_name":"static/connected-into-bgp", "description":"BGP learns all static and connected routes", "destination":"BGP", "sources":["STATIC", "CONNECTED"] } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RedistributionRuleList+

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: crud Feature: routing_routers Additional Errors:

Read All the Redistribution Rules on a Logical Router (Deprecated)

Returns all the route redistribution rules for the specified
logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/redistribution/rules
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RedistributionRuleList+

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: read Feature: routing_routers Additional Errors:

Paginated List of RouteMaps (Deprecated)

Paginated List of RouteMaps Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-maps
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RouteMapListResult+

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: read Feature: routing_routers Additional Errors:

Add RouteMap on a Logical Router (Deprecated)

Adds a new RouteMap on a Logical Router
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-maps
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
RouteMap+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RouteMap+

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: crud Feature: routing_routers Additional Errors:

Update a specific RouteMap on a Logical Router (Deprecated)

Update a specific RouteMap on the specified logical router.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-maps/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
RouteMap+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RouteMap+

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: crud Feature: routing_routers Additional Errors:

Delete a specific RouteMap on a Logical Router (Deprecated)

Deletes a specific RouteMap on the specified logical router.
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-maps/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: routing_routers Additional Errors:

Get a specific RouteMap on a Logical Router (Deprecated)

Read a specific RouteMap on the specified logical router.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/route-maps/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RouteMap+

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: read Feature: routing_routers Additional Errors:

Paginated List of Static Routes (Deprecated)

Returns information about configured static routes, including the
network address and next hops for each static route.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticRouteListResult+

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: read Feature: routing_routers Additional Errors:

Add Static Routes on a Logical Router (Deprecated)

Adds a new static route on a Logical Router
Request:
Method:
POST
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
StaticRoute+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticRoute+

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: crud 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:
Method:
DELETE
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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:
Method:
PUT
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
StaticRoute+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticRoute+

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: crud 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:
Method:
GET
URI Path(s):
/api/v1/logical-routers/{logical-router-id}/routing/static-routes/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticRoute+

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: read Feature: routing_routers Additional Errors:

Management Plane API: Networking: Logical Switching

Management Plane API: Networking: Logical Switching: Logical Switch Ports

Associated URIs:

Create a Logical Port (Deprecated)

Creates a new logical switch port. The required parameters are the
associated 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.
Request:
Method:
POST
URI Path(s):
/api/v1/logical-ports
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalPort+

Example Request: { "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": ["-net 201.10.0.0 netmask 255.255.0.0 gw 192.168.1.1", "-net 0.0.0.0 netmask 0.0.0.0 gw 172.16.1.1"], "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": ["-net 201.10.0.0 netmask 255.255.0.0 gw 192.168.1.1", "-net 0.0.0.0 netmask 0.0.0.0 gw 172.16.1.1"], "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": ["-net 201.10.0.0 netmask 255.255.0.0 gw 192.168.1.1", "-net 0.0.0.0 netmask 0.0.0.0 gw 172.16.1.1"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP", "address_bindings": [ {"ip_address":"192.168.1.110/24"} ] } { "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": ["-net 201.10.0.0 netmask 255.255.0.0 gw 192.168.1.1", "-net 0.0.0.0 netmask 0.0.0.0 gw 172.16.1.1"], "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": ["-net 201.10.0.0 netmask 255.255.0.0 gw 192.168.1.1", "-net 0.0.0.0 netmask 0.0.0.0 gw 172.16.1.1"], "app_intf_name": "nsx-eth" } } }, "admin_state": "UP", "address_bindings": [ {"ip_address":"192.168.1.110/24", "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LogicalPort+

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: crud Feature: switching_ports Additional Errors:

List All Logical Ports (Deprecated)

Returns information about all configured logical switch ports. Logical
switch ports connect to VM virtual network interface cards (NICs). Each
logical port is associated with one logical switch.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-ports
Request Headers:
n/a
Query Parameters:
LogicalPortListParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPortListResult+

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: read Feature: switching_ports Additional Errors:

Get Information About a Logical Port (Deprecated)

Returns information about a specified logical port. Request:
Method:
GET
URI Path(s):
/api/v1/logical-ports/{lport-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPort+

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: read Feature: switching_ports Additional Errors:

Update a Logical Port (Deprecated)

Modifies an existing logical switch port. Parameters that can be modified
include 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.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-ports/{lport-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalPort+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPort+

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: crud Feature: switching_ports Additional Errors:

Delete a Logical Port (Deprecated)

Deletes the specified logical switch port. By default, if logical port has
attachments, or it is added to any NSGroup, the deletion will be failed.
Option detach could be used for deleting logical port forcibly.
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-ports/{lport-id}
Request Headers:
n/a
Query Parameters:
LogicalPortDeleteParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: switching_ports Additional Errors:

Get MAC table of a logical port with a given port id (lport-id) (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/logical-ports/{lport-id}/mac-table
Request Headers:
n/a
Query Parameters:
ListByNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPortMacAddressListResult+

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: read Feature: aggregation_service_health_monitoring Additional Errors:

Get MAC table of a logical port with a given port id (lport-id) (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/logical-ports/{lport-id}/mac-table?format=csv
Request Headers:
n/a
Query Parameters:
ListByNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
LogicalPortMacAddressCsvListResult+

Example Response: mac_address,mac_type 00:50:56:b7:e1:04,STATIC Required Permissions: read 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 returns
information 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.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-ports/{lport-id}/state
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPortState+

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: read Feature: switching_ports Additional Errors:

Get Statistics for Logical Port of a Given Port ID (lport-id) (Deprecated)

Returns statistics of a specified logical port. If the logical port is attached to
a logical router port, query parameter "source=realtime" is not supported.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-ports/{lport-id}/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPortStatistics+

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: read Feature: aggregation_service_health_monitoring Additional Errors:

Get Operational Status for Logical Port of a Given Port ID (lport-id) (Deprecated)

Returns operational status of a specified logical port. Request:
Method:
GET
URI Path(s):
/api/v1/logical-ports/{lport-id}/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPortOperationalStatus+

Example Response: { "logical_port_id": "04efc498-b872-40fc-83f8-ebf9317a2766", "last_update_timestamp": 1453764613211, "status": "UP" } Required Permissions: read Feature: aggregation_service_health_monitoring Additional Errors:

Get Operational Status Summary of All Logical Ports in the System (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/logical-ports/status
Request Headers:
n/a
Query Parameters:
LogicalPortListWithSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalPortStatusSummary+

Example Response: { "up_ports": 6, "total_ports": 6 } Required Permissions: read Feature: aggregation_service_health_monitoring Additional Errors:

Create a Switching Profile (Deprecated)

Creates a new, custom qos, port-mirroring, spoof-guard or port-security
switching 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.
Request:
Method:
POST
URI Path(s):
/api/v1/switching-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IpDiscoverySwitchingProfile+
MacManagementSwitchingProfile+
QosSwitchingProfile+
SpoofGuardSwitchingProfile+
SwitchSecuritySwitchingProfile+

Example Request: { "resource_type": "SpoofGuardSwitchingProfile", "display_name": "spoof-guard-lswitch-bindings", "white_list_providers": ["LSWITCH_BINDINGS"] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
IpDiscoverySwitchingProfile+
MacManagementSwitchingProfile+
QosSwitchingProfile+
SpoofGuardSwitchingProfile+
SwitchSecuritySwitchingProfile+

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: crud Feature: switching_switching_profiles Additional Errors:

List Switching Profiles (Deprecated)

Returns information about the system-default and user-configured switching
profiles. 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.
Request:
Method:
GET
URI Path(s):
/api/v1/switching-profiles
Request Headers:
n/a
Query Parameters:
SwitchingProfileListParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SwitchingProfilesListResult+

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: read Feature: switching_switching_profiles Additional Errors:

Delete a Switching Profile (Deprecated)

Deletes the specified switching profile. Request:
Method:
DELETE
URI Path(s):
/api/v1/switching-profiles/{switching-profile-id}
Request Headers:
n/a
Query Parameters:
SwitchingProfileDeleteParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: switching_switching_profiles Additional Errors:

Get Switching Profile by ID (Deprecated)

Returns information about a specified switching profile. Request:
Method:
GET
URI Path(s):
/api/v1/switching-profiles/{switching-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IpDiscoverySwitchingProfile+
MacManagementSwitchingProfile+
QosSwitchingProfile+
SpoofGuardSwitchingProfile+
SwitchSecuritySwitchingProfile+

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: read 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.
Request:
Method:
PUT
URI Path(s):
/api/v1/switching-profiles/{switching-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IpDiscoverySwitchingProfile+
MacManagementSwitchingProfile+
QosSwitchingProfile+
SpoofGuardSwitchingProfile+
SwitchSecuritySwitchingProfile+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IpDiscoverySwitchingProfile+
MacManagementSwitchingProfile+
QosSwitchingProfile+
SpoofGuardSwitchingProfile+
SwitchSecuritySwitchingProfile+

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: crud Feature: switching_switching_profiles Additional Errors:

Get Counts of Ports and Switches Using This Switching Profile (Deprecated)

Request:
Method:
GET
URI Path(s):
/api/v1/switching-profiles/{switching-profile-id}/summary
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SwitchingProfileStatus+

Example Response: { "num_logical_ports": 1, "switching_profile_id": "7f39bf67-ccf5-4613-8993-506ec89d893a", "num_logical_switches": 0 } Required Permissions: read Feature: switching_switching_profiles Additional Errors:

Management Plane API: Networking: Logical Switching: Logical Switches

Associated URIs:

Create a Logical Switch (Deprecated)

Creates a new logical switch. The request must include the
transport_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.
Request:
Method:
POST
URI Path(s):
/api/v1/logical-switches
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalSwitch+

Example Request: { "transport_zone_id":"cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state":"UP", "display_name":"test-logical-switch", "hybrid": true } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitch+

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: crud Feature: switching_switches Additional Errors:

List all Logical Switches (Deprecated)

Returns information about all configured logical switches. Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches
Request Headers:
n/a
Query Parameters:
LogicalSwitchListParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitchListResult+

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: read Feature: switching_switches Additional Errors:

Delete a Logical Switch (Deprecated)

Removes a logical switch from the associated overlay or VLAN transport
zone. 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.
Request:
Method:
DELETE
URI Path(s):
/api/v1/logical-switches/{lswitch-id}
Request Headers:
n/a
Query Parameters:
LogicalSwitchDeleteParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: switching_switches Additional Errors:

Get Logical Switch associated with the provided id (lswitch-id) (Deprecated)

Returns information about the specified logical switch Id. Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitch+

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: read Feature: switching_switches Additional Errors:

Update a Logical Switch (Deprecated)

Modifies attributes of an existing logical switch. Modifiable
attributes include admin_state, replication_mode, switching_profile_ids
and VLAN spec. You cannot modify the original transport_zone_id.
Request:
Method:
PUT
URI Path(s):
/api/v1/logical-switches/{lswitch-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalSwitch+

Example Request: { "transport_zone_id":"cfaec4c7-45c2-439b-b7c6-2c3aeabd9976", "replication_mode": "MTEP", "admin_state": "UP", "hybrid": false, "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitch+

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: crud Feature: switching_switches Additional Errors:

Get MAC Table for Logical Switch of the Given ID (lswitch-id) (Deprecated)

Returns MAC table of a specified logical switch 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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/mac-table
Request Headers:
n/a
Query Parameters:
ListByNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MacAddressListResult+

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: read Feature: aggregation_service_health_monitoring Additional Errors:

Get MAC Table for Logical Switch of the Given ID (lswitch-id) (Deprecated)

Returns MAC table of a specified logical switch in CSV 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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/mac-table?format=csv
Request Headers:
n/a
Query Parameters:
TransportNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
MacAddressCsvListResult+

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: read 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 only
out-of-sync transport nodes.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/state
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitchState+

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: read Feature: switching_switches Additional Errors:

Get Statistics for Logical Switch of the Given ID (lswitch-id). (Deprecated)

Returns statistics of a specified logical switch. For real time statistics source, transport_node_id and stats_type are mandatory.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/statistics
Request Headers:
n/a
Query Parameters:
LogicalSwitchStatisticsParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitchStatistics+

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: read 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. Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/summary
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitchStatus+

Example Response: { "logical_switch_id": "cc5ff938-6f09-4841-8f0f-294e86415472", "num_logical_ports": 0 } Required Permissions: read Feature: switching_switches Additional Errors:

Get virtual tunnel endpoint table for logical switch of the given ID (lswitch-id) (Deprecated)

Returns the virtual tunnel endpoint table of a specified logical switch
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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/vtep-table
Request Headers:
n/a
Query Parameters:
ListByNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VtepListResult+

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: read Feature: aggregation_service_health_monitoring Additional Errors:

Get virtual tunnel endpoint table for logical switch of the given ID (lswitch-id) (Deprecated)

Returns virtual tunnel endpoint table of a specified logical switch in
CSV 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:
Method:
GET
URI Path(s):
/api/v1/logical-switches/{lswitch-id}/vtep-table?format=csv
Request Headers:
n/a
Query Parameters:
TransportNodeIdParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
VtepCsvListResult+

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: read 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 provided
as query parameter.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches/state
Request Headers:
n/a
Query Parameters:
LogicalSwitchStateParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitchStateListResult+

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: read Feature: switching_switches Additional Errors:

Get Status Summary of All Logical Switches in the System (Deprecated)

Returns Operational status of all logical switches.
The query parameter "source=realtime" is not supported.
Request:
Method:
GET
URI Path(s):
/api/v1/logical-switches/status
Request Headers:
n/a
Query Parameters:
LogicalSwitchListWithSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalSwitchStatusSummary+

Example Response: { "total_switches": 6, "fully_realized_switches": 6 } Required Permissions: read Feature: aggregation_service_health_monitoring Additional Errors:

Management Plane API: Networking: Services

Management Plane API: Networking: Services: DHCP

Associated URIs:

Get a paginated list of DHCP server profiles (Deprecated)

Get a paginated list of DHCP server profiles. Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/server-profiles
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpProfileListResult+

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: read Feature: dhcp_server_profiles Additional Errors:

Create a DHCP server profile (Deprecated)

Create a DHCP server profile. If no edge member is specified, edge members
to run the dhcp servers will be auto-allocated from the edge cluster.
Request:
Method:
POST
URI Path(s):
/api/v1/dhcp/server-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpProfile+

Example Request: { "display_name" : "DHCP-server-profile-2", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "enable_standby_relocation" : true } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpProfile+

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: crud Feature: dhcp_server_profiles Additional Errors:

Delete a DHCP server profile (Deprecated)

Delete a DHCP server profile specified by the profile id. Request:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/server-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: dhcp_server_profiles Additional Errors:

Update a DHCP server profile (Deprecated)

If both the edge_cluster_member_indexes in the DhcpProfile are changed in
a 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:
Method:
PUT
URI Path(s):
/api/v1/dhcp/server-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpProfile+

Example Request: { "display_name" : "DHCP-server-profile-3", "edge_cluster_id" : "4a6a13e0-eb66-4c02-96c3-85c9a250a946", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpProfile+

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: crud Feature: dhcp_server_profiles Additional Errors:

Get a DHCP server profile (Deprecated)

Return the DHCP profile specified by the profile id. Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/server-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpProfile+

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: read 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:
Method:
POST
URI Path(s):
/api/v1/dhcp/server-profiles/{server-profile-id}?action=reallocate
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpProfile+

Example Request: { "edge_cluster_id" : "0748d3ce-2bdc-40ba-90d2-639a7dfe6cfe", "edge_cluster_member_indexes" : [0, 1] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpProfile+

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: crud Feature: dhcp_servers Additional Errors:

Create a DHCP server (Deprecated)

Create a logical DHCP server with v4 and/or v6 servers.
Request:
Method:
POST
URI Path(s):
/api/v1/dhcp/servers
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalDhcpServer+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LogicalDhcpServer+

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: crud Feature: dhcp_servers Additional Errors:

Get a paginated list of DHCP servers (Deprecated)

List logical DHCP servers with pagination support. Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Example Request: Get https://<nsx-mgr>/api/v1/dhcp/servers Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalDhcpServerListResult+

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: read Feature: dhcp_servers Additional Errors:

Delete a DHCP server (Deprecated)

Delete a logical DHCP server specified by server id. Request:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/servers/{server-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud 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:
Method:
PUT
URI Path(s):
/api/v1/dhcp/servers/{server-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LogicalDhcpServer+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalDhcpServer+

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: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: Get https://<nsx-mgr>/api/v1/dhcp/servers/b6a5bffa-f6a9-447c-936f-4633f9eb43a7 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LogicalDhcpServer+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ip-pools
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpIpPoolListResult+

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: read Feature: dhcp_servers Additional Errors:

Create an ip pool for a DHCP server (Deprecated)

Create an ip pool for a local DHCP server Request:
Method:
POST
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ip-pools
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpIpPool+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpIpPool+

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: crud 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:
Method:
PUT
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ip-pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpIpPool+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpIpPool+

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: crud 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:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ip-pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ip-pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpIpPool+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ip-pools/{pool-id}/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigurationState+

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: read 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:
Method:
POST
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-ip-pools
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpV6IpPool+

Example Request: { "display_name" : "dhcp-v6-ip-pool-1", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpV6IpPool+

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: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-ip-pools
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpV6IpPoolListResult+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-ip-pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpV6IpPool+

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: read 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:
Method:
PUT
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-ip-pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpV6IpPool+

Example Request: { "display_name" : "DHCP-ip-pool-3", "ranges" : [ { "start" : "2019::200.1.0.0", "end" : "2019::200.255.255.255" }], "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpV6IpPool+

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: crud 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:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-ip-pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-static-bindings
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpV6StaticBindingListResult+

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: read 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:
Method:
POST
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-static-bindings
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpV6StaticBinding+

Example Request: { "display_name" : "dhcp-v6-binding-host-1", "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpV6StaticBinding+

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: crud 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:
Method:
PUT
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-static-bindings/{binding-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpV6StaticBinding+

Example Request: { "ip_address" : ["2019::120.110.110.1"], "mac_address" : "12:34:56:78:9a:bc", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpV6StaticBinding+

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: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-static-bindings/{binding-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpV6StaticBinding+

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: read 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:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/servers/{server-id}/ipv6-static-bindings/{binding-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: dhcp_servers Additional Errors:

Delete a single DHCP lease entry specified by ip and mac. (Deprecated)

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:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/servers/{server-id}/leases
Request Headers:
n/a
Query Parameters:
DhcpDeleteLeaseRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: dhcp_servers Additional Errors:

Get specific leases of a given dhcp server (Deprecated)

Get specific leases of a given dhcp server. As a dhcp server could manage
millions of leases, the API has to limit the number of the returned
leases via two mutually-excluded request parameters, i.e. "pool_id" and
"address". Either a "pool_id" or an "address" can be provided, but not both
in a same call.

If a "pool_id" is specified, the leases of the specific pool are returned.
If an "address" is specified, only the lease(s) represented y this address
is(are) returned. The "address" can be a single IP, an ip-range, or a mac
address.
Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/leases
Request Headers:
n/a
Query Parameters:
DhcpLeaseRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpLeases+

Example Response: { "leases" : [ { "subnet" : "184.168.1.0", "start_time" : "2017-06-26 18:34:34 +0000", "mac_address" : "00:50:56:ae:6b:01", "lease_time" : "3600", "expire_time" : "2017-06-26 19:34:35 +0000", "ip_address" : "184.168.1.3" } ], "dhcp_server_id" : "9f34f749-08d9-4744-b1e9-9f079f9ce726", "timestamp" : 1498503052577 } Required Permissions: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigurationState+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/static-bindings
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpStaticBindingListResult+

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: read Feature: dhcp_servers Additional Errors:

Create a static binding for a DHCP server (Deprecated)

Create a static binding for a logical DHCP server. Request:
Method:
POST
URI Path(s):
/api/v1/dhcp/servers/{server-id}/static-bindings
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpStaticBinding+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpStaticBinding+

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: crud 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:
Method:
PUT
URI Path(s):
/api/v1/dhcp/servers/{server-id}/static-bindings/{binding-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpStaticBinding+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpStaticBinding+

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: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/static-bindings/{binding-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpStaticBinding+

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: read Feature: dhcp_servers Additional Errors:

Delete a static binding (Deprecated)

Delete a specific static binding of a given logical DHCP server. Request:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/servers/{server-id}/static-bindings/{binding-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/static-bindings/{binding-id}/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigurationState+

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: read Feature: dhcp_servers Additional Errors:

Get DHCP statistics with given dhcp server id (Deprecated)

Returns the statistics of the given dhcp server.
Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/statistics
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: TODO Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpStatistics+

Required Permissions: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/servers/{server-id}/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: TODO Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpServerStatus+

Required Permissions: read Feature: dhcp_servers Additional Errors:

Management Plane API: Networking: Services: DHCP Relay

Create a DHCP Relay Service (Deprecated)

Creates a dhcp relay service.
Request:
Method:
POST
URI Path(s):
/api/v1/dhcp/relays
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpRelayService+

Example Request: { "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayService+

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: crud Feature: dhcp_relay_services Additional Errors:

List all DHCP Relay Services (Deprecated)

Returns information about all configured dhcp relay services.
Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/relays
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayServiceListResult+

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: read Feature: dhcp_relay_services Additional Errors:

Update a DHCP Relay Service (Deprecated)

Modifies the specified dhcp relay service.
Request:
Method:
PUT
URI Path(s):
/api/v1/dhcp/relays/{relay-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpRelayService+

Example Request: { "_revision": 1, "dhcp_relay_profile_id": "bbfa30e4-87b6-41b8-8da5-771055967da1" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayService+

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: crud Feature: dhcp_relay_services Additional Errors:

Delete a DHCP Relay Service (Deprecated)

Deletes the specified dhcp relay service. Request:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/relays/{relay-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: dhcp_relay_services Additional Errors:

Read a DHCP Relay Service (Deprecated)

Returns the dhcp relay service information. Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/relays/{relay-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayService+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/dhcp/relay-profiles
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayProfileListResult+

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: read Feature: dhcp_relay_profile Additional Errors:

Create a DHCP Relay Profile (Deprecated)

Creates a dhcp relay profile.
Request:
Method:
POST
URI Path(s):
/api/v1/dhcp/relay-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpRelayProfile+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayProfile+

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: crud Feature: dhcp_relay_profile Additional Errors:

Update a DHCP Relay Profile (Deprecated)

Modifies the specified dhcp relay profile.
Request:
Method:
PUT
URI Path(s):
/api/v1/dhcp/relay-profiles/{relay-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DhcpRelayProfile+

Example Request: { "_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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayProfile+

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: crud Feature: dhcp_relay_profile Additional Errors:

Delete a DHCP Relay Profile (Deprecated)

Deletes the specified dhcp relay profile. Request:
Method:
DELETE
URI Path(s):
/api/v1/dhcp/relay-profiles/{relay-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: dhcp_relay_profile Additional Errors:

Read a DHCP Relay Profile (Deprecated)

Returns information about the specified dhcp relay profile. Request:
Method:
GET
URI Path(s):
/api/v1/dhcp/relay-profiles/{relay-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DhcpRelayProfile+

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: read Feature: dhcp_relay_profile Additional Errors:

Management Plane API: Networking: Services: DNS

Associated URIs:

Create a DNS forwader (Deprecated)

Create a DNS forwader upon a logical router. There is only
one DNS forwarder can be created upon a given logical router.
Request:
Method:
POST
URI Path(s):
/api/v1/dns/forwarders
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DnsForwarder+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsForwarder+

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: crud Feature: dns_forwarder Additional Errors:

Get a paginated list of DNS forwarders (Deprecated)

Get a paginated list of DNS forwarders.
Request:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsForwarderListResult+

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: read Feature: dns_forwarder Additional Errors:

Delete a specific DNS forwarder (Deprecated)

Delete a specific DNS forwarder.
Request:
Method:
DELETE
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: dns_forwarder Additional Errors:

Retrieve a DNS forwarder (Deprecated)

Retrieve a DNS forwarder.
Request:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsForwarder+

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: read Feature: dns_forwarder Additional Errors:

Update a specific DNS forwarder (Deprecated)

Update a specific DNS forwarder.
Request:
Method:
PUT
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DnsForwarder+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsForwarder+

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: crud Feature: dns_forwarder Additional Errors:

Get the recent failed DNS queries (Deprecated)

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:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}/failed-queries
Request Headers:
n/a
Query Parameters:
DnsFailedQueryRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsFailedQueries+

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: read 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 using
an 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:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}/nslookup
Request Headers:
n/a
Query Parameters:
NsLookupParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsAnswer+

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: read 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:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}/state
Request Headers:
n/a
Query Parameters:
RealizationStateQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigurationState+

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: read Feature: dns_forwarder Additional Errors:

Get statistics of given dns forwarder (Deprecated)

Returns the statistics of the given dns forwarder specified by forwarder id.
Request:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}/statistics
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: TODO Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsForwarderStatistics+

Required Permissions: read Feature: aggregation_service_health_monitoring Additional Errors:

Get current status of the given DNS forwarder (Deprecated)

Returns the current status of the given DNS forwarder.
Request:
Method:
GET
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: TODO Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DnsForwarderStatus+

Required Permissions: read 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:
Method:
POST
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}?action=clear_cache
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: dns_forwarder Additional Errors:

Disable the DNS forwarder. (Deprecated)

Disable the DNS forwarder if the forwarder is currently enbled. If the DNS
forwarder 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:
Method:
POST
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}?action=disable
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: dns_forwarder Additional Errors:

Enable the DNS forwarder. (Deprecated)

Enable the DNS forwarder if the forwarder is currently disabled. If the
DNS 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:
Method:
POST
URI Path(s):
/api/v1/dns/forwarders/{forwarder-id}?action=enable
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: dns_forwarder Additional Errors:

Management Plane API: Networking: Services: Loadbalancer

Associated URIs:

Retrieve a paginated list of load balancer application profiles (Deprecated)

Retrieve a paginated list of load balancer application profiles.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/application-profiles
Request Headers:
n/a
Query Parameters:
LbAppProfileListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbAppProfileListResult+

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: read Feature: lb_application_profiles Additional Errors:

Create a load balancer application profile (Deprecated)

Create a load balancer application profile.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/application-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbFastTcpProfile+
LbFastUdpProfile+
LbHttpProfile+

Example Request: { "display_name":"LB_HTTP_Application_Profile", "description":"LB_HTTP_Application_Profile", "resource_type":"LbHttpProfile" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbFastTcpProfile+
LbFastUdpProfile+
LbHttpProfile+

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: crud Feature: lb_application_profiles Additional Errors:

Delete a load balancer application profile (Deprecated)

Delete a load balancer application profile.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/application-profiles/{application-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_application_profiles Additional Errors:

Update a load balancer application profile (Deprecated)

Update a load balancer application profile.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/application-profiles/{application-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbFastTcpProfile+
LbFastUdpProfile+
LbHttpProfile+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbFastTcpProfile+
LbFastUdpProfile+
LbHttpProfile+

Required Permissions: crud Feature: lb_application_profiles Additional Errors:

Retrieve a load balancer application profile (Deprecated)

Retrieve a load balancer application profile.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/application-profiles/{application-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbFastTcpProfile+
LbFastUdpProfile+
LbHttpProfile+

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: read Feature: lb_application_profiles Additional Errors:

Create a load balancer client-ssl profile (Deprecated)

Create a load balancer client-ssl profile.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/client-ssl-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbClientSslProfile+

Example Request: { "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:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbClientSslProfile+

Required Permissions: crud 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:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/client-ssl-profiles
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbClientSslProfileListResult+

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_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" ], "is_secure" : true, "protocols" : [ "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: read Feature: lb_ssl_profiles Additional Errors:

Delete a load balancer client-ssl profile (Deprecated)

Delete a load balancer client-ssl profile.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/client-ssl-profiles/{client-ssl-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_ssl_profiles Additional Errors:

Retrieve a load balancer client-ssl profile (Deprecated)

Retrieve a load balancer client-ssl profile.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/client-ssl-profiles/{client-ssl-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbClientSslProfile+

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: read Feature: lb_ssl_profiles Additional Errors:

Update a load balancer client-ssl profile (Deprecated)

Update a load balancer client-ssl profile.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/client-ssl-profiles/{client-ssl-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbClientSslProfile+

Example Request: { "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:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbClientSslProfile+

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: crud Feature: lb_ssl_profiles Additional Errors:

Retrieve a paginated list of load balancer monitors (Deprecated)

Retrieve a paginated list of load balancer monitors.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/monitors
Request Headers:
n/a
Query Parameters:
LbMonitorListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbMonitorListResult+

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_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", ], "certificate_chain_depth": 3, "protocols": [ "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: read Feature: lb_monitors Additional Errors:

Create a load balancer monitor (Deprecated)

Create a load balancer monitor.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/monitors
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbHttpMonitor+
LbHttpsMonitor+
LbIcmpMonitor+
LbPassiveMonitor+
LbTcpMonitor+
LbUdpMonitor+

Example Request: { "request_method":" "response_status_codes":[200], "request_version":"HTTP_VERSION_1_1", "request_url":"/", "monitor_port":"80", "fall_count":1, "interval":1, "rise_count":1, "timeout":1, "resource_type":"LbHttpMonitor", "display_name":"LB_Http_Monitor", "description":"LB_Http_Monitor" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbHttpMonitor+
LbHttpsMonitor+
LbIcmpMonitor+
LbPassiveMonitor+
LbTcpMonitor+
LbUdpMonitor+

Example Response: { "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 } Required Permissions: crud Feature: lb_monitors Additional Errors:

Update a load balancer monitor (Deprecated)

Update a load balancer monitor.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/monitors/{monitor-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbHttpMonitor+
LbHttpsMonitor+
LbIcmpMonitor+
LbPassiveMonitor+
LbTcpMonitor+
LbUdpMonitor+

Example Request: { "resource_type" : "LbHttpMonitor", "description" : "LB_Http_Monitor", "id" : "ab1c038f-565a-4870-a61c-b731f99f0bb4", "display_name" : "LB_Http_Monitor", "monitor_port" : "8080", "interval" : 1, "timeout" : 1, "rise_count" : 1, "fall_count" : 1, "response_status_codes" : [ 200 ], "request_version" : "HTTP_VERSION_1_1", "request_method" : " "request_url" : "/", "_create_time" : 1515737352635, "_last_modified_user" : "admin", "_last_modified_time" : 1515737352635, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbHttpMonitor+
LbHttpsMonitor+
LbIcmpMonitor+
LbPassiveMonitor+
LbTcpMonitor+
LbUdpMonitor+

Example Response: { "resource_type" : "LbHttpMonitor", "description" : "LB_Http_Monitor", "id" : "ab1c038f-565a-4870-a61c-b731f99f0bb4", "display_name" : "LB_Http_Monitor", "monitor_port" : "8080", "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" : 1515737589241, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 1 } Required Permissions: crud Feature: lb_monitors Additional Errors:

Delete a load balancer monitor (Deprecated)

Delete a load balancer monitor.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/monitors/{monitor-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_monitors Additional Errors:

Retrieve a load balancer monitor (Deprecated)

Retrieve a load balancer monitor.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/monitors/{monitor-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbHttpMonitor+
LbHttpsMonitor+
LbIcmpMonitor+
LbPassiveMonitor+
LbTcpMonitor+
LbUdpMonitor+

Example Response: { "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 } Required Permissions: read Feature: lb_monitors Additional Errors:

Read load balancer node usage summary (Deprecated)

API is used to retrieve the load balancer node usage summary for all nodes.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/node-usage-summary
Request Headers:
n/a
Query Parameters:
LbNodeUsageSummaryRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbNodeUsageSummary+

Example Response: { "current_credit_number" : 1, "remaining_credit_number" : 39, "usage_percentage" : 2.5, "severity" : "GREEN", "node_counts" : [{ "severity" : "GREEN", "node_count" : 1, },{ "severity" : "ORANGE", "node_count" : 0, },{ "severity" : "RED", "node_count" : 0, }] "node_usages" : [{ "type" : "LbEdgeNodeUsage", "node_id" : "56ad0d8a-6cec-43ea-a30f-a83a4128944d", "edge_cluster_id" : "56ad0d8a-6cec-43ea-a30f-a83a4128944e", "form_factor" : "LARGE_VIRTUAL_MACHINE", "current_credit_number" : 1, "remaining_credit_number" : 39, "usage_percentage" : 2.5, "severity" : "GREEN", "current_pool_members" : 10, "current_virtual_servers" : 2, "current_pools" : 2, "current_small_load_balancer_services" : 1, "current_medium_load_balancer_services" : 0, "current_large_load_balancer_services" : 0, "current_xlarge_load_balancer_services" : 0, "remaining_small_load_balancer_services" : 39, "remaining_medium_load_balancer_services" : 3, "remaining_large_load_balancer_services" : 0, "remaining_xlarge_load_balancer_services" : 0, "remaining_pool_members" : 7490 }] } Required Permissions: read Feature: lb_services Additional Errors:

Create a load balancer persistence profile (Deprecated)

Create a load balancer persistence profile.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/persistence-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbCookiePersistenceProfile+
LbGenericPersistenceProfile+
LbSourceIpPersistenceProfile+

Example Request: { "resource_type" : "LbCookiePersistenceProfile", "display_name" : "lb-persistence-profile1", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : true, "cookie_fallback" : true, "cookie_name" : "LoadBalancer" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbCookiePersistenceProfile+
LbGenericPersistenceProfile+
LbSourceIpPersistenceProfile+

Example Response: { "resource_type" : "LbCookiePersistenceProfile", "id" : "4a19c81d-2622-4c9a-b79a-39587b172e7b", "display_name" : "lb-persistence-profile1", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : true, "cookie_fallback" : true, "cookie_name" : "LoadBalancer", "_create_time" : 1515742393690, "_last_modified_user" : "admin", "_last_modified_time" : 1515742393690, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: crud Feature: lb_persistence_profiles Additional Errors:

Retrieve a paginated list of load balancer persistence profiles (Deprecated)

Retrieve a paginated list of load balancer persistence profiles.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/persistence-profiles
Request Headers:
n/a
Query Parameters:
LbPersistenceProfileListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPersistenceProfileListResult+

Example Response: { "result_count" : 3, "results" : [ { "resource_type" : "LbCookiePersistenceProfile", "id" : "4a19c81d-2622-4c9a-b79a-39587b172e7b", "display_name" : "lb-persistence-profile1", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : true, "cookie_fallback" : true, "cookie_name" : "LoadBalancer", "_create_time" : 1515742393690, "_last_modified_user" : "admin", "_last_modified_time" : 1515742393690, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbCookiePersistenceProfile", "id" : "d7556195-bd1e-5d3a-97f6-82accb2e19ac", "display_name" : "nsx-default-cookie-persistence-profile", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : true, "cookie_fallback" : true, "cookie_name" : "NSXLB", "_create_time" : 1515651381460, "_last_modified_user" : "system", "_last_modified_time" : 1515651381460, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbSourceIpPersistenceProfile", "id" : "2a176906-fc94-584a-b1a7-20333434f6eb", "display_name" : "nsx-default-source-ip-persistence-profile", "persistence_shared" : false, "purge" : "FULL", "timeout" : 300, "ha_persistence_mirroring_enabled" : false, "_create_time" : 1515651381495, "_last_modified_user" : "system", "_last_modified_time" : 1515651381495, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 } ] } Required Permissions: read Feature: lb_persistence_profiles Additional Errors:

Update a load balancer persistence profile (Deprecated)

Update a load balancer persistence profile.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/persistence-profiles/{persistence-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbCookiePersistenceProfile+
LbGenericPersistenceProfile+
LbSourceIpPersistenceProfile+

Example Request: { "resource_type" : "LbCookiePersistenceProfile", "id" : "4a19c81d-2622-4c9a-b79a-39587b172e7b", "display_name" : "lb-persistence-profile1", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : false, "cookie_fallback" : true, "cookie_name" : "LoadBalancer", "_create_time" : 1515742393690, "_last_modified_user" : "admin", "_last_modified_time" : 1515742393690, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbCookiePersistenceProfile+
LbGenericPersistenceProfile+
LbSourceIpPersistenceProfile+

Example Response: { "resource_type" : "LbCookiePersistenceProfile", "id" : "4a19c81d-2622-4c9a-b79a-39587b172e7b", "display_name" : "lb-persistence-profile1", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : false, "cookie_fallback" : true, "cookie_name" : "LoadBalancer", "_create_time" : 1515742393690, "_last_modified_user" : "admin", "_last_modified_time" : 1515742928426, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 1 } Required Permissions: crud Feature: lb_persistence_profiles Additional Errors:

Retrieve a load balancer persistence profile (Deprecated)

Retrieve a load balancer persistence profile.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/persistence-profiles/{persistence-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbCookiePersistenceProfile+
LbGenericPersistenceProfile+
LbSourceIpPersistenceProfile+

Example Response: { "resource_type" : "LbCookiePersistenceProfile", "id" : "4a19c81d-2622-4c9a-b79a-39587b172e7b", "display_name" : "lb-persistence-profile1", "persistence_shared" : false, "cookie_mode" : "INSERT", "cookie_garble" : true, "cookie_fallback" : true, "cookie_name" : "LoadBalancer", "_create_time" : 1515742393690, "_last_modified_user" : "admin", "_last_modified_time" : 1515742393690, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: read Feature: lb_persistence_profiles Additional Errors:

Delete a load balancer persistence profile (Deprecated)

Delete a load balancer persistence profile.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/persistence-profiles/{persistence-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_persistence_profiles Additional Errors:

Create a load balancer pool (Deprecated)

Create a load balancer pool.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/pools
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbPool+

Example Request: { "algorithm":"ROUND_ROBIN", "members":[ { "display_name":"Member_VM30", "backup_member":"false", "weight":1, "admin_state":"ENABLED", "ip_address":"192.168.100.160" }, { "display_name":"Member_VM31", "backup_member":"false", "weight":1, "admin_state":"ENABLED", "ip_address":"192.168.100.161" }, { "display_name":"Member_VM32", "backup_member":"false", "weight":1, "admin_state":"ENABLED", "ip_address":"192.168.100.162" } ], "tcp_multiplexing_number":6, "tcp_multiplexing_enabled":"false", "min_active_members":1, "active_monitor_ids": ["ab1c038f-565a-4870-a61c-b731f99f0bb4"], "display_name":"LB_HTTP_Pool", "description":"LB_HTTP_Pool" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbPool+

Example Response: { "resource_type" : "LbPool", "description" : "LB_HTTP_Pool", "id" : "637ad18e-ebd3-43d0-b9e8-e9fc5a4af828", "display_name" : "LB_HTTP_Pool", "min_active_members" : 1, "tcp_multiplexing_number" : 6, "members" : [ { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.160", "display_name" : "Member_VM30", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.161", "display_name" : "Member_VM31", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.162", "display_name" : "Member_VM32", "backup_member" : false } ], "active_monitor_ids" : [ "ab1c038f-565a-4870-a61c-b731f99f0bb4" ], "tcp_multiplexing_enabled" : false, "algorithm" : "ROUND_ROBIN", "_create_time" : 1515739241530, "_last_modified_user" : "admin", "_last_modified_time" : 1515739241530, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: crud Feature: lb_pools Additional Errors:

Retrieve a paginated list of load balancer pools (Deprecated)

Retrieve a paginated list of load balancer pools.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/pools
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPoolListResult+

Example Response: { "result_count" : 2, "results" : [ { "resource_type" : "LbPool", "description" : "LB_HTTP_Pool", "id" : "637ad18e-ebd3-43d0-b9e8-e9fc5a4af828", "display_name" : "LB_HTTP_Pool", "min_active_members" : 1, "tcp_multiplexing_number" : 6, "members" : [ { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.160", "display_name" : "Member_VM30", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.161", "display_name" : "Member_VM31", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.162", "display_name" : "Member_VM32", "backup_member" : false } ], "active_monitor_ids" : [ "ab1c038f-565a-4870-a61c-b731f99f0bb4" ], "tcp_multiplexing_enabled" : false, "algorithm" : "ROUND_ROBIN", "_create_time" : 1515739241530, "_last_modified_user" : "admin", "_last_modified_time" : 1515739241530, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbPool", "id" : "bf972923-9c40-4183-9a27-8e02d138e8e2", "display_name" : "pool1", "min_active_members" : 1, "tcp_multiplexing_number" : 6, "members" : [ { "port" : "80", "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.1.10", "display_name" : "192.168.1.10", "backup_member" : false } ], "tcp_multiplexing_enabled" : false, "algorithm" : "ROUND_ROBIN", "_create_time" : 1515653475106, "_last_modified_user" : "admin", "_last_modified_time" : 1515653475106, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } ] } Required Permissions: read Feature: lb_pools Additional Errors:

Add, remove, or modify load balancer pool members (Deprecated)

For ADD_MEMBERS, pool members will be created and added to load balancer
pool. This action is only valid for static pool members.
For REMOVE_MEMBERS, pool members will be removed from load balancer pool
via IP and port in pool member settings. This action is only valid for
static pool members.
For UPDATE_MEMBERS, pool members admin state will be updated. This action
is valid for both static pool members and dynamic pool members. For dynamic
pool members, this update will be stored in customized_members field in load
balancer pool member group.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/pools/{pool-id}
Request Headers:
n/a
Query Parameters:
PoolMemberAction+
Request Body:
PoolMemberSettingList+

Example Request: ?action=UPDATE_MEMBERS { "members":[ { "port":"80", "admin_state":"DISABLED", "ip_address":"192.168.1.101" }, { "port":"80", "admin_state":"GRACEFUL_DISABLED", "ip_address":"192.168.1.102" } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPool+

Example Response: { "resource_type":"LbPool", "description":"my http pool", "id":"83d97031-5bec-4f67-bc32-56963d68c158", "display_name":"httppool1", "min_active_members":1, "tcp_multiplexing_number":6, "members":[ { "port":"80", "weight":1, "admin_state":"DISABLED", "ip_address":"192.168.1.101", "display_name":"m1", "backup_member":false }, { "port":"80", "weight":1, "admin_state":"GRACEFUL_DISABLED", "ip_address":"192.168.1.102", "display_name":"m2", "backup_member":false }, { "port":"80", "weight":1, "admin_state":"ENABLED", "ip_address":"192.168.1.103", "display_name":"m3", "backup_member":false } ], "tcp_multiplexing_enabled":false, "algorithm":"ROUND_ROBIN", "_create_user":"admin", "_create_time":1510295536792, "_last_modified_user":"admin", "_last_modified_time":1510296553884, "_system_owned":false, "_protection":"NOT_PROTECTED", "_revision":1 } Required Permissions: crud Feature: lb_pools Additional Errors:

Retrieve a load balancer pool (Deprecated)

Retrieve a load balancer pool.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPool+

Example Response: { "resource_type" : "LbPool", "description" : "LB_HTTP_Pool", "id" : "637ad18e-ebd3-43d0-b9e8-e9fc5a4af828", "display_name" : "LB_HTTP_Pool", "min_active_members" : 1, "tcp_multiplexing_number" : 6, "members" : [ { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.160", "display_name" : "Member_VM30", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.161", "display_name" : "Member_VM31", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.162", "display_name" : "Member_VM32", "backup_member" : false } ], "active_monitor_ids" : [ "ab1c038f-565a-4870-a61c-b731f99f0bb4" ], "tcp_multiplexing_enabled" : false, "algorithm" : "ROUND_ROBIN", "_create_time" : 1515739241530, "_last_modified_user" : "admin", "_last_modified_time" : 1515739241530, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: read Feature: lb_pools Additional Errors:

Update a load balancer pool (Deprecated)

Update a load balancer pool.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbPool+

Example Request: { "resource_type" : "LbPool", "description" : "LB_HTTP_Pool", "id" : "637ad18e-ebd3-43d0-b9e8-e9fc5a4af828", "display_name" : "LB_HTTP_Pool", "min_active_members" : 2, "tcp_multiplexing_number" : 6, "members" : [ { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.160", "display_name" : "Member_VM30", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.161", "display_name" : "Member_VM31", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.162", "display_name" : "Member_VM32", "backup_member" : false } ], "active_monitor_ids" : [ "ab1c038f-565a-4870-a61c-b731f99f0bb4" ], "tcp_multiplexing_enabled" : false, "algorithm" : "ROUND_ROBIN", "_create_time" : 1515739241530, "_last_modified_user" : "admin", "_last_modified_time" : 1515739241530, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPool+

Example Response: { "resource_type" : "LbPool", "description" : "LB_HTTP_Pool", "id" : "637ad18e-ebd3-43d0-b9e8-e9fc5a4af828", "display_name" : "LB_HTTP_Pool", "min_active_members" : 2, "tcp_multiplexing_number" : 6, "members" : [ { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.160", "display_name" : "Member_VM30", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.161", "display_name" : "Member_VM31", "backup_member" : false }, { "weight" : 1, "admin_state" : "ENABLED", "ip_address" : "192.168.100.162", "display_name" : "Member_VM32", "backup_member" : false } ], "active_monitor_ids" : [ "ab1c038f-565a-4870-a61c-b731f99f0bb4" ], "tcp_multiplexing_enabled" : false, "algorithm" : "ROUND_ROBIN", "_create_time" : 1515739241530, "_last_modified_user" : "admin", "_last_modified_time" : 1515739838202, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 1 } Required Permissions: crud Feature: lb_pools Additional Errors:

Delete a load balancer pool (Deprecated)

Delete a load balancer pool.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/pools/{pool-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_pools Additional Errors:

Retrieve a paginated list of load balancer rules (Deprecated)

Retrieve a paginated list of load balancer rules.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/rules
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbRuleListResult+

Example Response: [{ "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name": "LoginRouteRule", "description": "LbRule to route login requests to dedicated pool", "match_conditions" : [{ "type": "LbHttpRequestUriCondition", "match_type": "EQUALS", "uri": "/login", "inverse": false }], "match_strategy" : "ALL", "phase" : "HTTP_FORWARDING" "actions" : [{ "type": "LbSelectPoolAction", "pool_id": "b6a5bffa-f6a9-447c-6666-4633f9eb1234" }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 }, { "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name": "URIRewriteRule", "description": "Sample URI rewrite rule", "match_conditions" : [{ "type": "LbHttpRequestUriCondition", "match_type": "REGEX", "uri": "/news/(?<year>\\d+)/(?<month>\\d+)/(?<article>.*)", "inverse": false }], "match_strategy" : "ALL", "phase" : "HTTP_REQUEST_REWRITE", "actions" : [{ "type": "LbHttpRequestUriRewriteAction", "uri": "/news/$year-$month-$article", "uri_arguments": "" }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 }, { "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a6", "display_name": "ServiceMaintenanceRule", "description": "LbRule to be used while system is down", "match_conditions" : [], "match_strategy" : "ALL", "phase" : "HTTP_FORWARDING", "actions" : [{ "type": "LbHttpRejectAction", "reply_status": "503", }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 } ] Required Permissions: read Feature: lb_rules Additional Errors:

Create a load balancer rule (Deprecated)

Create a load balancer rule.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/rules
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbRule+

Example Request: { "resource_type": "LbRule", "display_name": "URIRewriteRule", "description": "Sample URI rewrite rule", "match_conditions" : [{ "type": "LbHttpRequestUriCondition", "match_type": "REGEX", "uri": "/news/(?<year>\\d+)/(?<month>\\d+)/(?<article>.*)", "inverse": false }], "match_strategy" : "ALL", "phase" : "HTTP_REQUEST_REWRITE", "actions" : [{ "type": "LbHttpRequestUriRewriteAction", "uri": "/news/$year-$month-$article" }] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbRule+

Example Response: { "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name": "URIRewriteRule", "description": "Sample URI rewrite rule", "match_conditions" : [{ "type": "LbHttpRequestUriCondition", "match_type": "REGEX", "uri": "/news/(?<year>\\d+)/(?<month>\\d+)/(?<article>.*)", "inverse": false }], "match_strategy" : "ALL", "phase" : "HTTP_REQUEST_REWRITE", "actions" : [{ "type": "LbHttpRequestUriRewriteAction", "uri": "/news/$year-$month-$article", "uri_arguments": "" }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 } Required Permissions: crud Feature: lb_rules Additional Errors:

Update a load balancer rule (Deprecated)

Update a load balancer rule.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/rules/{rule-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbRule+

Example Request: { "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a6", "display_name": "ServiceMaintenanceRule", "description": "LbRule to be used while system is down", "match_conditions" : [], "match_strategy" : "ANY", "phase" : "HTTP_FORWARDING", "actions" : [{ "type": "LbHttpRejectAction", "reply_status": "503", }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbRule+

Example Response: { "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a6", "display_name": "ServiceMaintenanceRule", "description": "LbRule to be used while system is down", "match_conditions" : [], "match_strategy" : "ANY", "phase" : "HTTP_FORWARDING", "actions" : [{ "type": "LbHttpRejectAction", "reply_status": "503", }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 1 } Required Permissions: crud Feature: lb_rules Additional Errors:

Delete a load balancer rule (Deprecated)

Delete a load balancer rule.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/rules/{rule-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_rules Additional Errors:

Retrieve a load balancer rule (Deprecated)

Retrieve a load balancer rule.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/rules/{rule-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbRule+

Example Response: { "resource_type" : "LbRule", "id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43a7", "display_name": "URIRewriteRule", "description": "Sample URI rewrite rule", "match_conditions" : [{ "type": "LbHttpRequestUriCondition", "match_type": "REGEX", "uri": "/news/(?<year>\\d+)/(?<month>\\d+)/(?<article>.*)", "inverse": false }], "match_strategy" : "ALL", "phase" : "HTTP_REQUEST_REWRITE", "actions" : [{ "type": "LbHttpRequestUriRewriteAction", "uri": "/news/$year-$month-$article", "uri_arguments": "" }] "_create_time" : 1478304339963, "_create_user" : "admin", "_last_modified_user" : "admin", "_system_owned" : false, "_last_modified_time" : 1478304339963, "_revision" : 0 } Required Permissions: read Feature: lb_rules Additional Errors:

Create a load balancer server-ssl profile (Deprecated)

Create a load balancer server-ssl profile.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/server-ssl-profiles
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbServerSslProfile+

Example Request: { "resource_type" : "LbServerSslProfile", "display_name" : "server-ssl-profile1", "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "protocols" : [ "TLS_V1_2" ] } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbServerSslProfile+

Example Response: { "resource_type" : "LbServerSslProfile", "id" : "03598bc9-9c3e-495c-84f5-693399f47a49", "display_name" : "server-ssl-profile1", "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "_create_time" : 1515744606954, "_last_modified_user" : "admin", "_last_modified_time" : 1515744606954, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: crud Feature: lb_ssl_profiles Additional Errors:

Retrieve a paginated list of load balancer server-ssl profiles (Deprecated)

Retrieve a paginated list of load balancer server-ssl profiles.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/server-ssl-profiles
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServerSslProfileListResult+

Example Response: { "result_count" : 2, "results" : [ { "resource_type" : "LbServerSslProfile", "id" : "d7943e9b-1d4e-5fcd-b9db-c7a24d6b1230", "display_name" : "nsx-default-server-ssl-profile", "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_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" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "_create_time" : 1515651381605, "_last_modified_user" : "system", "_last_modified_time" : 1515651381605, "_system_owned" : true, "_create_user" : "system", "_protection" : "NOT_PROTECTED", "_revision" : 0 }, { "resource_type" : "LbServerSslProfile", "id" : "03598bc9-9c3e-495c-84f5-693399f47a49", "display_name" : "server-ssl-profile1", "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "_create_time" : 1515744606954, "_last_modified_user" : "admin", "_last_modified_time" : 1515744606954, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } ] } Required Permissions: read Feature: lb_ssl_profiles Additional Errors:

Delete a load balancer server-ssl profile (Deprecated)

Delete a load balancer server-ssl profile.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/server-ssl-profiles/{server-ssl-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_ssl_profiles Additional Errors:

Update a load balancer server-ssl profile (Deprecated)

Update a load balancer server-ssl profile.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/server-ssl-profiles/{server-ssl-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbServerSslProfile+

Example Request: { "resource_type" : "LbServerSslProfile", "id" : "03598bc9-9c3e-495c-84f5-693399f47a49", "display_name" : "server-ssl-profile1", "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, "_create_time" : 1515744606954, "_last_modified_user" : "admin", "_last_modified_time" : 1515744606954, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServerSslProfile+

Example Response: { "resource_type" : "LbServerSslProfile", "id" : "03598bc9-9c3e-495c-84f5-693399f47a49", "display_name" : "server-ssl-profile1", "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, "_create_time" : 1515744606954, "_last_modified_user" : "admin", "_last_modified_time" : 1515745096738, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 1 } Required Permissions: crud Feature: lb_ssl_profiles Additional Errors:

Retrieve a load balancer server-ssl profile (Deprecated)

Retrieve a load balancer server-ssl profile.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/server-ssl-profiles/{server-ssl-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServerSslProfile+

Example Response: { "resource_type" : "LbServerSslProfile", "id" : "03598bc9-9c3e-495c-84f5-693399f47a49", "display_name" : "server-ssl-profile1", "ciphers" : [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "is_secure" : true, "protocols" : [ "TLS_V1_2" ], "session_cache_enabled" : true, "_create_time" : 1515744606954, "_last_modified_user" : "admin", "_last_modified_time" : 1515744606954, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: read Feature: lb_ssl_profiles Additional Errors:

Retrieve a paginated list of load balancer services (Deprecated)

Retrieve a paginated list of load balancer services.
When logical_router_id is specified in request parameters, the
associated load balancer services which are related to the given
logical router returned.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services
Request Headers:
n/a
Query Parameters:
LbServiceQueryRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServiceListResult+

Example Response: { "result_count" : 1, "results" : [ { "resource_type" : "LbService", "id" : "4177b474-f147-44f2-b055-73f887742ea1", "display_name" : "lbs1", "size" : "SMALL", "attachment" : { "target_display_name" : "lrouter-2", "is_valid" : true, "target_type" : "LogicalRouter", "target_id" : "6aa3b556-58ad-420a-9b0d-535d3aebf2f5" }, "error_log_level" : "INFO", "access_log_enabled" : false, "virtual_server_ids" : [ "a332950f-472d-4ae3-be03-e7ccefe28fbd" ], "enabled" : true, "_create_time" : 1515745891661, "_last_modified_user" : "admin", "_last_modified_time" : 1515745891661, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } ] } Required Permissions: read Feature: lb_services Additional Errors:

Create a load balancer service (Deprecated)

Create a load balancer service.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/services
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbService+

Example Request: { "resource_type" : "LbService", "display_name" : "lbs1", "size" : "SMALL", "attachment" : { "target_id" : "6aa3b556-58ad-420a-9b0d-535d3aebf2f5" }, "virtual_server_ids" : [ "a332950f-472d-4ae3-be03-e7ccefe28fbd" ], "enabled" : true } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
LbService+

Example Response: { "resource_type" : "LbService", "id" : "4177b474-f147-44f2-b055-73f887742ea1", "display_name" : "lbs1", "size" : "SMALL", "attachment" : { "target_display_name" : "lrouter-2", "is_valid" : true, "target_type" : "LogicalRouter", "target_id" : "6aa3b556-58ad-420a-9b0d-535d3aebf2f5" }, "error_log_level" : "INFO", "access_log_enabled" : false, "virtual_server_ids" : [ "a332950f-472d-4ae3-be03-e7ccefe28fbd" ], "enabled" : true, "_create_time" : 1515745891661, "_last_modified_user" : "admin", "_last_modified_time" : 1515745891661, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: crud Feature: lb_services Additional Errors:

Retrieve a load balancer service (Deprecated)

Retrieve a load balancer service.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbService+

Example Response: { "resource_type" : "LbService", "id" : "4177b474-f147-44f2-b055-73f887742ea1", "display_name" : "lbs1", "size" : "SMALL", "attachment" : { "target_display_name" : "lrouter-2", "is_valid" : true, "target_type" : "LogicalRouter", "target_id" : "6aa3b556-58ad-420a-9b0d-535d3aebf2f5" }, "error_log_level" : "INFO", "access_log_enabled" : false, "virtual_server_ids" : [ "a332950f-472d-4ae3-be03-e7ccefe28fbd" ], "enabled" : true, "_create_time" : 1515745891661, "_last_modified_user" : "admin", "_last_modified_time" : 1515745891661, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Required Permissions: read Feature: lb_services Additional Errors:

Delete a load balancer service (Deprecated)

Delete a load balancer service.
Request:
Method:
DELETE
URI Path(s):
/api/v1/loadbalancer/services/{service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: crud Feature: lb_services Additional Errors:

Update a load balancer service (Deprecated)

Update a load balancer service.
Request:
Method:
PUT
URI Path(s):
/api/v1/loadbalancer/services/{service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
LbService+

Example Request: { "resource_type" : "LbService", "id" : "4177b474-f147-44f2-b055-73f887742ea1", "display_name" : "lbs1", "size" : "SMALL", "attachment" : { "target_display_name" : "lrouter-2", "is_valid" : true, "target_type" : "LogicalRouter", "target_id" : "6aa3b556-58ad-420a-9b0d-535d3aebf2f5" }, "error_log_level" : "INFO", "access_log_enabled" : false, "virtual_server_ids" : [ "a332950f-472d-4ae3-be03-e7ccefe28fbd", "64150185-d351-4f9f-9580-f4ea97fec257" ], "enabled" : true, "_create_time" : 1515745891661, "_last_modified_user" : "admin", "_last_modified_time" : 1515745891661, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbService+

Example Response: { "resource_type" : "LbService", "id" : "4177b474-f147-44f2-b055-73f887742ea1", "display_name" : "lbs1", "size" : "SMALL", "attachment" : { "target_display_name" : "lrouter-2", "is_valid" : true, "target_type" : "LogicalRouter", "target_id" : "6aa3b556-58ad-420a-9b0d-535d3aebf2f5" }, "error_log_level" : "INFO", "access_log_enabled" : false, "virtual_server_ids" : [ "a332950f-472d-4ae3-be03-e7ccefe28fbd", "64150185-d351-4f9f-9580-f4ea97fec257" ], "enabled" : true, "_create_time" : 1515745891661, "_last_modified_user" : "admin", "_last_modified_time" : 1515746535612, "_system_owned" : false, "_create_user" : "admin", "_protection" : "NOT_PROTECTED", "_revision" : 1 } Required Permissions: crud Feature: lb_services Additional Errors:

Read the debug information of the load balancer service (Deprecated)

API to download below information which will be used for debugging and
troubleshooting.
1) Load balancer service
2) Load balancer associated virtual servers
3) Load balancer associated pools
4) Load balancer associated profiles such as persistence, SSL, application.
5) Load balancer associated monitors
6) Load balancer associated rules
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/debug-info
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServiceDebugInfo+

Example Response: { "service" : { "resource_type" : "LbService", "id" : "5d5a3e33-6481-4b48-8f77-e2f8da08e5c7", "display_name" : "lbs2", "size" : "SMALL", "attachment" : { "target_display_name" : "t1-tenant2", "is_valid" : true, "target_type" : "LogicalRouter", "target_id" : "9a29ad34-0a99-4eca-8d0c-bdc742da8d80" }, "error_log_level" : "INFO", "access_log_enabled" : false, "virtual_server_ids" : [ "44faaa07-12ae-488b-a165-c8466356126a" ], "enabled" : true, "_create_user" : "admin", "_create_time" : 1512484966332, "_last_modified_user" : "admin", "_last_modified_time" : 1512577042464, "_system_owned" : false, "_protection" : "NOT_PROTECTED", "_revision" : 3 }, "virtual_servers" : [ ...[content omitted for brevity] } Required Permissions: read Feature: lb_services Additional Errors:

Get the statistics of load balancer pool (Deprecated)

Returns the statistics of the given load balancer pool by given load balancer
service id and load balancer pool id.
Currently, only realtime mode is supported.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/pools/{pool-id}/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPoolStatistics+

Example Response: { "last_update_timestamp" : 1516002997693, "members" : [ { "port" : "80", "ip_address" : "192.168.2.10", "statistics" : { "max_sessions" : 1, "bytes_in" : 3948, "bytes_out_rate" : 0.0, "total_sessions" : 8, "bytes_out" : 686, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "port" : "80", "ip_address" : "192.168.1.10", "statistics" : { "max_sessions" : 1, "bytes_in" : 5076, "bytes_out_rate" : 0.0, "total_sessions" : 9, "bytes_out" : 882, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ], "pool_id" : "029a843e-ae42-4bdf-9f84-8b1f94cb380d", "statistics" : { "max_sessions" : 1, "bytes_in" : 9024, "bytes_out_rate" : 0.0, "total_sessions" : 17, "bytes_out" : 1568, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } Required Permissions: read Feature: lb_pools Additional Errors:

Get the status of load balancer pool (Deprecated)

Returns the status of the given load balancer pool by given load balancer
service id and load balancer pool id.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/pools/{pool-id}/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPoolStatus+

Example Response: { "members" : [ { "port" : "80", "ip_address" : "192.168.1.10", "status" : "UP" }, { "port" : "80", "ip_address" : "192.168.2.10", "status" : "UP" } ], "pool_id" : "029a843e-ae42-4bdf-9f84-8b1f94cb380d", "status" : "UP" } Required Permissions: read Feature: lb_pools Additional Errors:

Get the statistics list of load balancer pools (Deprecated)

Returns the statistics list of load balancer pools in given load balancer service.
Currently, only realtime mode is supported.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/pools/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPoolStatisticsListResult+

Example Response: { "results" : [ { "last_update_timestamp" : 1516003088603, "members" : [ { "port" : "9090", "ip_address" : "192.168.2.10", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "port" : "9090", "ip_address" : "192.168.1.10", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ], "pool_id" : "4818b7d5-2bc7-4135-bb25-ae6a4c42a125", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "last_update_timestamp" : 1516003088603, "members" : [ { "port" : "80", "ip_address" : "192.168.1.10", "statistics" : { "max_sessions" : 1, "bytes_in" : 5076, "bytes_out_rate" : 0.0, "total_sessions" : 9, "bytes_out" : 882, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "port" : "80", "ip_address" : "192.168.2.10", "statistics" : { "max_sessions" : 1, "bytes_in" : 3948, "bytes_out_rate" : 0.0, "total_sessions" : 8, "bytes_out" : 686, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ], "pool_id" : "029a843e-ae42-4bdf-9f84-8b1f94cb380d", "statistics" : { "max_sessions" : 1, "bytes_in" : 9024, "bytes_out_rate" : 0.0, "total_sessions" : 17, "bytes_out" : 1568, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ] } Required Permissions: read Feature: lb_pools Additional Errors:

Get the status list of load balancer pools (Deprecated)

Returns the status list of load balancer pools in given load balancer service.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/pools/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbPoolStatusListResult+

Example Response: { "results" : [ { "members" : [ { "port" : "80", "ip_address" : "192.168.1.10", "status" : "UP" }, { "port" : "80", "ip_address" : "192.168.2.10", "status" : "UP" } ], "pool_id" : "029a843e-ae42-4bdf-9f84-8b1f94cb380d", "status" : "UP" }, { "members" : [ { "port" : "9090", "ip_address" : "192.168.1.10", "status" : "UP" }, { "port" : "9090", "ip_address" : "192.168.2.10", "status" : "UP" } ], "pool_id" : "4818b7d5-2bc7-4135-bb25-ae6a4c42a125", "status" : "UP" } ] } Required Permissions: read Feature: lb_pools Additional Errors:

Get the statistics of load balancer service (Deprecated)

Returns the statistics of the given load balancer service.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServiceStatistics+

Example Response: { "virtual_servers" : [ { "last_update_timestamp" : 1516002153211, "virtual_server_id" : "19ba1f6b-09d7-43df-ae1e-4d491d766d20", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "last_update_timestamp" : 1516002153211, "virtual_server_id" : "6be3337b-42c9-4ad6-8184-82ecb7a3234d", "statistics" : { "max_sessions" : 1, "bytes_in" : 1027, "bytes_out_rate" : 0.0, "total_sessions" : 13, "bytes_out" : 7358, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ], "last_update_timestamp" : 1516002152710, "service_id" : "a0de28f3-c0f7-445c-a624-265175da795d", "pools" : [ { "last_update_timestamp" : 1516002152710, "members" : [ { "port" : "9090", "ip_address" : "192.168.2.10", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "port" : "9090", "ip_address" : "192.168.1.10", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ], "pool_id" : "4818b7d5-2bc7-4135-bb25-ae6a4c42a125", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "last_update_timestamp" : 1516002152710, "members" : [ { "port" : "80", "ip_address" : "192.168.1.10", "statistics" : { "max_sessions" : 1, "bytes_in" : 3948, "bytes_out_rate" : 0.0, "total_sessions" : 7, "bytes_out" : 686, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "port" : "80", "ip_address" : "192.168.2.10", "statistics" : { "max_sessions" : 1, "bytes_in" : 3384, "bytes_out_rate" : 0.0, "total_sessions" : 7, "bytes_out" : 588, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ], "pool_id" : "029a843e-ae42-4bdf-9f84-8b1f94cb380d", "statistics" : { "max_sessions" : 1, "bytes_in" : 7332, "bytes_out_rate" : 0.0, "total_sessions" : 14, "bytes_out" : 1274, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ] } Required Permissions: read Feature: lb_services Additional Errors:

Get the status of the given load balancer service (Deprecated)

Returns the status of the given load balancer service.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/status
Request Headers:
n/a
Query Parameters:
LbServiceStatusQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServiceStatus+

Example Response: { "virtual_servers" : [ { "virtual_server_id" : "6be3337b-42c9-4ad6-8184-82ecb7a3234d", "status" : "UP" }, { "virtual_server_id" : "19ba1f6b-09d7-43df-ae1e-4d491d766d20", "status" : "UP" } ], "standby_transport_nodes" : [ "c2d821c4-f9b4-11e7-84be-000c29641b42" ], "last_update_timestamp" : 1516001961249, "service_id" : "a0de28f3-c0f7-445c-a624-265175da795d", "service_status" : "UP", "pools" : [ { "members" : [ { "port" : "80", "ip_address" : "192.168.1.10", "status" : "UP" }, { "port" : "80", "ip_address" : "192.168.2.10", "status" : "UP" } ], "pool_id" : "029a843e-ae42-4bdf-9f84-8b1f94cb380d", "status" : "UP" }, { "members" : [ { "port" : "9090", "ip_address" : "192.168.1.10", "status" : "UP" }, { "port" : "9090", "ip_address" : "192.168.2.10", "status" : "UP" } ], "pool_id" : "4818b7d5-2bc7-4135-bb25-ae6a4c42a125", "status" : "UP" } ], "memory_usage" : 1, "active_transport_nodes" : [ "b665f79a-f9b4-11e7-a7f1-000c29b74dbd" ], "cpu_usage" : 0 } Required Permissions: read Feature: lb_services Additional Errors:

Read the usage information of the given load balancer service (Deprecated)

API to fetch the capacity and current usage of the given load balancer
service.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/usage
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbServiceUsage+

Example Response: { "service_id" : "b6a5bffa-f6a9-447c-936f-4633f9eb43g1", "service_size" : "SMALL", "virtual_server_capacity" : 10, "pool_capacity" : 10, "pool_member_capacity" : 30, "current_virtual_server_count : 2, "current_pool_count : 10, "current_pool_member_count : 20, "usage_percentage" : 100.0, "severity" : "RED" } Required Permissions: read Feature: lb_services Additional Errors:

Get the statistics of the given load balancer virtual server (Deprecated)

Returns the statistics of the load balancer virtual server by given load
balancer service id and load balancer virtual server id.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/virtual-servers/{virtual-server-id}/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbVirtualServerStatistics+

Example Response: { "last_update_timestamp" : 1516002554036, "virtual_server_id" : "6be3337b-42c9-4ad6-8184-82ecb7a3234d", "statistics" : { "max_sessions" : 1, "bytes_in" : 1027, "bytes_out_rate" : 0.0, "total_sessions" : 13, "bytes_out" : 7358, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } Required Permissions: read Feature: lb_virtual_servers Additional Errors:

Get the status of the load balancer virtual server (Deprecated)

Returns the status of the virtual server by given load balancer serives id
and load balancer virtual server id.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/virtual-servers/{virtual-server-id}/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbVirtualServerStatus+

Example Response: { "virtual_server_id" : "6be3337b-42c9-4ad6-8184-82ecb7a3234d", "status" : "UP" } Required Permissions: read Feature: lb_virtual_servers Additional Errors:

Get the statistics list of virtual servers (Deprecated)

Returns the statistics list of virtual servers in given load balancer service.
Currently, only realtime mode is supported.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/virtual-servers/statistics
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbVirtualServerStatisticsListResult+

Example Response: { "results" : [ { "last_update_timestamp" : 1516002661141, "virtual_server_id" : "19ba1f6b-09d7-43df-ae1e-4d491d766d20", "statistics" : { "max_sessions" : 0, "bytes_in" : 0, "bytes_out_rate" : 0.0, "total_sessions" : 0, "bytes_out" : 0, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } }, { "last_update_timestamp" : 1516002661141, "virtual_server_id" : "6be3337b-42c9-4ad6-8184-82ecb7a3234d", "statistics" : { "max_sessions" : 1, "bytes_in" : 1027, "bytes_out_rate" : 0.0, "total_sessions" : 13, "bytes_out" : 7358, "current_session_rate" : 0.0, "current_sessions" : 0, "http_request_rate" : 0.0, "bytes_in_rate" : 0.0 } } ] } Required Permissions: read Feature: lb_virtual_servers Additional Errors:

Get the status list of virtual servers in given load balancer service (Deprecated)

Returns the status list of virtual servers in given load balancer service.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/services/{service-id}/virtual-servers/status
Request Headers:
n/a
Query Parameters:
DataSourceParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbVirtualServerStatusListResult+

Example Response: { "results" : [ { "virtual_server_id" : "6be3337b-42c9-4ad6-8184-82ecb7a3234d", "status" : "UP" }, { "virtual_server_id" : "19ba1f6b-09d7-43df-ae1e-4d491d766d20", "status" : "UP" } ] } Required Permissions: read Feature: lb_virtual_servers Additional Errors:

Retrieve a list of supported SSL ciphers and protocols (Deprecated)

Retrieve a list of supported SSL ciphers and protocols.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/ssl/ciphers-and-protocols
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbSslCipherAndProtocolListResult+

Example Response: { "result_count" : 35, "ciphers" : [ { "cipher" : "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY", "HIGH_SECURITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "cipher_group_labels" : [ "CUSTOM", "HIGH_SECURITY" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_RSA_WITH_AES_256_CBC_SHA", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_RSA_WITH_AES_128_CBC_SHA", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_RSA_WITH_AES_128_CBC_SHA256", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_RSA_WITH_AES_128_GCM_SHA256", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_RSA_WITH_AES_256_CBC_SHA256", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_RSA_WITH_AES_256_GCM_SHA384", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY", "HIGH_SECURITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY", "HIGH_SECURITY" ], "is_secure" : true, "is_default" : true }, { "cipher" : "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "cipher_group_labels" : [ "CUSTOM" ], "is_secure" : true, "is_default" : false }, { "cipher" : "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "cipher_group_labels" : [ "CUSTOM", "BALANCED", "HIGH_COMPATIBILITY", "HIGH_SECURITY" ], "is_secure" : true, "is_default" : true } ], "protocols" : [ { "protocol" : "TLS_V1_2", "is_secure" : true, "is_default" : true } ] } Required Permissions: read Feature: lb_ssl_profiles Additional Errors:

Read load balancer usage for the given node (Deprecated)

API is used to retrieve the usage of load balancer entities which include
current number and remaining number of credits, virtual Servers, pools,
pool Members and different size of LB services from the given node.
Currently only Edge node is supported.
Request:
Method:
GET
URI Path(s):
/api/v1/loadbalancer/usage-per-node/{node-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LbEdgeNodeUsage+

Example Response: { "type" : "LbEdgeNodeUsage", "node_id" : "56ad0d8a-6cec-43ea-a30f-a83a4128944d", "edge_cluster_id" : "56ad0d8a-6cec-43ea-a30f-a83a4128944e", "form_factor" : "LARGE_VIRTUAL_MACHINE", "current_credit_number" : 1, "remaining_credit_number" : 39, "usage_percentage" : 2.5, "severity" : "GREEN", "current_pool_members" : 10, "current_virtual_servers" : 2, "current_pools" : 2, "current_small_load_balancer_services" : 1, "current_medium_load_balancer_services" : 0, "current_large_load_balancer_services" : 0, "current_xlarge_load_balancer_services" : 0, "remaining_small_load_balancer_services" : 39, "remaining_medium_load_balancer_services" : 3, "remaining_large_load_balancer_services" : 0, "remaining_xlarge_load_balancer_services" : 0, "remaining_pool_members" : 7490 } Required Permissions: read Feature: lb_services Additional Errors:

Create a load balancer virtual server (Deprecated)

Create a load balancer virtual server.
Request:
Method:
POST
URI Path(s):
/api/v1/loadbalancer/virtual-servers
Request Headers:
n/a