vcloud Director API for NSX Programming Guide API Version 29.0 vcloud Director 9.0

Similar documents
vcloud Director API for NSX Programming Guide API Version 30.0 vcloud Director 9.1

vcloud Director API for NSX Programming Guide API Version 27.0 vcloud Director 8.20

vcloud Director API for NSX Programming Guide

vcloud Director Tenant Portal Guide vcloud Director 8.20

vcloud Director User's Guide 04 OCT 2018 vcloud Director 9.5

vcenter Operations Management Pack for NSX-vSphere

Recommended Configuration Maximums

Recommended Configuration Maximums

vcloud Director User's Guide

vcloud Director User's Guide

Recommended Configuration Maximums. NSX for vsphere Updated on August 08, 2018

vcloud Director User's Guide

Installing and Configuring vcloud Connector

vcloud Director User's Guide

vshield Administration Guide

IaaS Integration for Multi- Machine Services. vrealize Automation 6.2

Installing and Configuring vcloud Connector

IaaS Integration for Multi-Machine Services

vcenter Operations Management Pack for vcns

vcloud Director Tenant Portal Guide 04 OCT 2018 vcloud Director 9.5

vcloud Air Advanced Networking Services Guide

NSX-T Data Center Migration Coordinator Guide. 5 APR 2019 VMware NSX-T Data Center 2.4

vshield API Programming Guide

vrealize Operations Management Pack for NSX for vsphere 3.5 Release Notes

vrealize Operations Management Pack for NSX for vsphere 2.0

VMware Identity Manager Connector Installation and Configuration (Legacy Mode)

Using vrealize Operations Tenant App as a Service Provider

What s New in VMware vcloud Director 8.20

vsphere Networking Update 1 ESXi 5.1 vcenter Server 5.1 vsphere 5.1 EN

What s New with VMware vcloud Director 8.0

vrealize Operations Management Pack for NSX for vsphere 3.0

vrealize Log Insight Developer Resources Update 1 Modified on 03 SEP 2017 vrealize Log Insight 4.0

vshield Quick Start Guide

vcloud Director Administrator's Guide

vcloud Director Administrator's Guide

VMware Integrated OpenStack Quick Start Guide

vrealize Log Insight Developer Resources

Introducing VMware Validated Design Use Cases. Modified on 21 DEC 2017 VMware Validated Design 4.1

Deploying VMware Identity Manager in the DMZ. JULY 2018 VMware Identity Manager 3.2

Using the vcenter Orchestrator Plug-In for vcloud Director 5.5. vrealize Orchestrator 5.5

vrealize Operations Management Pack for NSX for vsphere 3.5.0

vcloud Air - Virtual Private Cloud OnDemand Networking Guide

VMware vcloud Director for Service Providers

21CTL Disaster Recovery, Workload Mobility and Infrastructure as a Service Proposal. By Adeyemi Ademola E. Cloud Engineer

VMware Identity Manager Cloud Deployment. Modified on 01 OCT 2017 VMware Identity Manager

VMware Identity Manager Cloud Deployment. DEC 2017 VMware AirWatch 9.2 VMware Identity Manager

Introducing VMware Validated Design Use Cases

Cross-vCenter NSX Installation Guide. Update 6 Modified on 16 NOV 2017 VMware NSX for vsphere 6.3

vcloud Director Administrator's Guide vcloud Director 9.0

Workspace ONE UEM Certificate Authentication for Cisco IPSec VPN. VMware Workspace ONE UEM 1810

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 6.5

Installing and Configuring VMware Identity Manager Connector (Windows) OCT 2018 VMware Identity Manager VMware Identity Manager 3.

Workload Mobility and Disaster Recovery to VMware Cloud IaaS Providers

Horizon DaaS Platform 6.1 Service Provider Installation - vcloud

IBM Cloud for VMware Solutions NSX Edge Services Gateway Solution Architecture

Cross-vCenter NSX Installation Guide. Update 3 Modified on 20 NOV 2017 VMware NSX for vsphere 6.2

vsphere Replication for Disaster Recovery to Cloud

vsphere Networking Update 2 VMware vsphere 5.5 VMware ESXi 5.5 vcenter Server 5.5 EN

Cross-vCenter NSX Installation Guide. Update 4 VMware NSX for vsphere 6.4 VMware NSX Data Center for vsphere 6.4

vcloud Director Administrator's Guide vcloud Director 8.10

1V0-642.exam.30q.

Planning and Preparation. VMware Validated Design 4.0 VMware Validated Design for Remote Office Branch Office 4.0

DISASTER RECOVERY- AS-A-SERVICE FOR VMWARE CLOUD PROVIDER PARTNERS WHITE PAPER - OCTOBER 2017

Android Mobile Single Sign-On to VMware Workspace ONE. SEP 2018 VMware Workspace ONE VMware Identity Manager VMware Identity Manager 3.

Using the vcenter Orchestrator Plug-In for vcloud Director 1.0

VMware vrealize Operations Management Pack for vcloud Director 5.0 Guide

vsphere Replication for Disaster Recovery to Cloud

Deploying VMware Identity Manager in the DMZ. SEPT 2018 VMware Identity Manager 3.3

Administering vrealize Log Insight. September 20, 2018 vrealize Log Insight 4.7

Using vrealize Operations Tenant App for vcloud Director as a Tenant Admin

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 8.1

Administering vrealize Log Insight. April 12, 2018 vrealize Log Insight 4.6

VMware Integrated OpenStack with Kubernetes Getting Started Guide. VMware Integrated OpenStack 4.0

VMware vfabric Data Director Installation Guide

Installing and Configuring vcenter Support Assistant

Installing vrealize Network Insight

Getting Started Guide. VMware NSX Cloud services

NSX-T Upgrade Guide. VMware NSX-T 2.0

VMware Skyline Collector Installation and Configuration Guide. VMware Skyline 1.4

VMware vcloud Director Configuration Maximums vcloud Director 9.1 and 9.5 October 2018

NSX Administration Guide. Update 3 Modified on 20 NOV 2017 VMware NSX for vsphere 6.2

VMware Horizon Cloud Service on Microsoft Azure Administration Guide

1. Click on "IaaS" to advance to the Windows Azure Scenario. 2. Click to configure the "CloudNet" Virtual Network

2V0-642 vmware. Number: 2V0-642 Passing Score: 800 Time Limit: 120 min.

VMware Horizon Cloud Service on Microsoft Azure Administration Guide

Exam Name: VMware Certified Associate Network Virtualization

NSX-T Upgrade Guide. VMware NSX-T 2.1

Administering vrealize Log Insight. 12-OCT-2017 vrealize Log Insight 4.5

AT&T CLOUD SERVICES. AT&T Synaptic Compute as a Service SM. Using VMware vcloud Connector

Installing vrealize Network Insight. VMware vrealize Network Insight 3.3

vrealize Network Insight Installation Guide

VMware Skyline Collector Installation and Configuration Guide. VMware Skyline Collector 2.0

Using the vrealize Orchestrator Operations Client. vrealize Orchestrator 7.5

VMware vfabric Data Director Installation Guide

vrealize Orchestrator Load Balancing

Developing and Deploying vsphere Solutions, vservices, and ESX Agents

VMware vcloud Air Key Concepts

Using VMware View Client for Mac

Test Accredited Configuration Engineer (ACE) Exam PAN OS 6.0 Version

Introducing VMware Validated Designs for Software-Defined Data Center

Transcription:

vcloud Director API for NSX Programming Guide API Version 29.0 vcloud Director 9.0

You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit your feedback to docfeedback@vmware.com VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com Copyright 2016, 2017 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2

Contents 1 About the vcloud Director API for NSX 4 Updated Information 7 2 NSX Edge Gateway Management 8 Query or Upgrade an Edge Gateway 8 Edge DHCP Services 9 Edge Firewall Services 10 Edge NAT Services 11 Edge Routing Services 12 Edge Load Balancer Services 14 Edge SSL VPN Services 17 Edge L2 VPN Services 21 Edge IPSec VPN Services 21 Edge Interfaces, Logging, Statistics, and Remote Access Properties 22 3 NSX Distributed Firewall Service 24 4 NSX Services 28 Certificate Management 28 Applications and Application Groups 30 Security Groups 30 Security Tags 31 Grouping Objects 32 VMware, Inc. 3

About the vcloud Director API for NSX 1 The vcloud Director API for NSX is a proxy API that enables vcloud API clients to make requests to the NSX API. Use this document as a supplement to the NSX vsphere API Guide (NSX version 6.2 or later). This document lists the subset of NSX API requests supported by the vcloud Director API for NSX and provides information about differences between those requests as they are described in the NSX API documentation and how you must make them when using the vcloud Director API for NSX. Relationship to the NSX API The vcloud Director API for NSX supports a subset of the operations and objects defined in the NSX vsphere API Guide (NSX 6.2). The API supports NSX 6.2 and 6.3. You can download the NSX vsphere API Guide from https://pubs.vmware.com/nsx-62/topic/com.vmware.icbase/pdf/nsx_62_api.pdf (NSX 6.2) or https://pubs.vmware.com/nsx-63/topic/com.vmware.icbase/pdf/nsx_63_api.pdf (NSX 6.3). Requests listed in this document, along with related examples documented in the NSX vsphere API Guide, can be used by callers of the vcloud Director API for NSX with a few modifications and some additional constraints. Relationship to the vcloud API The vcloud Director API for NSX is not part of the vcloud API. It uses a proxy facility to allow clients that have authenticated to the vcloud API to make NSX API requests through the vcloud Director secure public URL with a network suffix. Examples in this document represent this URL as https://vcloud.example.com/network. Multi-Tenant Support The NSX API is designed to address NSX objects in a global scope like that of a VMware vcenter datacenter. The NSX Proxy API is designed to address NSX objects within the scope of a vcloud Director tenant organization. Where the NSX API uses internal edge identifiers such as edge-1 (typically shown as edgeid in the NSX vsphere API Guide) to identify an edge, the vcloud Director API for NSX uses the identifier that vcloud Director assigns to the edge. This is a unique identifier in the form of a UUID, as defined by RFC 4122. Use of this identifier allows the API to restrict access to an edge to members of the organization VMware, Inc. 4

that owns the edge. Organization members' access to an edge is also governed by their role in the organization and the rights associated with that role. The vcloud Director API for NSX uses this edge UUID only to identify the edge, locate the NSX Manager responsible for the edge, and retrieve its internal NSX edge id, which it uses in subsequent NSX API operations on the edge. Operations on other NSX objects such as certificates and grouping objects typically require a vcloud Director organization or VDC UUID in the request to limit access to tenants with rights to the vcloud Director object. vcloud Director system administrators can view or update all edges in the system. Security HTTP communications between a vcloud API client and server are secured with SSL. API clients must also complete a login request to receive an authorization token that must be included in all subsequent requests. Request Headers The following HTTP headers are typically included in requests: Accept All requests must include an HTTP Accept header that designates the vcloud Director API for NSX version that the client is using. Accept: application/*+xml;version=api-version For example, the following header indicates that the request is from a vcloud Director API for NSX version 29.0 client. Accept: application/*+xml;version=29.0 Accept-Encoding By default, the system returns response content as uncompressed XML. Compressing the response can improve performance, especially when the response is large and network bandwidth is a factor. (Requests cannot be compressed.) To request a response to be returned as compressed XML, include the following header: Accept-Encoding: gzip The response is encoded using gzip encoding as described in RFC 1952, and includes the following header: Content-Encoding: gzip In the default configuration, responses smaller than 64KB are never compressed. VMware, Inc. 5

Accept-Language Message strings in ErrorType responses are localized. To specify the language desired in responses, use the Accept-Language request header. To request a response with message strings localized to French, use the following header: Accept-Language: fr Authorization Content-Type Content-type: application/xml x-vcloud-authorization All requests to create a vcloud API session must include an Authorization header of the form prescribed by the identity provider that your organization uses. See the vcloud API Programming Guide for Service Providers. Requests that include a body must include the following HTTP Content- Type header. X-VMWARE-VCLOUD- CLIENT-REQUEST-ID This header, which is returned with the Session response after a successful log-in, must be included in all subsequent requests from clients that authenticate to the integrated identity provider or the SAML identity provider. See the vcloud API Programming Guide for Service Providers. The value of this header is used to build a request ID returned in the value of the X-VMWARE-VCLOUD-REQUEST-ID header. The value of this header cannot contain more than 128 characters drawn from the set of letters, numbers, and the hyphen (-). Values with invalid characters are ignored. Values with more than 128 characters are truncated. VMware, Inc. 6

Updated Information This is updated with each release of the product or when necessary. This table provides the update history of the. Revision Description 06 NOV 2018 Added topic Grouping Objects to provide information about creating and managing IP address groups and MAC 28 SEP 2017 Initial release. address groups in an organization virtual data center. VMware, Inc. 7

NSX Edge Gateway 2 Management Each NSX Edge Gateway provides network edge security and gateway services to isolate a virtualized network. This chapter includes the following topics: Query or Upgrade an Edge Gateway Edge DHCP Services Edge Firewall Services Edge NAT Services Edge Routing Services Edge Load Balancer Services Edge SSL VPN Services Edge L2 VPN Services Edge IPSec VPN Services Edge Interfaces, Logging, Statistics, and Remote Access Properties Query or Upgrade an Edge Gateway You can use the vcloud Director API for NSX to query all edges, query a specific edge, or upgrade an edge. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 2 1. Summary of NSX Edge Gateway Query and Upgrade Requests List all edges in the system. URL/edges pagededgelist List the edge URL/edges/id edge Get the status of the edge URL/edges/id /status edgestatus VMware, Inc. 8

Table 2 1. Summary of NSX Edge Gateway Query and Upgrade Requests (Continued) Get the summary of the edge Get the list of all jobs for the edge Get the list of active jobs for the edge URL/edges/id /summary edgesummary URL/edges/id/jobs edgejobs URL/edges/id/jobs?status=active edgejobs Upgrade the edge with URL/edges/id /?action=upgrade List the edges contained by vcloud Director organization VDC with id id. URL/edges/?orgVdc=id edgesummaries Edge DHCP Services An NSX edge gateway capabilities include IP address pooling, one-to-one static IP address allocation, and external DNS server configuration. Static IP address binding is based on the managed object ID and interface ID of the requesting client virtual machine. The DHCP relay capability provided by NSX in your vcloud Director environment enables you to leverage your existing DHCP infrastructure from within your vcloud Director environment without any interruption to the IP address management in your existing DHCP infrastructure. DHCP messages are relayed from virtual machines to the designated DHCP servers in your physical DHCP infrastructure, which allows IP addresses controlled by the NSX software to continue to be in synch with IP addresses in the rest of your DHCP-controlled environments. Note DHCP relay does not support overlapping IP address spaces. DHCP relay and DHCP service cannot run on the same vnic at the same time. If a relay agent is configured on a vnic, a DHCP pool cannot be configured on the subnets of that vnic. See the NSX Administration Guide for details. In the table below: API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. VMware, Inc. 9

Table 2 2. Summary of NSX Edge DHCP Requests Retrieve DHCP configuration for the edge Update DHCP configuration for the edge Reset DHCP configuration for the edge to factory defaults. Append an IP address pool to the set of DHCP pools configured for the edge with Delete the IP address pool identified by ippool-# from the edge Retrieve the DHCP relay configuration from the edge Update the DHCP relay Reset DHCP relay to factory defaults. Retrieve DHCP lease information from the edge URL/edges/id/dhcp/config dhcp URL/edges/id/dhcp/config dhcp URL/edges/id/dhcp/config URL/edges/id/dhcp/config/ippools ippool URL/edges/id/config/ippools/ippool-# URL/edges/id/dhcp/config/relay relay URL/edges/id/dhcp/config/relay relay URL/edges/id/dhcp/config/relay URL/edges/id/dhcp/leaseInfo dhcpleases Edge Firewall Services Edge Firewall provides perimeter security for organization VDC networks. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 2 3. Summary of NSX Edge Firewall Requests Retrieve firewall configuration for the edge Update firewall configuration for the edge URL/edges/id/firewall/config firewall URL/edges/id/firewall/config firewall VMware, Inc. 10

Table 2 3. Summary of NSX Edge Firewall Requests (Continued) Reset firewall configuration for the edge to factory defaults. Append an edge firewall rule for the edge URL/edges/id/firewall/config URL/edges/id/firewall/config/rules firewallrules 201 Created Add an edge firewall rule for URL/edges/id/firewall/config/rules? firewallrules 201 Created the edge aboveruleid=# above the rule identified by # Retrieve the edge firewall rule identified by #. (Cannot retrieve internal rules or the default_policy rule.) URL/edges/id/firewall/config/rules/# firewallrule Update the edge firewall rule firewallrule identified by #. (Cannot URL/edges/id/firewall/config/rules/rules/# update internal rules or the default_policy rule.) Delete the edge firewall rule Delete API- identified by #. (Cannot URL/edges/id/firewall/config/rules/# delete internal rules or the default policy rule.) Retrieve statistics for the edge firewall rule identified by #. (Cannot retrieve statistics for internal rules or the default policy rule.) URL/edges/id/firewall/statistics/# dashboardstatisti cs Edge NAT Services NSX Edge provides network address translation (NAT) service to assign a public address to a computer or group of computers in a private network. Using this technology limits the number of public IP addresses that an organization requires. You must configure NAT rules to provide access to services running on privately addressed virtual machines. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. VMware, Inc. 11

Table 2 4. Summary of NSX Edge NAT Requests Retrieve edge NAT Update edge NAT Reset edge NAT to factory defaults. Append a NAT rule to NAT rules on the edge with URL/edges/id/nat/config nat URL/edges/id/nat/config nat URL/edges/id/nat/config URL/edges/id/nat/config/rules natrules 201 Created Add an edge NAT rule above the rule with identifier# on the edge URL/edges/id/nat/config/rules/? aboveruleid=# natrule 201 Created Update edge NAT rule with identifier# on the edge with Delete edge NAT rule with the identifier# from the edge URL/edges/id/nat/config/rules/# natrule Delete API-URL/edges/id/nat/config/rules/# Note Every external IP address associated with a NAT rule must be registered as a secondary address on the Edge Gateway's uplink interface. The vcloud Director API for NSX handles this registration automatically. Administrators using the NSX API must register those external IP addresses manually. Edge Routing Services Dynamic routing protocols such as OSPF and BGP provide forwarding information between layer 2 broadcast domains. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. VMware, Inc. 12

Table 2 5. Summary of NSX Edge Routing Requests Retrieve the routing Update the routing Delete the routing Retrieve the global routing URL/edges/id/routing/config routing URL/edges/id/routing/config routing URL/edges/id/routing/config URL/edges/id/routing/config/global routinggloba lconfig Update the global routing URL/edges/id/routing/config/global routingglobal Config Retrieve the static routing Update the static routing Delete static and default routing configuration for the edge Retrieve the OSPF routing Update the OSPF routing Delete OSPF routing Retrieve the BGP routing Update the BGP routing Delete BGP routing URL/edges/id/routing/config/static staticroutin g URL/edges/id/routing/config/static staticrouting URL/edges/id/routing/config/static URL/edges/id/routing/config/ospf ospf URL/edges/id/routing/config/ospf ospf URL/edges/id/routing/config/ospf URL/edges/id/routing/config/bgp bgp URL/edges/id/routing/config/bgp bgp URL/edges/id/routing/config/bgp VMware, Inc. 13

Edge Load Balancer Services The NSX Edge load balancer distributes incoming service requests evenly among multiple servers in such a way that the load distribution is transparent to users. Load balancing thus helps in achieving optimal resource utilization, maximizing throughput, minimizing response time, and avoiding overload. NSX Edge provides load balancing up to Layer 7. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 2 6. Summary of NSX Edge Load Balancer Requests Retrieve the load balancer Update the load balancer Delete the load balancer URL/edges/id/loadbalancer/config loadbalancer URL/edges/id/loadbalancer/config loadbalancer URL/edges/id/loadbalancer/config Retrieve the load balancer virtual server configuration for the edge URL/edges/id/loadbalancer/config/virtualservers loadbalancer Update the load balancer virtual server configuration for the edge by appending the virtual server defined in the request body. URL/edges/id/loadbalancer/config/virtualservers virtualserver 201 Created Delete the load balancer virtual server configuration for the edge URL/edges/id/loadbalancer/config/virtualservers Retrieve the configuration of the load balancer virtual server with identifier virtualserver-# for the URL/edges/id/loadbalancer/config/virtualservers/v irtualserver-# virtualserver edge Update the configuration of the load balancer virtual server with identifier virtualserver-# for the URL/edges/id/loadbalancer/config/virtualservers/v irtualserver-# virtualserver edge VMware, Inc. 14

Table 2 6. Summary of NSX Edge Load Balancer Requests (Continued) Delete the configuration of the load balancer virtual server with identifier virtualserver-# for the URL/edges/id/loadbalancer/config/virtualservers /virtualserver-# edge Retrieve the load balancer pool configuration for the edge URL/edges/id/loadbalancer/config/pools loadbalancer Update the load balancer pool configuration for the edge by appending the pool defined in the request body. URL/edges/id/loadbalancer/config/pools pool 201 Created Delete the load balancer pool URL/edges/id/loadbalancer/config/pools Retrieve the load balancer pool with id pool-# for the URL/edges/id/loadbalancer/config/pools/pool-# pool edge Update the load balancer pool with id pool-# for the URL/edges/id/loadbalancer/config/pools/pool-# pool edge Delete the load balancer pool with id pool-# for the edge URL/edges/id/loadbalancer/config/pools/pool-# Retrieve the load balancer application profile URL/edges/id/loadbalancer/config/applicationprofi les loadbalancer Update the load balancer application profile to append the application profile defined in the request body. URL/edges/id/loadbalancer/config/applicationprofi les applicationprofile 201 Created Delete the load balancer application profile URL/edges/id/loadbalancer/config/applicationprofi les Retrieve the load balancer application profile with id applicationprofile-# for URL/edges/id/loadbalancer/config/applicationprofi les/applicationprofile-# applicationpro file the edge VMware, Inc. 15

Table 2 6. Summary of NSX Edge Load Balancer Requests (Continued) Update the load balancer application profile with id for the edge with identifier applicationprofile-# id URL/edges/id/loadbalancer/config/applicationprofi les/applicationprofile-# applicationprofile Delete the load balancer application profile with id applicationprofile-# for URL/edges/id/loadbalancer/config/applicationprofi les/applicationprofile-# the edge Retrieve the load balancer application rule configuration for the edge URL/edges/id/loadbalancer/config/applicationrule s loadbalancer Update the load balancer application rule configuration for the edge to append the application rule defined in the request body. URL/edges/id/loadbalancer/config/applicationrule s applicationrule 201 Created Delete the load balancer application rule configuration for the edge URL/edges/id/loadbalancer/config/applicationrule s Retrieve the load balancer application rule with id applicationrule-# for the URL/edges/id/loadbalancer/config/application rules/applicationrule-# applicationrul e edge Update the load balancer application rule with id applicationrule-# for the URL/edges/id/loadbalancer/config/applicationrule s/applicationrule-# applicationrule edge Delete the load balancer application rule with id applicationrule-# for the URL/edges/id/loadbalancer/config/applicationrule s/applicationrule-# edge Retrieve the load balancer monitor configuration for the edge URL/edges/id/loadbalancer/config/monitors loadbalancer Update the load balancer monitor configuration for the edge to append the monitor defined in the request body. URL/edges/id/loadbalancer/config/monitors monitor 201 Created Delete the load balancer monitor configuration for the edge URL/edges/id/loadbalancer/config/monitors Retrieve the load balancer monitor with id monitor-# for the edge URL/edges/id/loadbalancer/config/monitors/monit or-# monitor VMware, Inc. 16

Table 2 6. Summary of NSX Edge Load Balancer Requests (Continued) Update the load balancer monitor monitor with id monitor-# for URL/edges/id/loadbalancer/config/monitors/monit the edge or-# Delete the load balancer monitor with id monitor-# for URL/edges/id/loadbalancer/config/monitors/monit the edge or-# Retrieve load balancer status and statistics for the edge URL/edges/id/loadbalancer/statistics loadbalancerst atusandstats Enable load balancer pool member identified by URL/edges/id/loadbalancer/config/members/mem member- # on the edge with ber-#?enable=true Edge SSL VPN Services NSX Edge SSL VPN services enable remote users to connect securely to private networks behind an Edge Gateway. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 2 7. Summary of NSX Edge SSL VPN Requests Retrieve the SSL VPN with Update the SSL VPN with URL/edges/id/sslvpn/config sslvpnconfig URL/edges/id/sslvpn/config sslvpnconfig Enable or disable the SSL VPN with URL/edges/id/sslvpn/config? enableservice=[true false] Delete the SSL VPN with URL/edges/id/sslvpn/config Retrieve the SSL VPN authenticationconf authentication configuration for URL/edges/id/sslvpn/config/auth/settin ig the edge gs Update the SSL VPN authenticationconfig authentication configuration for URL/edges/id/sslvpn/config/auth/settin the edge gs VMware, Inc. 17

Table 2 7. Summary of NSX Edge SSL VPN Requests (Continued) Retrieve all locally-defined SSL VPN users for the edge with URL/edges/id/sslvpn/config/auth/locals erver/users usersinfo Create locally-defined SSL VPN users for the edge with identifier id. URL/edges/id/sslvpn/config/auth/locals erver/users usersinfo 201 Created Update locally-defined SSL VPN users for the edge with identifier id. URL/edges/id/sslvpn/config/auth/locals erver/users usersinfo Delete all locally-defined SSL VPN users for the edge with URL/edges/id/sslvpn/config/auth/locals erver/users Retrieve locally-defined SSL VPN user with identifier user-# from the edge URL/edges/id/sslvpn/config/auth/locals erver/users/user-# user Update locally-defined SSL VPN user with identifier user-# on the edge URL/edges/id/sslvpn/config/auth/locals erver/users/user-# user Delete locally-defined SSL VPN user with identifier user-# from the edge URL/edges/id/sslvpn/config/auth/locals erver/users/user-# Retrieve all SSL VPN private networks for the edge with orkextension/privatenetworks privatenetworks Configure one or more SSL VPN private networks for the edge orkextension/privatenetworks privatenetworks 201 Created Update all SSL VPN private networks for the edge with orkextension/privatenetworks privatenetworks Delete all SSL VPN private networks for the edge with orkextension/privatenetworks Retrieve SSL VPN private network with identifier privatenetwork-# from the edge orkextension/privatenetworks/privaten etwork-# privatenetwork Update SSL VPN private network with identifier privatenetwork-# on the edge orkextension/privatenetworks/privaten etwork-# privatenetwork Delete SSL VPN private network with identifier privatenetwork- # from the edge orkextension/privatenetworks/privaten etwork-# VMware, Inc. 18

Table 2 7. Summary of NSX Edge SSL VPN Requests (Continued) Retrieve the SSL VPN server with URL/edges/id/sslvpn/config/server serversettings Update the SSL VPN server with URL/edges/id/sslvpn/config/server serversettings Retrieve all SSL VPN IP pools from the edge orkextension/ippools ipaddresspools Configure an SSL VPN IP pool for the edge orkextension/ippools ipaddresspool 201 Created Update an SSL VPN IP pool for the edge orkextension/ippools ipaddresspool Delete all SSL VPN IP pools from the edge orkextension/ippools Retrieve SSL VPN IP pool with identifier pool-id from the edge orkextension/ippools/pool-id ipaddresspool Update SSL VPN IP pool with identifier pool-id on the edge with orkextension/ippools/pool-id ipaddresspool Delete SSL VPN IP pool with identifier pool-id from the edge orkextension/ippools/pool-id Retrieve all SSL VPN client install packages from the edge orkextension/installpackages clientinstallpacka ges Configure an SSL VPN client install package on the edge with orkextension/installpackages clientinstallpackage s 201 Created Update an SSL VPN client install package on the edge with orkextension/installpackages clientinstallpackage s Delete all SSL VPN client install packages on the edge with orkextension/installpackages Retrieve SSL VPN client install package with identifier clientinstallpackage-# from the edge orkextension/installpackages/clientinst allpackage-# clientinstallpacka ges VMware, Inc. 19

Table 2 7. Summary of NSX Edge SSL VPN Requests (Continued) Update SSL VPN client install package with identifier clientinstallpackage-# on the edge orkextension/installpackages/clientinst allpackage-# clientinstallpackage s Delete SSL VPN client install package with identifier clientinstallpackage-# from the edge orkextension/installpackages/clientinst allpackage-# Retrieve the SSL VPN client configuration parameters for the edge orkextension/clientconfig clientconfiguratio n Update the SSL VPN client configuration parameters for the edge URL/edges/<id>/sslvpn/config/client/n etworkextension/clientconfig clientconfiguration Retrieve the SSL VPN advanced configuration parameters for the edge URL/edges/id/sslvpn/config/advancedc onfig advancedconfig Update the SSL VPN advanced configuration parameters for the edge. URL/edges/id/sslvpn/config/advancedc onfig advancedconfig Retrieve active SSL VPN sessions for the edge with URL/edges/id/sslvpn/activesessions activesessions Disconnect active SSL VPN session with identifier session-id from the edge URL/edges/id/sslvpn/activesessions/s ession-id Upload an SSL VPN login script to the edge URL/edges/id/sslvpn/config/script/file scriptfileid Retrieve an SSL VPN login script with identifier# from the edge URL/edges/id/sslvpn/config/script/file/# logonlogoffscripts Configure parameters for uploaded SSL VPN login script on the edge URL/edges/id/sslvpn/config/script Retrieve all SSL VPN login scripts from the edge with URL/edges/id/sslvpn/config/script Update parameters uploaded SSL VPN login scripts on the edge URL/edges/id/sslvpn/config/script Delete all SSL VPN login scripts from the edge URL/edges/id/sslvpn/config/script 200 OK VMware, Inc. 20

Edge L2 VPN Services L2 VPN allows you to configure a tunnel between two sites. Virtual machines remain on the same subnet in spite of being moved between these sites, which enables you to extend your datacenter. An NSX Edge at one site can provide all services to virtual machines on the other site. To create the L2 VPN tunnel, you configure an L2 VPN server and L2 VPN client. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 2 8. Summary of NSX Edge L2 VPN Requests Retrieve the L2 VPN Retrieve the L2 VPN statistics for the edge Update the L2 VPN URL/edges/id/l2vpn/config l2vpn URL/edges/id/l2vpn/config/statistics l2vpnstatusandstat s URL/edges/id/l2vpn/config l2vpn Enable or disable the L2 VPN URL/edges/id/l2vpn/config? enableservice=[true false] Delete the L2 VPN URL/edges/id/l2vpn/config Edge IPSec VPN Services NSX Edge supports site to site IPSec VPN between an NSX Edge instance and remote sites. NSX Edge supports certificate authentication, preshared key mode, IP unicast traffic, and no dynamic routing protocol between the NSX Edge instance and remote VPN routers. Behind each remote VPN router, you can configure multiple subnets to connect to the internal network behind an NSX Edge through IPSec tunnels. These subnets and the internal network behind a NSX Edge must have address ranges that do not overlap. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. VMware, Inc. 21

Table 2 9. Summary of NSX Edge IPSec VPN Requests Retrieve the IPSec VPN Update the IPSec VPN Delete the IPSec VPN Retrieve IPSec VPN statistics for the edge URL/edges/id/ipsec/config ipsec URL/edges/id/ipsec/config ipsec URL/edges/id/ipsec/config URL/edges/id/ipsec/statistics ipsecstatusand Stats Edge Interfaces, Logging, Statistics, and Remote Access Properties These requests retrieve statistics and other information from an edge and configure properties for remote access and logging via syslog. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 2 10. Summary of NSX Edge Interface, Remote Access, Logging, and Statistics Properties Requests Request Operation Request Body Response Retrieve vnic details for the edge Retrieve syslog settings for the edge Update syslog settings for the edge Delete syslog settings for the edge Retrieve statistics for all interfaces from the edge with URL/edges/id/vdcNetworks edgeinterfaces URL/edges/id/syslog/config syslog URL/edges/id/syslog/config syslog URL/edges/id/syslog/config URL/edges/id/statistics/interfaces statistics Retrieve statistics for all statistics uplink interfaces from the URL/edges/id/statistics/interfaces/uplink edge Retrieve statistics for all statistics internal interfaces from the URL/edges/id/statistics/interfaces/internal edge VMware, Inc. 22

Table 2 10. Summary of NSX Edge Interface, Remote Access, Logging, and Statistics Properties Requests (Continued) Request Operation Request Body Response Retrieve dashboard interface dashboardstatistics statistics from the edge with URL/edges/id/statistics/dashboard/interface Retrieve dashboard firewall dashboardstatistics statistics from the edge with URL/edges/id/statistics/dashboard/firewall Retrieve dashboard sslvpn dashboardstatistics statistics from the edge with URL/edges/id/statistics/dashboard/sslvpn Retrieve dashboard IPsec dashboardstatistics VPN statistics from the edge URL/edges/id/statistics/dashboard/ipsec Retrieve the L2 VPN statistics for the edge Update command line (SSH) access settings for the edge URL/edges/id/l2vpn/config/statistics l2vpnstatusandstats URL/edges/id/clisettings clisettings Enable command line (SSH) URL/edges/id/cliremoteaccess? access to the edge with enable=true Retrieve support logs from the edge URL/edges/id/techsupportlogs org.springframework.core.io.bytearrayresource VMware, Inc. 23

NSX Distributed Firewall Service 3 NSX Distributed Firewall can enforce firewall functionality directly at a Virtual Machine's vnic, and supports a micro segmentation security model where East West traffic can be inspected at near line rate processing. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 3 1. Summary of NSX Distributed Firewall Requests Enable distributed firewall service for organization VDC Retrieve global distributed firewall configuration URL/firewall/vdc/id URL/firewall/globalroot-0/config firewallconfigura tion Delete global distributed firewall configuration URL/firewall/globalroot-0/config Retrieve distributed firewall URL/firewall/globalroot-0/config? firewallconfigura configuration for organization vdc=id tion VDC Retrieve distributed firewall URL/firewall/globalroot-0/config? firewallconfigura configuration for all org=org-id tion organization VDCs in the organization with identifier org-id. Retrieve distributed firewall section configuration at layer 2 for URL/firewall/globalroot-0/config/layer2secti organization VDC with ons/id Retrieve distributed firewall section configuration at layer 3 for URL/firewall/globalroot-0/config/layer3secti organization VDC with ons/id VMware, Inc. 24

Table 3 1. Summary of NSX Distributed Firewall Requests (Continued) Retrieve distributed firewall rule with identifier rule-# at layer 2 for organization VDC URL/firewall/globalroot-0/config/layer2secti ons/id/rules/rule-# rule Retrieve distributed firewall rule with identifier rule-# at layer 3 for organization VDC URL/firewall/globalroot-0/config/layer3secti ons/id/rules/rule-# rule Update distributed firewall configuration at layer 2 for organization VDC with URL/firewall/globalroot-0/config/layer2secti ons/id section Update distributed firewall configuration at layer 3 for organization VDC with URL/firewall/globalroot-0/config/layer3secti ons/id section Update distributed firewall rule with identifier rule-# at layer 2 for organization VDC URL/firewall/globalroot-0/config/layer2secti ons/id/rules/rule-# rule Update distributed firewall rule with identifier rule-# at layer 3 for organization VDC URL/firewall/globalroot-0/config/layer3secti ons/id/rules/rule-# rule Append a new rule to distributed firewall rules at layer 2 for organization VDC URL/firewall/globalroot-0/config/layer2secti ons/id/rules/rule-# rule 201 Created Append a new rule to distributed firewall rules at layer 3 for organization VDC URL/firewall/globalroot-0/config/layer3secti ons/id/rules/rule-# rule 201 Created Delete distributed firewall rule with identifier rule-# at layer 2 for organization VDC with URL/firewall/globalroot-0/config/layer2secti ons/id/rules/rule-# Delete distributed firewall rule with identifier rule-# at layer 3 for organization VDC with URL/firewall/globalroot-0/config/layer3secti ons/id/rules/rule-# Delete distributed firewall from organization VDC with URL/firewall/id VMware, Inc. 25

Authorization Three rights control access to distributed firewall configuration: ORG_VDC_DISTRIBUTED_FIREWALL_ENABLE ORG_VDC_DISTRIBUTED_FIREWALL_CONFIGURE ORG_VDC_DISTRIBUTED_FIREWALL_VIEW An organization administrator role has ORG_VDC_DISTRIBUTED_FIREWALL_VIEW and ORG_VDC_DISTRIBUTED_FIREWALL_CONFIGURE rights by default. Only the system administrator has ORG_VDC_DISTRIBUTED_FIREWALL_ENABLE right by default. Example: Add a Distributed Firewall Rules The vcloud Director API for NSX makes use of etag headers in responses. Requests that modify an object returned in a response must include the etag value from that response in an if-match header. For example, this request to retrieve a section of a firewall rule returns the requested section and includes an etag in the response header. Request: GET https://10.17.124.244/network/firewall/globalroot-0/config/layer3sections/c02d1603- af97-4310-80b9-4f3beaa456c4 Response: Content-Type:application/xml Date:... ETag:1487090590214 Expires:... <?xml version="1.0" encoding="utf-8"?> <sections> <section id="1048" name="vdc-01(c02d1603-af97-4310-80b9-4f3beaa456c4)" generationnumber="1474037046864" timestamp="1474037046864"> <rule id="1020" disabled="false" logged="false"> <name>testrule3</name> <action>allow</action> <appliedtolist> <appliedto> <name>vdc-01(c02d1603-af97-4310-80b9-4f3beaa456c4) </name> <value>securitygroup-28</value> <type>securitygroup</type> VMware, Inc. 26

<isvalid>true</isvalid> </appliedto> </appliedtolist> <sectionid>1048</sectionid> <direction>inout</direction> <packettype>any</packettype> </rule> </section> </sections> A subsequent request to modify the section by adding a rule must include the etag as the value of an ifmatch request header. Request: POST https://10.17.124.244/network/firewall/globalroot-0/config/layer3sections/c02d1603- af97-4310-80b9-4f3beaa456c4/rules... if-match:1487090590214... <?xml version="1.0" encoding="utf-8"?> <rule disabled="false" logged="false"> <name>testrule3</name> <action>allow</action> <appliedtolist> <appliedto> <name>testrule3</name> <value>securitygroup-28</value> <type>securitygroup</type> <isvalid>true</isvalid> </appliedto> </appliedtolist> <direction>inout</direction> <packettype>any</packettype> </rule> VMware, Inc. 27

NSX Services 4 Requests documented in this section manage global NSX objects such as certificates and grouping objects. This chapter includes the following topics: Certificate Management Applications and Application Groups Security Groups Security Tags Grouping Objects Certificate Management NSX supports self signed certificates, certificates signed by a Certification Authority (CA), and certificates generated and signed by a CA. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. To preserve tenant isolation, globally scoped NSX objects such as certificates, CSRs, and certificate revocation lists, are referenced with a tuple comprising the edge UUID and the NSX ID for the object. For example, where the NSX API references a certificate with identifier certificate-1 with a URL of the form.../services/truststore/certificate/certificate-1 the vcloud Director API for NSX prepends the edge URL (id) and a colon to the NSX object identifier, as shown in this example:.../services/truststore/certificate/id:certificate-1 VMware, Inc. 28

Table 4 1. Summary of NSX Certificate Management Requests Create a certificate for the edge Import a certificate or certificate chain against the certificate signing request with identifier csr-#. URL/services/truststore/certificate/id trustobject 201 Created URL/services/truststore/certificate/csr-# trustobject Retrieve all certificates for the edge URL/services/truststore/certificate/scope/id certificates Retrieve the certificate with identifier certificate-# URL/services/truststore/certificate/id:certificate-# certificate from the edge with identifier id. Delete the certificate with identifier certificate-# from the edge URL/services/truststore/certificate/id:certificate-# Create a certificate signing request for the edge with Retrieve all certificate signing requests for the edge URL/services/truststore/csr/id csr 201 Created URL/services/truststore/csr/scope/id csrs Retrieve the certificate signing request with identifier csr-# from the edge with URL/services/truststore/certificate/id:csr- # csr Delete the certificate signing request with identifier csr-# URL/services/truststore/certificate/id:csr-# from the edge with identifier id. Create a certificate revocation list for the edge Retrieve all certificate revocation lists for the edge Retrieve the certificate revocation list with identifier crl-# from the edge with URL/services/truststore/crl/id trustobject URL/services/truststore/crl/scope/id crls URL/services/truststore/certificate/id:crl-# crl Delete the certificate revocation list with identifier crl-# from the edge with URL/services/truststore/certificate/id:crl-# VMware, Inc. 29

Applications and Application Groups NSX application and application group requests provide the capability for defining sets and groups of certain entities, which you can then use when specifying other network-related configurations, such as in firewall rules. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 4 2. Summary of NSX Application and Application Group Requests Retrieve all application groups defined in the organization VDC URL/services/applicationgroup/scope/id list Retrieve the application group with identifier applicationgroup-# defined in the URL/services/application/id:applicationgroup-# applicationgroup organization VDC with Retrieve all applications defined in the organization VDC URL/services/application/scope/id list Retrieve the application with identifier application-# URL/services/application/id:application-# application defined in the organization VDC Security Groups A security group is a collection of assets or grouping objects from your vcloud Director inventory API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. Table 4 3. Summary of NSX Security Group Requests Retrieve all security groups defined in the organization VDC URL/services/securitygroup/scope/id list Retrieve the security group with identifier id:securitygroup-#. URL/services/securitygroup/id:securitygroup -# securitygroup VMware, Inc. 30

Table 4 3. Summary of NSX Security Group Requests (Continued) Create a new security group in the organization VDC with identifier id:securitygroup-#. The group has no membership information specified. URL/services/securitygroup/id:securitygroup -# securitygroup 200 OK Update the security group with identifier id:securitygroup-#. The update specifies no membership information. URL/services/securitygroup/id:securitygroup -# securitygroup Delete the security group with identifier id:securitygroup-#. URL/services/securitygroup/id:securitygroup -# Create a new security group in the organization VDC with The group includes membership information. URL/network/services/securitygroup/bulk/id securitygroup 200 OK Add members to the security group with identifier id:securitygroup-#. URL/network/services/securitygroup/bulk/id: securitygroup-# securitygroup Add member with identifier # to the security group with identifier id:securitygroup-#. URL/network/services/securitygroup/# /me mbers/ # Delete member with identifier # from the security group with identifier id:securitygroup-#. URL/network/services/securitygroup/id:secu ritygroup-# /members/ # Security Tags You can use the vcloud Director API for NSX to manage NSX security tags and their virtual machine assignments. For example, you can create a user-defined security tag, assign tags to a virtual machine, view tags assigned to virtual machines, and view virtual machines that have a specific tag assigned. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. VMware, Inc. 31

Table 4 4. Summary of NSX Security Tag Requests Retrieve all security tags defined in the organization VDC URL/services/securitytags/id/tag/ list Retrieve all security tags with tag id id:securitytag-# defined in the organization VDC with URL/services/securitytags/id/tag/id:securityt ag-# list Create a security tag in the organization VDC with URL/network/services/securitytags/id/tag securitytag 200 OK Delete the security tag with tag id id:securitytag-# defined in the organization VDC with URL/network/services/securitytags/id/tag/id: securitytag-# Retrieve the list of VMs in the organization VDC with identifier id that have the security tag with tag id id:securitytag-# attached. URL/network/services/securitytags/id/tag/v m/id:securitytag-# (Requires NSX 6.3.) URL/network/services/securitytags/id/vm/id: securitytag-# (Requires NSX 6.3.) URL/network/services/securitytags/id/vm/id: securitytag-# Grouping Objects You can use the vcloud Director API for NSX to create and manage IP address groups and MAC address groups in an organization virtual data center. API-URL is a URL of the form https://vcloud.example.com/network. id is a vcloud Director unique identifier in the form of a UUID, as defined by RFC 4122. # is a small integer used in an NSX object identifier. See Example: Get an IP Set in an Organization VDC. VMware, Inc. 32

Table 4 5. Summary of NSX IP and MAC Sets Requests Create an IP set in the organization VDC with Retrieve all IP sets defined in the organization VDC with Get the IP set with identifier # defined in the organization VDC Update the IP set with identifier # defined in the organization VDC with Delete the IP set with identifier # defined in the organization VDC with Create a MAC set in the organization VDC with Retrieve all MAC sets defined in the organization VDC with Get the MAC set with identifier # defined in the organization VDC with Update the MAC set with identifier # defined in the organization VDC with URL/services/ipset/id ipset URL/services/ipset/scope/id list URL/services/ipset/id:ipset-# ipset URL/services/ipset/id:ipset-# ipset URL/services/ipset/id:ipset-# URL/services/macset/id macset URL/services/macset/scope/id list URL/services/macset/id:macset-# macset URL/services/macset/id:macset-# macset Delete the MAC set with identifier # defined in the organization VDC with URL/services/macset/id:macset-# Example: Get an IP Set in an Organization VDC To get the IP set with identifier 2 defined in the organization VDC with identifier 78229ccd-2bf2-466d-8444-03d0bb46caaf, use the following request: GET https://vcloud.example.com/network/services/ipset/78229ccd-2bf2-466d-8444-03d0bb46caaf:ipset-2 VMware, Inc. 33