NSX Global Policy API Guide

NSX Global Policy API Guide

NSX Global Policy API Guide

NSX 4.1.2

Table of Contents

  1. Overview
  2. API Methods
    1. Federation
      1. Federation Configuration
      2. Full Synchronization
      3. Global Managers
      4. Inter-Sites
      5. Observability
      6. Onboarding
      7. Security
        1. East West Security
          1. Distributed Firewall
            1. Settings
              1. Distributed Firewall Settings
      8. Sites
    2. Management Plane API
      1. NSX Component Administration
        1. Appliance Management
    3. Policy
      1. Infra
        1. Certificates
          1. CSR
          2. Certificates
          3. Certification Revocation List
        2. Constraints
        3. Domains
          1. Domain
          2. Domain Deployment Maps
        4. Enforcement Points
        5. Hierarchical API
        6. Labels
        7. Monitoring
        8. Realized State
      2. Inventory
        1. Groups
          1. Group Members
          2. Groups
        2. Profiles
          1. Context Profiles
        3. Services
        4. Tags
        5. Vm
      3. Monitoring
        1. Compliance
        2. Finetuning
        3. Latency
        4. Traceflow
      4. Networking
        1. Connectivity
          1. Routing
            1. Tier-0 Gateways
          2. Segments
            1. Bridge Endpoints
              1. Statistics
            2. Edge Bridge Profiles
            3. MAC Table
            4. Ports
              1. MAC Table
              2. State
            5. Segment Profiles
              1. Discovery Profile Binding
              2. IP Discovery Profiles
              3. MAC Discovery Profiles
              4. QOS Profile Binding
              5. QOS Profiles
              6. Security Profile Binding
              7. Segment Security Profile Binding
              8. Segment Security Profiles
              9. Spoofguard Profiles
            6. Segments
            7. Segments (Fixed)
            8. State
            9. Statistics
            10. Status
            11. TEP Table
          3. Tier-0 Gateways
            1. ARP Proxies
            2. Interface Groups
            3. Interfaces
              1. ARP Proxies
              2. ARP Table
              3. DAD State
              4. Interfaces
              5. Statistics
            4. Routing
              1. BGP
              2. Community Lists
              3. Forwarding Table
              4. Inter Vrf
              5. Prefix List
              6. Route Maps
              7. Routing Table
              8. State
              9. Static Routes
              10. Static Routes BFD Peers
            5. Tier-0 Deployment Maps
            6. Tier-0 Gateways
            7. Tier-0 Locale Services
          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. Routing
              1. Forwarding Table
              2. State
              3. Static Routes
            5. Tier-1 Gateways
            6. 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. Network Services
          1. Forwarding Policies
          2. Metadata Proxy
            1. Status
          3. NAT
            1. Rules
              1. Tier-0 Gateways
              2. Tier-1 Gateways
            2. Statistics
          4. VPN
            1. IPSEC
              1. Statistics
        4. Networking Profiles
          1. BFD Profiles
          2. Constraint Global Configuration
          3. EVPN Tenant Configuration
          4. Gateway QOS Profiles
          5. Global Gateway Configuration
          6. IPV6 DAD Profiles
          7. IPV6 NDRA Profiles
          8. Transport Zone Profiles
      5. Security
        1. East West Security
          1. Distributed Firewall
            1. Rules
            2. Settings
              1. Distributed Firewall Settings
              2. Drafts
              3. Exclusion List
              4. Firewall Scheduler
            3. Statistics
            4. Task
        2. North South Security
          1. Gateway Firewall
            1. Rules
            2. Settings
              1. Firewall Configuration
            3. Statistics
            4. Tier-0 Gateways
            5. Tier-1 Gateways
        3. 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. Session Timer Profile Binding
          7. Session Timer Profile Bindings
          8. Session Timer Profiles
    4. Search
      1. Search API
    5. System Administration
      1. Configuration
        1. Fabric
          1. Nodes
            1. DNS
            2. File Store
            3. Hardening
              1. Mandatory Access Control
            4. Logs
            5. NSX Manager
              1. Manager Network Interfaces
              2. Services
                1. Async Replicator Service
                2. Cluster Manager Service
                3. Cm Inventory Service
                4. Global Manager Service
                5. HTTP Service
                6. Install Upgrade Service
                7. Manager Service
                8. Messaging Manager Service
                9. Migration Coordinator Service
                10. Search Service
                11. Site Manager Service
                12. Telemetry Service
                13. User Interface Service
            6. Network Interfaces
              1. Routing
            7. 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
            8. Settings
            9. Support-Bundle
            10. Transport Node Interfaces
            11. Transport Nodes
            12. User Management
              1. Authentication Policy
              2. Users
        2. Grub
        3. NSX Managers
          1. API Services
            1. API Request Batching
            2. Configuration
          2. Clusters
            1. Cluster Certificate
            2. Cluster Configuration
            3. Cluster Interfaces
            4. Cluster Node Deployments
            5. Cluster Virtual IP
          3. Manager Configuration
          4. Nodes
            1. Services
              1. Async Replicator Service
              2. Auth Service
        4. NSX Partial Patch
        5. Nodes
          1. Manager Configuration
        6. Site Management
      2. Lifecycle Management
        1. Backup Restore Management
          1. Backup
          2. Restore
        2. Upgrade
          1. Bundles
          2. Eula
          3. Group
          4. History
          5. Nodes
          6. Plan
          7. Status
          8. UI
          9. Upgrade Coordinator
          10. Upgrade Units
      3. Monitoring
        1. Dashboards
          1. UI Views
          2. Widget Configuration
        2. Error Resolver
        3. Logs
          1. Core Dumps
        4. NSX Manager Health
      4. Settings
        1. Certificates
          1. CRL
          2. CSR
          3. Certificate
        2. Licenses
        3. Support Bundle
        4. User Management
          1. Access Token
          2. LDAP Identity Sources
          3. Principal Identity
          4. Roles
          5. Users
          6. VIDM Configuration
    6. Uncategorized APIs
  3. API Types
  4. API Type Schemas
  5. API Errors
  6. Deprecated Types and Methods


Overview

Introduction

This guide is for the NSX Global Manager API endpoint and is only relevant for environments using NSX Federation. For all other use cases please look at the at the NSX Manager API guide.

Like for the local manager of NSX, in case of Federation the global manager provides a programmatic API to automate management activities.

The Global Manager aims to manage centrally the configuration of multiple NSX deployments (also called Local Managers) as part of NSX Federation. In those environments both the Global Manager and the Local Managers API endpoints are available, but objects created and managed (CRUD) from the Global Manager should only be managed at this level.

The Global Manager follows the same data-structure than the NSX Local Manager. 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, 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 the top-level global-infra object.

curl -k -u USERNAME:PASSWORD https://GLOBAL_MANAGER/global-manager/api/v1/global-infra

where:
USERNAME is the user to authenticate as,
PASSWORD is the password to provide, and
GLOBAL_MANAGER is the IP address or host name of the NSX global manager

For example:

curl -k -u admin:secretPw99 https://GLOBAL_MANAGER/global-manager/api/v1/global-infra

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://GLOBAL_MANAGER/global-manager/api/v1/global-infra

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://GLOBAL_MANAGER/api/session/create

For example:

curl -k -c cookies.txt -D headers.txt -X POST -d 'j_username=admin&j_password=secretPw99' https://GLOBAL_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://GLOBAL_MANAGER/global-manager/api/v1/global-infra

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://GLOBAL_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.

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.

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 patching of objects is a feature supported by NSX that allows patching a subset of properties of any object. This behavior needs to be explicitly enabled. When partial patching is deactivated (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-activate-partial-patch=true'
    To deactivate partial patch, use 'nsx-activate-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.

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 429 Too Many Requests error to the client. By default, this limit is 40 concurrent requests.

3) An overall maximum number of concurrent requests. This is the maximum number of API requests that can be in process on the server. If the server is at this limit, additional requests will be refused and the HTTP error 503 Service Unavailable will be returned to the client. By default, this limit is 199 concurrent requests.

The first two limits exist to provide some level of fairness across multiple clients of NSX, 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.

Each manager enforces the rate limit independently of the other managers. For example, in a 3-node cluster, each manager has a maximum concurrency of 199 requests, but across the cluster there may be a maximum of 199 * 3 = 597 concurrent requests.

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 NSX Global Policy API at the following URLs:

NSX Global Policy API:

  • GET https://<global-manager>/global-manager/api/v1/spec/openapi/nsx_global_policy_api.yaml
  • GET https://<global-manager>/global-manager/api/v1/spec/openapi/nsx_global_policy_api.json


API Methods

Toggle all tables +

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):
/global-manager/api/v1/global-infra/federation-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/federation-config GET https://<global-mgr>/global-manager/api/v1/global-infra/federation-config 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:

Create or fully replace Global Manager Config

Create or fully replace a Global Manager Config.
Revision is optional for creation and required for update.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/global-manager-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
GlobalManagerConfig+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/global-manager-config { "rtep_config" : { "ibgp_password": "secureme" }, "_revision": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalManagerConfig+

Example Response: { "resource_type": "GlobalManagerConfig", "_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 Global Manager Config

Create or patch a Global Manager Config
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/global-manager-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
GlobalManagerConfig+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/global-manager-config { "rtep_config" : { "ibgp_password": "secureme" } } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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):
/global-manager/api/v1/global-infra/global-manager-config?action=show-sensitive-data
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<pglobal-mgr>/global-manager/api/v1/global-infra/global-manager-config?action=show-sensitive-data GET https://<policy-mgr>/global-manager/api/v1/global-infra/global-manager-config?action=show-sensitive-data 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:

List overridden resources

List overridden resources This API is only available when using VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/overridden-resources
Request Headers:
n/a
Query Parameters:
OverrideListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/overridden-resources Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
OverriddenResourceListResult+

Example Response: { "results": [ { "intent_path": "/global-infra/spoofguard-profiles/spoofguard_disabled", "site_path": "/global-infra/sites/Paris", "resource_type": "OverriddenResource", "id": "SPOOFGUARD_PROFILE-spoofguard_disabled-Paris", "display_name": "/global-infra/overriden-objects/SPOOFGUARD_PROFILE-spoofguard_disabled-Paris", "path": "/global-infra/overriden-objects/SPOOFGUARD_PROFILE-spoofguard_disabled-Paris", "relative_path": "SPOOFGUARD_PROFILE-spoofguard_disabled-Paris", "parent_path": "/global-infra", "marked_for_delete": false, "overridden": false, "_system_owned": false, "_create_user": "system", "_create_time": 1580359905533, "_last_modified_user": "system", "_last_modified_time": 1580359905533, "_revision": 0 } ], "result_count": 1 } Required Permissions: read Feature: site_admin Additional Errors:

Federation: Full Synchronization

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):
/global-manager/api/v1/global-infra/full-sync-states
Request Headers:
n/a
Query Parameters:
PolicyListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/full-sync-states 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):
/global-manager/api/v1/global-infra/full-sync-states/{full-sync-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/full-sync-states/1234 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

Get Global Managed operational state

Global Manager operation state includes the current status, switchover status
of global manager nodes if any, errors if any and consolidated status of the
operation.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/gm-operational-state
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/gm-operational-state Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GmOperationalState+

Example Response: { "status": "SWITCHING_TO_ACTIVE", "start_time": 2374925435, "end_time": 32342234, "consolidated_progress": "IN_PROGRESS", "nodes" :[ { "node-id": "23fae-332d-34243d-2342aa", "status": "COMPLETED", "start_time": 2374925435, "end_time": 32342234, }, { "node-id": "55fae-332d-34243d-2342fr", "status": "IN_PROGRESS", "start_time": 2374925435, "end_time": 32342234, } ] } Required Permissions: read Feature: site_admin Additional Errors:

List Global Managers

List Global Managers under Infra.
This API is only available when using VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/global-managers
Request Headers:
n/a
Query Parameters:
GlobalManagerListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers 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:

Create or patch a Global Manager

Create or patch a Global Manager under Infra.
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:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/global-managers/{global-manager-id}
Request Headers:
n/a
Query Parameters:
GlobalManagerSwitchOverRequestParameter+
Request Body:
GlobalManager+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers/Paris { "display_name": "Paris GM", "mode": "ACTIVE" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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):
/global-manager/api/v1/global-infra/global-managers/{global-manager-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers/london 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:

Delete a Global Manager under Infra

Delete a particular global manager under Infra.
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:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/global-managers/{global-manager-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers/london Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: standby_site_admin Additional Errors:

Create or fully replace a Global Manager under infra

Create or fully replace Global Manager under Infra.
Revision is optional for creation and required for update.
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:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/global-managers/{global-manager-id}
Request Headers:
n/a
Query Parameters:
GlobalManagerSwitchOverRequestParameter+
Request Body:
GlobalManager+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/global-managers/Paris { "display_name": "Paris GM", "mode": "ACTIVE", "_revision" : 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GlobalManager+

Example Response: { "resource_type": "GlobalManager", "id": "Paris", "display_name": "Paris GM", "path": "/infra/global-managers/Paris", "parent_path": "/infra/global-managers/Paris", "relative_path": "Paris", "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: crud Feature: standby_site_admin Additional Errors:

List resources pending to be cleaned from set of sites.

Paginated list of resources pending to be cleaned.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/site-cleanup-pending
Request Headers:
n/a
Query Parameters:
SiteCleanupPendingListRequestParameters+
Request Body:
n/a

Example Request: GET https://<global-manager>/global-manager/api/v1/global-infra/site-cleanup-pending?intent_path=/global-infra/tier-1s/t1&intent_path=/global-infra/tier-1s/t2 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SiteCleanupPendingListResult+

Example Response: { "results":[ { "resource_path":"/global-infra/tier-1s/t1", "mark_for_delete":true, "pending_sites":[ { "site_id":"0692bb40-f47f-4b16-b09d-b8493e2c37ee", "site_path":"/global-infra/sites/LM-London" }, { "site_id":"1225c8b2-10a3-4b43-b1a0-b11d3b3e0656", "site_path":"/global-infra/sites/LM-Paris" } ] }, { "resource_path":"/global-infra/tier-1s/t1/segments/segment1", "mark_for_delete":true, "pending_sites":[ { "site_id":"0692bb40-f47f-4b16-b09d-b8493e2c37ee", "site_path":"/global-infra/sites/LM-London" }, { "site_id":"1225c8b2-10a3-4b43-b1a0-b11d3b3e0656", "site_path":"/global-infra/sites/LM-Paris" } ] }, { "resource_path":"/global-infra/tier-1s/t2", "mark_for_delete":false, "pending_sites":[ { "site_id":"0692bb40-f47f-4b16-b09d-b8493e2c37ee", "site_path":"/global-infra/sites/LM-London" } ] } ], "result_count":3, "sort_by":"resource_path", "sort_ascending":true } Required Permissions: read Feature: site_admin Additional Errors:

Get Upgrade summary

API will return high level summary of Upgrade across various sites.
This API is only available when using VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/upgrade-summary
Request Headers:
n/a
Query Parameters:
FederationUpgradeSummaryListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/upgrade-summary Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FederationUpgradeSummaryListResult+

Example Response: { "result_count" : 1, "results" : [ { "id": "30f127c3-aab3-42ec-81f8-223b46184695", "name": "Paris Site", "gpm_name": "Paris GM", "site_type": "ACTIVE_SITE", "overall_upgrade_status": "IN_PROGRESS", "current_version": "3.0.0.2.0.68976345", "target_version": "3.1.0.0.0.76898768", "last_upgrade_timestamp": "3425325235235325", "site_ip": "10.2.35.6", "component_status": [ { "component_type": "EDGE", "component_status": "SUCCESS", "progress_percent": "100", "current_version_node_summary": [ { "2.3.4.5.6", "node_count": "2" } ], "target_version": "3.4.5.6.7" }, { "component_type": "HOST", "component_status": "SUCCESS", "progress_percent": "100", "current_version_node_summary": [ { "version": "2.3.4.5.6", "node_count": "3" }, { "version":"2.3.4,5,5", "node_count": "1" } ], "target_version": "3.4.5.6.7" }, { "component_type": "MP", "component_status": "SUCCESS", "progress_percent": "100", "current_version_node_summary": [ { "2.3.4.5.6", "node_count": "3" } ], "target_version": "3.4.5.6.7" } ] } ] } Required Permissions: read Feature: utilities_upgrade Additional Errors:

Federation: Inter-Sites

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):
/global-manager/api/v1/global-infra/segments/{segment-id}/inter-site-forwarder/site-span-info
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/tier0-ls/inter-site-forwarder/site-span-info?enforcement_point_path=/global-infra/sites/default/enforcement-points/default 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):
/global-manager/api/v1/global-infra/segments/{segment-id}/inter-site-forwarder/status
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/tier0-ls/inter-site-forwarder/status?enforcement_point_path=/global-infra/sites/default/enforcement-points/default 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):
/global-manager/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

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/tier0/locale-services/tier0localeservices/inter-site/bgp-summary 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):
/global-manager/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

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/tier0/locale-services/tier0localeservices/inter-site/status 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 segment cross site forwarder placement and HA status

Get segment cross site forwarder placement and HA statuss.
Request:
Method:
GET
URI Path(s):
/global-manager/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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1/segments/tier1-ls/inter-site-forwarder/site-span-info?enforcement_point_path=/global-infra/sites/default/enforcement-points/default 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):
/global-manager/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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1/segments/tier1-ls/inter-site-forwarder/status?enforcement_point_path=/global-infra/sites/default/enforcement-points/default 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:

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):
/global-manager/api/v1/observability/flow-details
Request Headers:
n/a
Query Parameters:
SiteRequestParameter+
Request Body:
n/a

Example Request: GET https://<global-manager>/global-manager/api/v1/observability/flow-details GET https://<local-manager>/global-manager/api/v1/observability/flow-details 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: Onboarding

Fetch conflicting entities summary for a Site

Get consolidated list of conflicting entities summary for each supported
feature for a site with an example.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding/feature-summary
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET /global-infra/site/site-1/onboarding/feature-summary Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConflictingEntityListResponse+

Example Response: { "infra_descendants": [ { "feature": { "name": "NETWORK" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "LOCATION" }, "conflict_count": 0, "total_count": 2 }, { "feature": { "name": "DNS" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "DHCP" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "NETWORK_PROFILE" }, "conflict_count": 0, "total_count": 8 }, { "feature": { "name": "CONTEXT_PROFILE" }, "conflict_count": 0, "total_count": 126 }, { "feature": { "name": "SERVICE" }, "conflict_count": 0, "total_count": 2460 }, { "feature": { "name": "TIER1" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "TIER0" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "SECURITY_PROFILE" }, "conflict_count": 0, "total_count": 0 } ], "feature_descendants": [ { "feature": { "name": "UNKNOWN" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "IDS" }, "conflict_count": 0, "total_count": 2 }, { "feature": { "name": "SECURITY_POLICY" }, "conflict_count": 0, "total_count": 230 }, { "feature": { "name": "GATEWAY_PROFILE" }, "conflict_count": 0, "total_count": 4 }, { "feature": { "name": "GATEWAY_PROPERTY" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "IGNORE" }, "conflict_count": 0, "total_count": 2 }, { "feature": { "name": "NAT" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "GROUP" }, "conflict_count": 0, "total_count": 20 }, { "feature": { "name": "IP_ADDRESS_POOL" }, "conflict_count": 0, "total_count": 0 }, { "feature": { "name": "LB" }, "conflict_count": 0, "total_count": 17 }, { "feature": { "name": "VPN" }, "conflict_count": 0, "total_count": 29 } ], "feature_summary" : { "total_conflict_count": 0, "total_count" : 304 } "example": { "name": "service_14", "resource_type": "SERVICE", "path": "/infra/services/service_14" }, "feature_compatibility_data" : [ { "feature": { "name": "SECURITY_POLICY" }, "status" : "INCOMPATIBLE", "details" : [ { "status_code" : 40031, "status_message" : "Incompatible Security Policy order found on..." "attributes" : [ { "name" : "SP_SEQ_INCOMP_CNT", "value" : "12", "value_type" : "INTEGER" } ] } ] } ] } Required Permissions: read Feature: federated_site_onboarding Additional Errors:

Fetch feature entities summary details for a Site

Get feature summary details with invalid configuration for a feature.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding/invalid-config-details
Request Headers:
n/a
Query Parameters:
FeatureSummaryRequestParameters+
Request Body:
n/a

Example Request: GET /global-infra/site/site-1/onboarding/invalid-config-details?feature=LB Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FederationInvalidConfigurationDetailsResponse+

Example Response: { "feature": { "name": "LB" }, "invalid_config_summary": [ { "category": "LB_POOL_GROUP_USE_COUNT", "resource_summary_details": [ { "resource_type": "Group", "resource_list": [ { "name": "group-8", "value": "/infra/domains/domain/groups/group-8", "value_type": "STRING" }, { "name": "group-2", "value": "/infra/domains/domain/groups/group-2", "value_type": "STRING" }, { "name": "group-1", "value": "/infra/domains/domain/groups/group-1", "value_type": "STRING" } ], "resource_count": 3 } ], "resource_count": 3 }, { "category": "LB_POOL_SHARED_SECTION_USE_COUNT", "resource_summary_details": [ { "resource_type": "CommunicationMap", "resource_list": [ { "name": "sec-11", "value": "/infra/domains/default/security-policies/sec-11", "value_type": "STRING" }, { "name": "sec-12", "value": "/infra/domains/default/security-policies/sec-12", "value_type": "STRING" }, { "name": "sec-5", "value": "/infra/domains/default/security-policies/sec-5", "value_type": "STRING" }, { "name": "sec-14", "value": "/infra/domains/default/security-policies/sec-14", "value_type": "STRING" }, { "name": "sec-1", "value": "/infra/domains/default/security-policies/sec-1", "value_type": "STRING" } ], "resource_count": 5 } ], "resource_count": 5 } ], "total_count": 8 } Required Permissions: read Feature: federated_site_onboarding Additional Errors:

Get Onboarding Preferences

Get user onboarding preferences for a site on global manager.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding/preferences
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET /global-infra/sites/site-1/onboarding/user-preferences Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SiteOnboardingPreference+

Example Response: { "site_id": "site-1", "ignore_import": false, "resource_type": "SiteOnboardingPreference", "id": "site-1", "display_name": "site-1", "_create_user": "admin", "_create_time": 1581541290117, "_last_modified_user": "admin", "_last_modified_time": 1581541290117, "_system_owned": false, "_revision": 0 } Required Permissions: read Feature: federated_site_onboarding Additional Errors:

Update Onboarding Preferences

Update user onboarding preferences to allow or reject site onboarding on
global manager.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding/preferences
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SiteOnboardingPreference+

Example Request: PUT /global-infra/sites/site-1/onboarding/user-preferences { "site_id": "site-1", "ignore_import": true, "resource_type": "SiteOnboardingPreference", "id": "site-1", "display_name": "site-1", "_create_user": "admin", "_create_time": 1581541290117, "_last_modified_user": "admin", "_last_modified_time": 1581541290117, "_system_owned": false, "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SiteOnboardingPreference+

Example Response: { "site_id": "site-1", "ignore_import": true, "resource_type": "SiteOnboardingPreference", "id": "site-1", "display_name": "site-1", "_create_user": "admin", "_create_time": 1581541290117, "_last_modified_user": "admin", "_last_modified_time": 1581541290117, "_system_owned": false, "_revision": 1 } Required Permissions: crud Feature: federated_site_onboarding Additional Errors:

Get Onboarding status

Get onboarding status for a site. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET /global-infra/sites/site-1/onboarding/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigOnboardingStatus+

Example Response: { "site_id": "site-1", "status": "IN_PROGRESS", "details": { "import_progress": { "feature": { "name": "SERVICE" }, "stage": "LM_MIGRATION", "current_step": 1, "total_steps": 5 }, "site_backup_reference": "2020-01-28-Site-1-backup" }, "timestamp": 1581550365276 } Required Permissions: read Feature: federated_site_onboarding Additional Errors:

Check Onboarding configuration conflicts

Verifies and reports conflicting onboarding feature for a site. The
response will contain first conflicting feature for the site configuration
compared to corresponding global manager configuration.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding?action=check_conflict
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ConfigOnboardingConflictRequest+

Example Request: POST /global-infra/sites/site-1/onboarding??action=check_conflict { "site_id" : "site-1", "suffix": "site-1-suffix" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigOnboardingConflictStatus+

Example Response: { "site_id": "site-1", "status": "CONFLICT_DETECTED", "details": { "resource_type" : "Tier0", "name": "routing-gateway", "path": "/infra/tier0s/routing-gateway" } } Required Permissions: crud Feature: federated_site_onboarding Additional Errors:

Start or Check on-boarding for a Site

Initiate config on-boarding of a Site. The entire on-boarding is async
workflow controlled by API.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/onboarding?action=start_onboarding
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ConfigOnboardingRequest+

Example Request: POST /global-infra/sites/site-1/onboarding?action=start_config_onboarding { "site_id" : "site-1", "suffix": "site-1-suffix", "site_backup_reference" : "2020-01-28-Site-1-backup" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConfigOnboardingStatus+

Example Response: { "site_id": "site-1", "status": "IN_PROGRESS", "supported_features": [], "details": { "import_progress": {}, "site_backup_reference": "2020-01-28-Site-1-backup" }, "timestamp": 1580609440765 } Required Permissions: crud Feature: federated_site_onboarding Additional Errors:

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

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

Patch global distributed firewall configuration for the specified site

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

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/sites/london/settings/firewall/security { "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 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_security_settings Additional Errors:

Get global distributed firewall configuration for the specified site

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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/london/settings/firewall/security 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:

Update global distributed firewall configuration for the specified site

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

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/sites/london/settings/firewall/security { "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 } 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: crud 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):
/global-manager/api/v1/global-infra/sites/settings/firewall/security
Request Headers:
n/a
Query Parameters:
PolicyListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/settings/firewall/security 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

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:
POST
URI Path(s):
/global-manager/api/v1/global-infra/onboarding-check-compatibility
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SiteNodeConnectionInfo+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/onboarding-check-compatibility { "fqdn": "10.192.201.163", "username": "admin", "password": "Admin!23Admin", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CompatibilityCheckResult+

Example Response: { "rtt": 125, "rtt_exceeded": false, "nsx_version": "3.0.0", "version_compatible" : true } Required Permissions: crud Feature: site_admin Additional Errors:

List Sites

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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites 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:

Create or patch Site

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

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/sites/Paris { "site_connection_info": [{ "fqdn": "10.192.201.163", "username": "admin", "password": "Admin!23Admin", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_rtep_misconfigured": true "display_name": "Paris, EU Site", "description" : "Site managing call center workloads in western Europe", } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Delete a site

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

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/sites/Paris Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud 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):
/global-manager/api/v1/global-infra/sites/{site-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Site+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/sites/Paris { "site_connection_info": [{ "fqdn": "10.192.201.163", "username": "admin", "password": "Admin!23Admin", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }], "maximum_rtt": 250, "fail_if_rtt_exceeded": true, "fail_if_rtep_misconfigured": true "display_name": "Paris, EU Site", "description" : "Site managing call center workloads in western Europe", "_revision" : 1 } Successful Response:
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:

Read a site

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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/casablanca 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:

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):
/global-manager/api/v1/global-infra/sites/listener_certificate
Request Headers:
n/a
Query Parameters:
TlsListenerEndpointAddressRequestParameters+
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-policy/api/v1/global-infra/sites/listener_certificate?address=10.22.122.7&port=443 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):
/global-manager/api/v1/global-infra/span
Request Headers:
n/a
Query Parameters:
IntentPathRequestParameter+
Request Body:
n/a

Example Request: GET https://<global-manager>/global-manager/api/v1/global-infra/span?intent_path=/global-infra/tier-0s/t0 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: 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:

Policy

Get the list of services where the given group is consumed.

The API by default returns all the DFW services associated with the given Group.
The API returns DFW or IPFIX services based on the service_type parameter.
It also returns the services associated with the parent groups of
the given group.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/group-service-associations
Request Headers:
n/a
Query Parameters:
PolicyGroupServiceAssociationsRequestParameters+
Request Body:
n/a

Example Request: GET https://10.193.41.70/global-manager/api/v1/global-infra/group-service-associations?intent_path=/global-infra/domains/default/groups/ChildGroup Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceListResult+

Example Response: { "results": [ { "path": "/infra/domains/default/security-policies/91e2b990-feed-11e9-be9e-b16debafe148/rules/bc9cd5d0-feed-11e9-be9e-b16debafe148", "target_id": "bc9cd5d0-feed-11e9-be9e-b16debafe148", "target_display_name": "Policy1", "target_type": "CommunicationEntry" }, { "path": "/infra/domains/default/security-policies/91e2b990-feed-11e9-be9e-b16debafe148/rules/bc496930-feee-11e9-be9e-b16debafe148", "target_id": "bc496930-feee-11e9-be9e-b16debafe148", "target_display_name": "Policy2", "target_type": "CommunicationEntry" }, { "path": "/infra/domains/default/security-policies/91e2b990-feed-11e9-be9e-b16debafe148/rules/b8c65fe0-ff91-11e9-9a36-cbe55de635f8", "target_id": "b8c65fe0-ff91-11e9-9a36-cbe55de635f8", "target_display_name": "Policy3", "target_type": "CommunicationEntry" } ], "result_count": 3, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: infra_admin Additional Errors:

Policy: Infra: Certificates

Policy: Infra: Certificates: CSR

Return All the Generated CSRs

Returns information about all of the CSRs that have been created. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/csrs
Request Headers:
n/a
Query Parameters:
ListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/csrs Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCsrListResult+

Example Response: { "result_count": 1, "results": [ { "resource_type": "Csr", "id": "example-csr-id", "display_name": "example-csr-id", "path": "/infra/csrs/example-csr-id", "parent_path": "/infra/csrs/example-csr-id", "relative_path": "example-csr-id", "pem_encoded": "-----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST-----\n", "key_size": 2048, "subject": { "attributes": [ { "value": "Jane", "key": "CN" }, { "value": "VMware", "key": "O" }, { "value": "NSBU", "key": "OU" }, { "value": "US", "key": "C" }, { "value": "CA", "key": "ST" }, { "value": "PA", "key": "L" } ] }, "algorithm": "RSA", "is_ca": false, "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_certificate Additional Errors:

Delete a CSR

Removes a specified CSR. If a CSR is not used for verification, you can
delete it. Note that the CSR import and upload POST actions automatically
delete the associated CSR.
Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_certificate Additional Errors:

Show CSR Data for the Given CSR ID

Returns information about the specified CSR. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCsr+

Example Response: { "resource_type": "Csr", "id": "example-csr-id", "display_name": "example-csr-id", "path": "/infra/csrs/example-csr-id", "parent_path": "/infra/csrs/example-csr-id", "relative_path": "example-csr-id", "pem_encoded": "-----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST-----\n", "key_size": 2048, "subject": { "attributes": [ { "value": "Jane", "key": "CN" }, { "value": "VMware", "key": "O" }, { "value": "NSBU", "key": "OU" }, { "value": "US", "key": "C" }, { "value": "CA", "key": "ST" }, { "value": "PA", "key": "L" } ] }, "algorithm": "RSA", "is_ca": false, "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_certificate Additional Errors:

Get CSR PEM File for the Given CSR ID

Downloads the CSR PEM file for a specified CSR. Clients must include an Accept: text/plain request header. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}/pem-file
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id/pem-file Accept: text/plain Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/plain;charset=UTF-8
Response Body:
string

Example Response: -----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST----- Required Permissions: read Feature: policy_certificate Additional Errors:

Generate a New Certificate Signing Request

Creates a new certificate signing request (CSR). A CSR is encrypted text that
contains information about your organization (organization name, country,
and so on) and your Web server's public key, which is a public certificate
the is generated on the server that can be used to forward this request to a
certificate authority (CA). A private key is also usually created at the
same time as the CSR.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}?action=create
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsCsr+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id?action=create { "subject": { "attributes": [ {"key":"CN","value":"Jane"}, {"key":"O","value":"VMware"}, {"key":"OU","value":"NSBU"}, {"key":"C","value":"US"}, {"key":"ST","value":"CA"}, {"key":"L","value":"PA"} ] }, "key_size": "2048", "algorithm": "RSA", "is_ca": false } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCsr+

Example Response: { "resource_type": "TlsCsr", "id": "example-csr-id", "display_name": "example-csr-id", "path": "/infra/csrs/example-csr-id", "parent_path": "/infra/csrs", "relative_path": "example-csr-id", "pem_encoded": "-----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST-----\n", "key_size": 2048, "subject": { "attributes": [ { "value": "Jane", "key": "CN" }, { "value": "VMware", "key": "O" }, { "value": "NSBU", "key": "OU" }, { "value": "US", "key": "C" }, { "value": "CA", "key": "ST" }, { "value": "PA", "key": "L" } ] }, "algorithm": "RSA", "is_ca": false, "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_certificate Additional Errors:

Import a Certificate Associated with an Approved CSR

Imports a certificate authority (CA)-signed certificate for a CSR. This
action links the certificate to the private key created by the CSR. The
pem_encoded string in the request body is the signed certificate provided by
your CA in response to the CSR that you provide to them. The import POST
action automatically deletes the associated CSR.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}?action=import
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsTrustData+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id?action=import { "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCertificate+

Example Response: { "resource_type": "TlsCertificate", "id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "display_name": "example-csr-id", "path": "/infra/certificates/669f4e8f-061e-4c73-8cfb-1044181eb365", "parent_path": "/infra", "relative_path": "example-csr-id", "details": [ { "issuer_cn": "vSM Test Certificate", "public_key_length": 1024, "signature": "4e cf ff 36 ac a1", "not_before": 1323772715000, "subject": "CN=Jane,O=VMware,OU=NSBU,ST=CA,C=US,PA=L", "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": "Jane", "not_after": 1355308715000, "is_valid": false, "rsa_public_key_exponent": "10001", "signature_algorithm": "SHA1WITHRSA", "rsa_public_key_modulus": "00 b7 8f 79 e4" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "realization_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "marked_for_delete": false, "overridden": false, "has_private_key": true, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_certificate Additional Errors:

Self-Sign the CSR

Self-signs the previously generated CSR. This action is similar to the
import certificate action, but instead of using a public certificate signed
by a CA, the self_sign POST action uses a certificate that is signed with
NSX's own private key.
For validity of non-CA certificates, if a value greater than 825 days is
provided, it will be set to 825 days. No limit is set for CA certificates.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}?action=self_sign
Request Headers:
n/a
Query Parameters:
SelfSignedActionParameter+
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id?action=self_sign&days_valid=365 Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCertificate+

Example Response: { "resource_type": "TlsCertificate", "id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "display_name": "example-csr-id", "path": "/infra/certificates/669f4e8f-061e-4c73-8cfb-1044181eb365", "parent_path": "/infra", "relative_path": "669f4e8f-061e-4c73-8cfb-1044181eb365", "details": [ { "issuer_cn": "Jane", "public_key_length": 1024, "signature": "4e cf ff 36 ac a1", "not_before": 1323772715000, "subject": "CN=Jane,O=VMware,OU=NSBU,ST=CA,C=US,PA=L", "serial_number": "ca55f5e21a0b2dd2", "public_key_algo": "RSA", "version": "1", "issuer": "CN=Jane,O=VMware,OU=NSBU,ST=CA,C=US,PA=L", "is_ca": false, "subject_cn": "Jane", "not_after": 1355308715000, "is_valid": false, "rsa_public_key_exponent": "10001", "signature_algorithm": "SHA1WITHRSA", "rsa_public_key_modulus": "00 b7 8f 79 e4" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "has_private_key": true, "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "realization_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_certificate Additional Errors:

Upload the Certificate PEM File Signed by the CA Associated with a CSR

Uploads the certificate authority (CA)-signed certificate. After you send
the certificate request to the CA of your choice, and the CA sends back the
signed certificate, you can use the upload POST action to upload the signed
certificate. The upload action is similar to the import action, but the
upload action allows you to directly upload the PEM-encoded file (signed
certificate) provided by the CA. Like the import POST action, the upload
POST action automatically deletes the associated CSR.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/csrs/{csr-id}?action=upload
Request Headers:
n/a
Query Parameters:
UploadFileRequestParameters+
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/csrs/example-csr-id?action=upload Content-Type: multipart/form-data; boundary=2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f --2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f Content-Disposition: form-data; name="file"; filename="mycert.pem" -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCertificate+

Example Response: { "resource_type": "TlsCertificate", "id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "display_name": "example-csr-id", "path": "/infra/certificates/669f4e8f-061e-4c73-8cfb-1044181eb365", "parent_path": "/infra", "relative_path": "example-csr-id", "details": [ { "issuer_cn": "vSM Test Certificate", "public_key_length": 1024, "signature": "4e cf ff 36 ac a1", "not_before": 1323772715000, "subject": "CN=Jane,O=VMware,OU=NSBU,ST=CA,C=US,PA=L", "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": "Jane", "not_after": 1355308715000, "is_valid": false, "rsa_public_key_exponent": "10001", "signature_algorithm": "SHA1WITHRSA", "rsa_public_key_modulus": "00 b7 8f 79 e4" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "realization_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "marked_for_delete": false, "overridden": false, "has_private_key": true, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_certificate Additional Errors:

Generate a new self-signed certificate

Creates a new self-signed certificate. A private key is also created at the
same time. This is convenience call that will generate a CSR and then self-sign it.
For validity of non-CA certificates, if a value greater than 825 days is
provided, it will be set to 825 days. No limit is set for CA certificates.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/csrs?action=self_sign
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsCsrWithDaysValid+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/csrs?action=self_sign { "subject": { "attributes": [ {"key":"CN","value":"Jane"}, {"key":"O","value":"VMware"}, {"key":"OU","value":"NSBU"}, {"key":"C","value":"US"}, {"key":"ST","value":"CA"}, {"key":"L","value":"PA"} ] }, "key_size": "2048", "algorithm": "RSA", "days_valid": 365, } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCertificate+

Example Response: { "resource_type": "TlsCertificate", "id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "display_name": "example-csr-id", "path": "/infra/certificates/669f4e8f-061e-4c73-8cfb-1044181eb365", "parent_path": "/infra", "relative_path": "669f4e8f-061e-4c73-8cfb-1044181eb365", "details": [ { "issuer_cn": "Jane", "public_key_length": 1024, "signature": "4e cf ff 36 ac a1", "not_before": 1323772715000, "subject": "CN=Jane,O=VMware,OU=NSBU,ST=CA,C=US,PA=L", "serial_number": "ca55f5e21a0b2dd2", "public_key_algo": "RSA", "version": "1", "issuer": "CN=Jane,O=VMware,OU=NSBU,ST=CA,C=US,PA=L", "is_ca": false, "subject_cn": "Jane", "not_after": 1355308715000, "is_valid": false, "rsa_public_key_exponent": "10001", "signature_algorithm": "SHA1WITHRSA", "rsa_public_key_modulus": "00 b7 8f 79 e4" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "has_private_key": true, "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "realization_id": "669f4e8f-061e-4c73-8cfb-1044181eb365", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_certificate Additional Errors:

Policy: Infra: Certificates: Certificates

Associated URIs:

Returns information about all the CA bundles

Returns information about all the bundles of trusted CA certificates.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/cabundles
Request Headers:
n/a
Query Parameters:
ListCertParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CaBundleListResult+

Example Response: { "result_count": 2, "results": [ { "_create_time": 0, "_create_user": "unknown", "_last_modified_time": 0, "_last_modified_user": "unknown", "_protection": "NOT_PROTECTED", "_revision": 0, "_system_owned": false, "display_name": "example-cabundle-id", "earliest_not_after": 1688688782000, "id": "example-cabundle-id", "marked_for_delete": false, "not_after_list": [1688688782000, ...], "overridden": false, "parent_path": "/infra", "path": "/infra/cabundles/example-cabundle-id", "relative_path": "example-cabundle-id", "resource_type": "CaBundle", "unique_id": "b829537a-fcdb-4349-b5e1-53fb40f69a8c" }, { "_create_time": 1611941474997, "_create_user": "unknown", "_last_modified_time": 1611941474997, "_last_modified_user": "unknown", "_protection": "NOT_PROTECTED", "_revision": 0, "_system_owned": true, "display_name": "default_trusted_public_ca_bundle", "earliest_not_after": 1616006013000, "id": "default_trusted_public_ca_bundle", "marked_for_delete": false, "not_after_list": [2289338164000, ...], "overridden": false, "parent_path": "/infra", "path": "/infra/cabundles/default_trusted_public_ca_bundle", "relative_path": "default_trusted_public_ca_bundle", "resource_type": "CaBundle", "unique_id": "293185d4-07e5-4a5e-b7b8-bd3a86fa270e"}], } ] } Required Permissions: read Feature: policy_certificate Additional Errors:

Adds or replaces a CA bundle

Adds or replaces a new bundle of trusted CA certificates.
The multipart-uploaded file must be a concatenation of one or more
PEM-encoded certificates.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/cabundles/{cabundle-id}
Request Headers:
n/a
Query Parameters:
UploadFileRequestParameters+
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles/example-cabundle-id Content-Type: multipart/form-data; boundary=243332e4709e58a3bd679ef3c7b1259a --243332e4709e58a3bd679ef3c7b1259a Content-Disposition: form-data; name="file"; filename="example-cabundle.pem" -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- [...] --243332e4709e58a3bd679ef3c7b1259a-- Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Example Response: { "_create_time": 0, "_create_user": "unknown", "_last_modified_time": 0, "_last_modified_user": "unknown", "_protection": "NOT_PROTECTED", "_revision": 0, "_system_owned": false, "display_name": "example-cabundle-id", "earliest_not_after": 1688688782000, "id": "example-cabundle-id", "marked_for_delete": false, "not_after_list": [1688688782000, ...], "overridden": false, "parent_path": "/infra", "path": "/infra/cabundles/example-cabundle-id", "relative_path": "example-cabundle-id", "resource_type": "CaBundle", "unique_id": "b829537a-fcdb-4349-b5e1-53fb40f69a8c" } Required Permissions: crud Feature: policy_certificate Additional Errors:

Adds or replaces a CA bundle

Adds or replaces a new bundle of trusted CA certificates.
The bundle must be a concatenation of one or more
PEM-encoded certificates.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/cabundles/{cabundle-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CaBundle+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles/example-cabundle-id { "pem_encoded": "-----BEGIN CERTIFICATE-----\n[...]\n-----END CERTIFICATE-----", } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Example Response: { "_create_time": 0, "_create_user": "unknown", "_last_modified_time": 0, "_last_modified_user": "unknown", "_protection": "NOT_PROTECTED", "_revision": 0, "_system_owned": false, "display_name": "example-cabundle-id", "earliest_not_after": 1688688782000, "id": "example-cabundle-id", "marked_for_delete": false, "not_after_list": [1688688782000, ...], "overridden": false, "parent_path": "/infra", "path": "/infra/cabundles/example-cabundle-id", "relative_path": "example-cabundle-id", "resource_type": "CaBundle", "unique_id": "b829537a-fcdb-4349-b5e1-53fb40f69a8c" } Required Permissions: crud Feature: policy_certificate Additional Errors:

Adds or updates a CA bundle

Adds or updates a new bundle of trusted CA certificates.
The bundle must be a concatenation of one or more
PEM-encoded certificates. The PEM-encoded bundle is replaced
with the one provided in the request.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/cabundles/{cabundle-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CaBundle+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles/example-cabundle-id { "pem_encoded": "-----BEGIN CERTIFICATE-----\n[...]\n-----END CERTIFICATE-----", } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Example Response: { "_create_time": 0, "_create_user": "unknown", "_last_modified_time": 0, "_last_modified_user": "unknown", "_protection": "NOT_PROTECTED", "_revision": 1, "_system_owned": false, "display_name": "example-cabundle-id", "earliest_not_after": 1688688782000, "id": "example-cabundle-id", "marked_for_delete": false, "not_after_list": [1688688782000, ...], "overridden": false, "parent_path": "/infra", "path": "/infra/cabundles/example-cabundle-id", "relative_path": "example-cabundle-id", "resource_type": "CaBundle", "unique_id": "b829537a-fcdb-4349-b5e1-53fb40f69a8c" } Required Permissions: crud Feature: policy_certificate Additional Errors:

Deletes CA bundle

Deletes the specified bundle of trusted CA certificates.
Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/cabundles/{cabundle-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles/example-cabundle-id Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_certificate Additional Errors:

Returns information about a CA bundle

Returns information about the specified bundle of trusted CA
certificates.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/cabundles/{cabundle-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles/example-cabundle-id Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CaBundle+

Example Response: { "_create_time": 0, "_create_user": "unknown", "_last_modified_time": 0, "_last_modified_user": "unknown", "_protection": "NOT_PROTECTED", "_revision": 0, "_system_owned": false, "certificates": [ { "is_ca": true, "is_valid": true, "issuer": "CN=test.local,O=Internet Widgits Pty Ltd,ST=Some-State,C=AU", "issuer_cn": "test.local", "not_after": 1688688782000, "not_before": 1602202382000, "public_key_algo": "RSA", "public_key_length": 2048, "rsa_public_key_exponent": "10001", "rsa_public_key_modulus": "00 cf ...", "serial_number": "abffbac5ca0a1934357be127156f6615cc14400", "signature": "1e 81 ...", "signature_algorithm": "SHA256WITHRSA", "subject": "CN=test.local,O=Internet Widgits Pty Ltd,ST=Some-State,C=AU", "subject_cn": "test.local", "version": "3", }, ... ], "display_name": "example-cabundle-id", "earliest_not_after": 1688688782000, "id": "example-cabundle-id", "marked_for_delete": false, "not_after_list": [1688688782000, ...], "overridden": false, "parent_path": "/infra", "path": "/infra/cabundles/example-cabundle-id", "relative_path": "example-cabundle-id", "resource_type": "CaBundle", "unique_id": "b829537a-fcdb-4349-b5e1-53fb40f69a8c" } Required Permissions: read Feature: policy_certificate Additional Errors:

Downloads a CA bundle

Downloads the specified PEM-encoded bundle of trusted CA certificates.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/cabundles/{cabundle-id}/pem-file
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/cabundles/example-cabundle-id Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/plain;charset=UTF-8
Response Body:
string

Example Response: -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- [...] Required Permissions: read Feature: policy_certificate Additional Errors:

Return All the User-Facing Components' Certificates

Returns all certificate information viewable by the user, including each
certificate's id; pem_encoded data; and history of the
certificate (who created or modified it and when). For additional
information, include the ?details=true modifier at the end of the request
URI.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/certificates
Request Headers:
n/a
Query Parameters:
ListCertParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/certificates Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCertificateList+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 2, "results": [ { "resource_type": "TlsCertificate", "id": "caCert", "display_name": "caCert", "path": "/infra/certificates/caCert", "parent_path": "/infra", "relative_path": "caCert", "details": [ ... ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "has_private_key": false, "tls_certificate_type": "CERTIFICATE_CA", "_create_user": "admin", "_create_time": 1516329725649, "_last_modified_user": "admin", "_last_modified_time": 1516329725649, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "TlsCertificate", "id": "selfSignedCert", "display_name": "selfSignedCert", "path": "/infra/certificates/selfSignedCert", "parent_path": "/infra", "relative_path": "selfSignedCert", "details": [ { "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" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "has_private_key": true, "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "e523b4c0-c3c5-4656-80a1-36dd0fab38cb", "realization_id": "e523b4c0-c3c5-4656-80a1-36dd0fab38cb", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_certificate Additional Errors:

Delete Certificate for the Given Certificate ID

Removes the specified certificate. The private key associated with the
certificate is also deleted.
Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/certificates/{certificate-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/certificates/signedDigitalCert Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_certificate Additional Errors:

Add a New Certificate

Adds a new private-public certificate and, optionally, a private key that
can be applied to one of the user-facing components (appliance management
or edge). The certificate and the key should be stored in PEM format. If
no private key is provided, the certificate is used as a client
certificate in the trust store.
A private key can be uploaded for a CA certificate only if the "purpose"
parameter is set to "signing-ca".
A certificate chain will not be expanded
into separate certificate instances for reference, but would be pushed to
the enforcement point as a single certificate. This patch method does
not modify an existing certificate.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/certificates/{certificate-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsTrustData+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/certificates/certificate-1 { "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "private_key": "-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----\n", "passphrase": "1234" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_certificate Additional Errors:

Show Certificate Data for the Given Certificate ID

Returns information for the specified certificate ID, including the
certificate's id; pem_encoded data; and history of the
certificate (who created or modified it and when). For additional
information, include the ?details=true modifier at the end of the request
URI.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/certificates/{certificate-id}
Request Headers:
n/a
Query Parameters:
GetCertParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/certificates/selfSignedCertificate Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCertificate+

Example Response: { "resource_type": "TlsCertificate", "id": "selfSignedCert", "display_name": "selfSignedCert", "path": "/infra/certificates/selfSignedCert", "parent_path": "/infra", "relative_path": "selfSignedCert", "details": [ { "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" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "has_private_key": true, "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "e523b4c0-c3c5-4656-80a1-36dd0fab38cb", "realization_id": "e523b4c0-c3c5-4656-80a1-36dd0fab38cb", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_certificate Additional Errors:

Add a New Certificate

Adds a new private-public certificate and, optionally, a private key that
can be applied to one of the user-facing components (appliance management
or edge). The certificate and the key should be stored in PEM format. If
no private key is provided, the certificate is used as a client
certificate in the trust store.
A private key can be uploaded for a CA certificate only if the "purpose"
parameter is set to "signing-ca".
A certificate chain will not be expanded
into separate certificate instances for reference, but would be pushed to
the enforcement point as a single certificate. This PUT method does
not modify an existing certificate.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/certificates/{certificate-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsTrustData+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/certificates/selfSignedCert { "_revision":"0", "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "private_key": "-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----\n", "passphrase": "1234" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCertificate+

Example Response: { "resource_type": "TlsCertificate", "id": "selfSignedCert", "display_name": "selfSignedCert", "path": "/infra/certificates/selfSignedCert", "parent_path": "/infra", "relative_path": "selfSignedCert", "details": [ { "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" } ], "pem_encoded": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----\n", "has_private_key": true, "tls_certificate_type": "CERTIFICATE_SELF_SIGNED", "unique_id": "e523b4c0-c3c5-4656-80a1-36dd0fab38cb", "realization_id": "e523b4c0-c3c5-4656-80a1-36dd0fab38cb", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1516338671237, "_last_modified_user": "admin", "_last_modified_time": 1516338671237, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_certificate Additional Errors:

Policy: Infra: Certificates: Certification Revocation List

Return All Added CRLs

Returns information about all CRLs. For additional information, include the
?details=true modifier at the end of the request URI.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/crls
Request Headers:
n/a
Query Parameters:
ListCertParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/crls?details=true Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCrlListResult+

Example Response: { "result_count": 1, "results": [ { "resource_type": "TlsCrl", "display_name": "revoked certificates", "path": "/infra/crls/revokedCerts", "parent_path": "/infra", "relative_path": "revokedCerts", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "details": { "next_update": "945220365000", "issuer": "1.2.840.113549.1.9.1=#161d726f6f744069676c6f6f2e6974732e756e696d656c622e6564752e6175,CN=igloo Certificate Authority,OU=Certificates Administration,O=igloo CA,L=Melbourne,ST=Victoria,C=AU", "version": "1" }, "crl_type": "X509", "unique_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "realization_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "marked_for_delete": false, "overridden": false, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1, "_last_modified_user": "admin", "_last_modified_time": 1413387436438, "_create_time": 1413386249116, "_create_user": "admin" }, { "crl_type": "OneCRL", "one_crl": "{\"data\":[ <...> ]}", "details_revoked_by_issuer_and_serial_number": [ <...> ], "details_revoked_by_subject_and_public_key_hash": [ <...> ], "resource_type": "TlsCrl", "id": "default_public_crl", "display_name": "default_public_crl", "path": "/infra/crls/default_public_crl", "relative_path": "default_public_crl", "parent_path": "/infra", "unique_id": "91503436-5215-4d13-93e0-094c7473e30d", "realization_id": "91503436-5215-4d13-93e0-094c7473e30d", "marked_for_delete": false, "overridden": false, "_system_owned": true, "_create_user": "system", "_create_time": 1630097138768, "_last_modified_user": "admin", "_last_modified_time": 1630107914252, "_protection": "NOT_PROTECTED", "_revision": 1 }, ] } Required Permissions: read Feature: policy_certificate Additional Errors:

Show CRL Data for the Given CRL id.

Returns information about the specified CRL. For additional information,
include the ?details=true modifier at the end of the request URI.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/crls/{crl-id}
Request Headers:
n/a
Query Parameters:
GetCertParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/crls/revokedCerts?details=true Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCrl+

Example Response: { "resource_type": "TlsCrl", "display_name": "revoked certificates", "path": "/infra/crls/revokedCerts", "parent_path": "/infra", "relative_path": "revokedCerts", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "details": { "next_update": "945220365000", "issuer": "1.2.840.113549.1.9.1=#161d726f6f744069676c6f6f2e6974732e756e696d656c622e6564752e6175,CN=igloo Certificate Authority,OU=Certificates Administration,O=igloo CA,L=Melbourne,ST=Victoria,C=AU", "version": "1" }, "crl_type": "X509", "unique_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "realization_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "marked_for_delete": false, "overridden": false, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1, "_last_modified_user": "admin", "_last_modified_time": 1413387436438, "_create_time": 1413386249116, "_create_user": "admin" } Required Permissions: read Feature: policy_certificate Additional Errors:

Delete a CRL

Deletes an existing CRL. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/crls/{crl-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/crls/revokedCerts Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_certificate Additional Errors:

Create or fully replace a Certificate Revocation List

Create or replace a Certificate Revocation List for the given id. The CRL is used to
verify the client certificate status against the revocation lists published by the CA.
For this reason, the administrator needs to add the CRL in certificate repository as well.
The CRL must contain PEM data for a single CRL. Revision is required.
A CRL can be in the PEM X.509 format (crl_type=X509) or JSON OneCRL
(crl_type=OneCRL).
If crl_type is not specified, it is auto-detected based on the presence of
fields pem_encoded or one_crl.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/crls/{crl-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsCrl+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/crls/revokedCerts { "display_name": "Revoked Certificates", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "_revision": 1, "crl_type": "X509" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCrl+

Example Response: { "resource_type": "TlsCrl", "display_name": "revoked certificates", "path": "/infra/crls/revokedCerts", "parent_path": "/infra", "relative_path": "revokedCerts", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "details": { "next_update": "945220365000", "issuer": "1.2.840.113549.1.9.1=#161d726f6f744069676c6f6f2e6974732e756e696d656c622e6564752e6175,CN=igloo Certificate Authority,OU=Certificates Administration,O=igloo CA,L=Melbourne,ST=Victoria,C=AU", "version": "1" }, "crl_type": "X509", "unique_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "realization_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "marked_for_delete": false, "overridden": false, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1, "_last_modified_time": 1413386249116, "_create_time": 1413386249116, "_create_user": "admin", "_last_modified_user": "admin" } Required Permissions: crud Feature: policy_certificate Additional Errors:

Create or patch a Certificate Revocation List

Create or patch a Certificate Revocation List for the given id. The CRL is used to
verify the client certificate status against the revocation lists published by the CA.
For this reason, the administrator needs to add the CRL in certificate repository as well.
The CRL must contain PEM data for a single CRL.
A CRL can be in the PEM X.509 format (crl_type=X509) or JSON OneCRL
(crl_type=OneCRL).
If crl_type is not specified, it is auto-detected based on the presence of
fields pem_encoded or one_crl.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/crls/{crl-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsCrl+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/crls/revokedCertsb { "display_name": "Revoked Certificates", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "crl_type": "X509" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 Ok Required Permissions: crud Feature: policy_certificate Additional Errors:

Create a new Certificate Revocation List

Adds a new certificate revocation list (CRLs). The CRL is used to verify the client
certificate status against the revocation lists published by the CA. For this reason,
the administrator needs to add the CRL in certificate repository as well.
A CRL can be in the PEM X.509 format (crl_type=X509) or JSON OneCRL
(crl_type=OneCRL).
If crl_type is not specified, it is auto-detected based on the presence of
fields pem_encoded or one_crl.
An X.509 CRL can contain a single CRL or multiple CRLs depending on the PEM data.
- Single CRL: a single CRL is created with the given id.
- Composite CRL: multiple CRLs are generated. Each of the CRL is created with an id
generated based on the given id. First CRL is created with crl-id, second with crl-id-1,
third with crl-id-2, etc.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/crls/{crl-id}?action=import
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
TlsCrl+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/crls/revokedCertsb { "display_name": "Revoked Certificates", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCrlListResult+

Example Response: { "results": [{ "resource_type": "TlsCrl", "display_name": "revoked certificates", "path": "/infra/crls/revokedCerts", "parent_path": "/infra", "relative_path": "revokedCerts", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "crl_type": "X509", "unique_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "realization_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "marked_for_delete": false, "overridden": false, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0, "_last_modified_user": "admin", "_last_modified_time": 1413387436438, "_create_time": 1413386249116, "_create_user": "admin" }] } Required Permissions: crud Feature: policy_certificate Additional Errors:

Upload a new or updated Certificate Revocation List

Adds or replaces a certificate revocation list (CRLs). The CRL is used to verify the client
certificate status against the revocation lists published by the CA. For this reason,
the administrator needs to add the CRL in certificate repository as well.
A CRL can be in the PEM X.509 format (crl_type=X509) or JSON OneCRL
(crl_type=OneCRL).
If crl_type is not specified, it is auto-detected based on the upload content.
An X.509 CRL can contain a single CRL or multiple CRLs depending on the PEM data.
- Single CRL: a single CRL is created with the given id.
- Composite CRL: multiple CRLs are generated. Each of the CRL is created with an id
generated based on the given id. First CRL is created with crl-id, second with crl-id-1,
third with crl-id-2, etc.
Differently from action=import, this method allows multi-part upload of the CRL(s).
The TlsCrl resource returned in the body of the response will have an empty pem_encoded
field, as it may be large. Use a GET request to retrieve the PEM-encoded CRL.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/crls/{crl-id}?action=upload
Request Headers:
n/a
Query Parameters:
UploadTlsCrlRequestParameters+
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/crls/revokedCerts?action=import Content-Type: multipart/form-data; boundary=2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f --2a8ae6ad-f4ad-4d9a-a92c-6d217011fe0f Content-Disposition: form-data; name="file"; filename="mycrl.pem" -----BEGIN X509 CRL----- -----END X509 CRL----- Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TlsCrl+

Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
TlsCrl+

Example Response: { "results": [{ "resource_type": "TlsCrl", "display_name": "revoked certificates", "path": "/infra/crls/revokedCerts", "parent_path": "/infra", "relative_path": "revokedCerts", "pem_encoded": "-----BEGIN X509 CRL----------END X509 CRL-----\n", "crl_type": "X509", "unique_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "realization_id": "511cf9cd-448b-4fa5-9bdf-a24a9dcba853", "marked_for_delete": false, "overridden": false, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0, "_last_modified_user": "admin", "_last_modified_time": 1413387436438, "_create_time": 1413386249116, "_create_user": "admin" }] } Required Permissions: crud Feature: policy_certificate Additional Errors:

Policy: Infra

Policy: Infra: Constraints

List tenant Constraints.

List tenant constraints. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/constraints
Request Headers:
n/a
Query Parameters:
PolicyListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>policy/api/v1/global-infra/constraints Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConstraintListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 3, "results": [ { "constraint_expression": { "resource_type": "RelatedAttributeConditionalExpression", "condition": { "value_constraint": { "resource_type": "ValueConstraintExpression", "values": [ "/infra/services/HTTP", "/infra/services/HTTPS" ], "operator": "INCLUDES", "_protection": "NOT_PROTECTED" }, "rhs_value": [ "/infra/domains/mgw/groups/VCENTER" ], "operator": "INCLUDES" }, "related_attribute": { "attribute": "destinationGroups" }, "_protection": "NOT_PROTECTED" }, "target": { "target_resource_type": "CommunicationEntry", "attribute": "services", "path_prefix": "/infra/domains/amar/edge-communication-maps/default/communication-entries/" }, "_protection": "NOT_PROTECTED" }, { "constraint_expression": { "resource_type": "ValueConstraintExpression", "values": [ "ALLOW" ], "operator": "EQUALS", "_protection": "NOT_PROTECTED" }, "target": { "target_resource_type": "CommunicationEntry", "attribute": "action", "path_prefix": "/infra/domains/amar/edge-communication-maps/default/communication-entries/" }, "_protection": "NOT_PROTECTED" }, { "constraint_expression": { "resource_type": "ValueConstraintExpression", "values": [ "/infra/domains/amar/groups/VCENTER" ], "operator": "INCLUDES", "_protection": "NOT_PROTECTED" }, "target": { "target_resource_type": "CommunicationEntry", "attribute": "destinationGroups", "path_prefix": "/infra/domains/amar/edge-communication-maps/default/communication-entries/" }, "_protection": "NOT_PROTECTED" }, { "constraint_expressions": [{ "resource_type": "EntityCountConstraintExpression", "target_resource_type": "Group", "operator": "<", "count" : 2 }, { "resource_type": "EntityCountConstraintExpression", "target_resource_type": "Vpc", "operator": "<", "count" : 2 }] "targets": [{ "path_prefix": "/orgs/org1/projects/project1/" }, { "path_prefix": "/orgs/org1/projects/project2/" }] "_protection": "NOT_PROTECTED" } ] } Required Permissions: read Feature: policy_constraints Additional Errors:

Read tenant Constraint.

Read tenant constraint. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/constraints/{constraint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>policy/api/v1/global-infra/constraints/related-attribute-constraint Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Constraint+

Example Response: { "constraint_expressions": [{ "resource_type": "RelatedAttributeConditionalExpression", "condition": { "value_constraint": { "resource_type": "ValueConstraintExpression", "values": [ "/infra/services/HTTP", "/infra/services/HTTPS" ], "operator": "INCLUDES", "_protection": "NOT_PROTECTED" }, "rhs_value": [ "/infra/domains/mgw/groups/VCENTER" ], "operator": "INCLUDES" }, "related_attribute": { "attribute": "destinationGroups" }, "_protection": "NOT_PROTECTED" }], "targets": [{ "target_resource_type": "CommunicationEntry", "attribute": "services", "path_prefix": "/infra/domains/amar/edge-communication-maps/default/communication-entries/" }], "_protection": "NOT_PROTECTED" } Required Permissions: read Feature: policy_constraints Additional Errors:

Policy: Infra: Domains

Policy: Infra: Domains: Domain

List domains for infra

Paginated list of all domains for infra.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains
Request Headers:
n/a
Query Parameters:
DomainListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DomainListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "Domain", "description": "VMC Domain", "id": "vmc", "display_name": "VMC domain", "path": "/infra/domains/vmc", "parent_path": "/infra/domains/vmc", "relative_path": "vmc", "_create_user": "admin", "_create_time": 1517307910473, "_last_modified_user": "admin", "_last_modified_time": 1517307910473, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: domain_admin Additional Errors:

Read domain

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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Domain+

Example Response: { "resource_type": "Domain", "description": "VMC Domain", "id": "vmc", "display_name": "VMC domain", "path": "/infra/domains/vmc", "parent_path": "/infra/domains/vmc", "relative_path": "vmc", "_create_user": "admin", "_create_time": 1517307910473, "_last_modified_user": "admin", "_last_modified_time": 1517307910473, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: domain_admin Additional Errors:

Create or update a domain

If a domain with the domain-id is not already present, create a new
domain. If it already exists, update the domain including the nested
groups. This is a full replace
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Domain+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc { "description": "VMC Domain", "display_name": "VMC domain", "_revision":0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Domain+

Example Response: { "resource_type": "Domain", "description": "VMC Domain", "id": "vmc", "display_name": "VMC domain", "path": "/infra/domains/vmc", "parent_path": "/infra/domains/vmc", "relative_path": "vmc", "_create_user": "admin", "_create_time": 1517307910473, "_last_modified_user": "admin", "_last_modified_time": 1517307910473, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: domain_admin Additional Errors:

Delete Domain and all the entities contained by this domain

Delete the domain along with all the entities contained by this domain.
The groups that are a part of this domain are also deleted along with
the domain.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: domain_admin Additional Errors:

Patch a domain

If a domain with the domain-id is not already present, create a new
domain. If it already exists, patch the domain
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Domain+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc { "description": "VMC Domain Patched", "display_name": "VMC domain", "_revision":0 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: domain_admin Additional Errors:

Policy: Infra: Domains: Domain Deployment Maps

List Domain Deployment maps for infra

Paginated list of all Domain Deployment Entries for infra.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/domain-deployment-maps
Request Headers:
n/a
Query Parameters:
DomainDeploymentMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains//domain-deployment-maps Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DomainDeploymentMapListResult+

Example Response: { "results": [ { "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "resource_type": "DomainDeploymentMap", "id": "ddm5", "display_name": "ddm5", "path": "/infra/domains/SecureWorkload/domain-deployment-maps/ddm5", "relative_path": "ddm5", "parent_path": "/infra/domains/SecureWorkload", "unique_id": "f7aef601-4e4b-420f-8fe2-a3d1ab709ae7", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1604097081666, "_last_modified_user": "admin", "_last_modified_time": 1604097081669, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: domain_admin Additional Errors:

Create a new Domain Deployment Map under infra

If the passed Domain Deployment Map does not already exist, create a new Domain Deployment Map.
If it already exist, replace it.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/domain-deployment-maps/{domain-deployment-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DomainDeploymentMap+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/domains//domain-deployment-maps/ { "enforcement_point":"/global-infra/deployment-zones/default/enforcement-points/nsxt-ep", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DomainDeploymentMap+

Example Response: { "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "resource_type": "DomainDeploymentMap", "id": "ddm1", "display_name": "ddm1", "path": "/infra/domains/SecureWorkload/domain-deployment-maps/ddm1", "relative_path": "ddm1", "parent_path": "/infra/domains/SecureWorkload", "unique_id": "bc9a38cf-7807-4f53-9bf3-d1140d1fc5db", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1604096029230, "_last_modified_user": "admin", "_last_modified_time": 1604096029236, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: domain_admin Additional Errors:

Read a DomainDeploymentMap

Read a Domain Deployment Map
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/domain-deployment-maps/{domain-deployment-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains//domain-deployment-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DomainDeploymentMap+

Example Response: { "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "resource_type": "DomainDeploymentMap", "id": "ddm5", "display_name": "ddm5", "path": "/infra/domains/SecureWorkload/domain-deployment-maps/ddm5", "relative_path": "ddm5", "parent_path": "/infra/domains/SecureWorkload", "unique_id": "f7aef601-4e4b-420f-8fe2-a3d1ab709ae7", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1604097081666, "_last_modified_user": "admin", "_last_modified_time": 1604097081669, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: domain_admin Additional Errors:

Delete Domain Deployment Map

Delete Domain Deployment Map Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/domain-deployment-maps/{domain-deployment-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains//domain-deployment-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: domain_admin Additional Errors:

Patch Domain Deployment Map under infra

If the passed Domain Deployment Map does not already exist, create a new Domain Deployment Map.
If it already exist, patch it.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/domain-deployment-maps/{domain-deployment-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
DomainDeploymentMap+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains//domain-deployment-maps/ { "enforcement_point":"/global-infra/deployment-zones/default/enforcement-points/nsxt-ep", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: { "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "resource_type": "DomainDeploymentMap", "id": "ddm5", "display_name": "ddm5", "path": "/infra/domains/SecureWorkload/domain-deployment-maps/ddm5", "relative_path": "ddm5", "parent_path": "/infra/domains/SecureWorkload", "unique_id": "f7aef601-4e4b-420f-8fe2-a3d1ab709ae7", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1604097081666, "_last_modified_user": "admin", "_last_modified_time": 1604097081669, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: domain_admin Additional Errors:

Policy: Infra: Enforcement Points

Associated URIs:

List enforcementpoints under Site

Paginated list of all enforcementpoints under Site.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points
Request Headers:
n/a
Query Parameters:
EnforcementPointListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EnforcementPointListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "EnforcementPoint", "id": "nsxt-ep", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep", "path": "/infra/sites/default/enforcement-points/nsxt-ep", "parent_path": "/infra/sites/default", "relative_path": "nsxt-ep", "connection_info": { "resource_type": "NSXTConnectionInfo", "enforcement_point_address": "10.192.201.163", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } ] } Required Permissions: read Feature: site_admin Additional Errors:

Full sync EnforcementPoint from Site

Full sync EnforcementPoint from Site Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcement-point-id}?action=full-sync
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/external-ep?action=full-sync Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Create/update a new Enforcement Point under Site

If the passed Enforcement Point does not already exist, create a new Enforcement Point.
If it already exists, replace it.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
EnforcementPoint+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep { "connection_info": { "enforcement_point_address":"10.192.201.163", "resource_type":"NSXTConnectionInfo", "username":"admin", "password":"Admin!23Admin", "thumbprint":"f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }, "_revision" : 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EnforcementPoint+

Example Response: { "resource_type": "EnforcementPoint", "id": "nsxt-ep", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep", "path": "/infra/sites/default/enforcement-points/nsxt-ep", "parent_path": "/infra/sites/default", "relative_path": "nsxt-ep", "connection_info": { "resource_type": "NSXTConnectionInfo", "enforcement_point_address": "10.192.201.163", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262573524, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: site_admin Additional Errors:

Delete EnforcementPoint from Site

Delete EnforcementPoint from Site Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Patch a new Enforcement Point under Site

If the passed Enforcement Point does not already exist, create a new Enforcement Point.
If it already exists, patch it.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
EnforcementPoint+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep { "connection_info": { "enforcement_point_address":"10.192.201.163", "resource_type":"NSXTConnectionInfo", "username":"admin", "password":"Admin!23Admin", "thumbprint":"f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" } } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Read an Enforcement Point under Infra/Site

Read an Enforcement Point under Infra/Site
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EnforcementPoint+

Example Response: { "resource_type": "EnforcementPoint", "id": "nsxt-ep", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep", "path": "/infra/sites/default/enforcement-points/nsxt-ep", "parent_path": "/infra/sites/default", "relative_path": "nsxt-ep", "connection_info": { "resource_type": "NSXTConnectionInfo", "enforcement_point_address": "10.192.201.163", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: read Feature: site_admin Additional Errors:

List Edge Clusters under an Enforcement Point

Paginated list of all Edge Clusters under an Enforcement Point
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/edge-clusters
Request Headers:
n/a
Query Parameters:
PolicyEdgeClusterListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep/edge-clusters Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyEdgeClusterListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PolicyEdgeCluster", "id": "ec", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec", "path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec", "parent_path": "/infra/sites/default/enforcement-points/nsxt-ep", "relative_path": "ec", "nsx_id": "8ce97b79-e2da-4d73-bc3b-4723ccab0600", "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_ep_edge Additional Errors:

Read a Edge Cluster under an Enforcement Point

Read a Edge Cluster under an Enforcement Point
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/edge-clusters/{edge-cluster-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyEdgeCluster+

Example Response: { "resource_type": "PolicyEdgeCluster", "id": "ec", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec", "path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec", "parent_path": "/infra/sites/default/enforcement-points/nsxt-ep", "relative_path": "ec", "nsx_id": "8ce97b79-e2da-4d73-bc3b-4723ccab0600", "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_ep_edge Additional Errors:

List Edge Nodes under an Enforcement Point, Edge Cluster

Paginated list of all Edge Nodes under an Enforcement Point, Edge Cluster
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/edge-clusters/{edge-cluster-id}/edge-nodes
Request Headers:
n/a
Query Parameters:
PolicyEdgeNodeListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyEdgeNodeListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PolicyEdgeNode", "id": "en", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en", "path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en", "parent_path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec", "relative_path": "en", "nsx_id": "8ce97b79-e2da-4d73-bc3b-4723ccab0600", "member_index": 0, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_ep_edge Additional Errors:

Read a Edge Node under an Enforcement Point, Edge Cluster

Read a Edge Node under an Enforcement Point, Edge Cluster
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}/edge-clusters/{edge-cluster-id}/edge-nodes/{edge-node-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyEdgeNode+

Example Response: { "resource_type": "PolicyEdgeNode", "id": "en", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en", "path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en", "parent_path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec", "relative_path": "en", "nsx_id": "8ce97b79-e2da-4d73-bc3b-4723ccab0600", "member_index": 0, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_ep_edge Additional Errors:

Reload an Enforcement Point under Site

Reload an Enforcement Point under Site. This will read and update
fabric configs from enforcement point.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcementpoint-id}?action=reload
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/nsxt-ep?action=reload Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EnforcementPoint+

Example Response: { "resource_type": "EnforcementPoint", "id": "nsxt-ep", "display_name": "/infra/sites/default/enforcement-points/nsxt-ep", "path": "/infra/sites/default/enforcement-points/nsxt-ep", "parent_path": "/infra/sites/default", "relative_path": "nsxt-ep", "connection_info": { "resource_type": "NSXTConnectionInfo", "enforcement_point_address": "10.192.201.163", "thumbprint": "f53d7052535613b3032a41d555631228cb4d0d8b584a8225b94fbf0ba83eb9a4" }, "_create_user": "admin", "_create_time": 1517262573524, "_last_modified_user": "admin", "_last_modified_time": 1517262753660, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: read Feature: site_admin Additional Errors:

Policy: Infra: Hierarchical API

Update the infra object

Updates only the single infra object. This does not allow hierarchical
updates of entities.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Infra+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra { "display_name": "infra", "path": "/global-infra", "relative_path": "infra", "connectivity_strategy": "NONE", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Infra+

Example Response: { "resource_type": "Infra", "id": "infra", "display_name": "infra", "path": "/infra", "relative_path": "infra", "connectivity_strategy": "NONE", "_create_user": "system", "_create_time": 1517296394552, "_last_modified_user": "system", "_last_modified_time": 1517296394552, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: infra_admin Additional Errors:

Read infra

Read infra. Returns only the infra related properties. Inner object
are not populated.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra
Request Headers:
n/a
Query Parameters:
ChildTypesRequestParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Infra+

Example Response: { "resource_type": "Infra", "id": "infra", "display_name": "infra", "path": "/infra", "relative_path": "infra", "connectivity_strategy": "NONE", "_create_user": "system", "_create_time": 1517296394552, "_last_modified_user": "system", "_last_modified_time": 1517296394552, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: infra_admin Additional Errors:

Update the infra including all the nested entities

Patch API at infra level can be used in two flavours
1. Like a regular API to update Infra object
2. Hierarchical API: To create/update/delete entire or part of intent
hierarchy
Hierarchical API: Provides users a way to create entire or part of
intent in single API invocation. Input is expressed in a tree format.
Each node in tree can have multiple children of different types.
System will resolve the dependencies of nodes within the intent tree
and will create the model. Children for any node can be specified using
ChildResourceReference or ChildPolicyConfigResource.
If a resource is specified using ChildResourceReference then it will
not be updated only its children will be updated. If Object is specified
using ChildPolicyConfigResource, object along with its children will be
updated.
Hierarchical API can also be used to delete any sub-branch of entire tree.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra
Request Headers:
n/a
Query Parameters:
ForceRevisionCheckRequestParameter+
Request Body:
Infra+

Example Request: Example 1: ---------- PATCH https://<policy-mgr>/global-manager/api/v1/global-infra { "display_name": "infra", "path": "/global-infra", "relative_path": "infra", "connectivity_strategy": "NONE" } Example 2: ---------- # Below sample creates domain, groups, services and and security-policies in one call PATCH https://<policy-mgr>/global-manager/api/v1/global-infra { "resource_type":"Infra", "children": [ { "resource_type":"ChildDomain", "Domain": { "id":"domain-test", "resource_type":"Domain", "description":"domain-test", "display_name":"domain-test", "children":[ { "resource_type":"ChildGroup", "Group":{ "resource_type":"Group", "description":"g1", "display_name":"g1", "id":"g1", "expression":[ { "member_type":"VirtualMachine", "value":"webvm", "key":"Tag", "operator":"EQUALS", "resource_type":"Condition" } ] } }, { "resource_type":"ChildGroup", "Group":{ "resource_type":"Group", "description":"g2", "display_name":"g2", "id":"g2", "expression":[ { "member_type":"VirtualMachine", "value":"dbvm", "key":"Tag", "operator":"EQUALS", "resource_type":"Condition" } ] } }, { "resource_type":"ChildSecurityPolicy", "SecurityPolicy":{ "id":"sp1", "resource_type":"SecurityPolicy", "description":"SecurityPolicy", "display_name":"SecurityPolicy", "rules":[ { "resource_type":"Rule", "description":"Rule", "display_name":"r1", "sequence_number":1, "source_groups":[ "/global-infra/domains/domain-test/groups/g2" ], "destination_groups":[ "/global-infra/domains/domain-test/groups/g1" ], "services": [ "/global-infra/services/HTTP", "/global-infra/services/AD_Server", "/global-infra/services/CIM-HTTP" ], "action": "ALLOW" } ] } } ] } }, { "resource_type":"ChildService", "Service": { "id":"s1", "resource_type":"Service", "description":"L4Service", "display_name":"L4Service", "service_entries": [ { "resource_type":"L4PortSetServiceEntry", "display_name":"L4ServiceEntry", "destination_ports": [ "464" ], "l4_protocol":"TCP" } ] } } ] } Example 3: ---------- #Hierarchical delete example #Below example deletes domain-test including all its #children(groups, security policies, services) PATCH https://<policy-mgr>/global-manager/api/v1/global-infra { "resource_type":"Infra", "children":[ { "resource_type":"ChildDomain", "marked_for_delete": true, "Domain":{ "id":"domain-test", "resource_type":"Domain" } } ] } Example 4: ---------- #Example using ChildResourceReference in hierarchical API #Below example updates group g1 in 'domain-test' without updating domain and without #requiring to populate domain object completely in request payload. PATCH https://<policy-mgr>/global-manager/api/v1/global-infra { "resource_type":"Infra", "children":[ { "resource_type":"ChildResourceReference", "id":"domain-test", "target_type":"Domain", "children":[ { "resource_type":"ChildGroup", "Group":{ "resource_type":"Group", "description":"web group update", "display_name":"webgroup", "id":"g1", "expression":[ { "member_type":"VirtualMachine", "value":"web", "key":"Tag", "operator":"EQUALS", "resource_type":"Condition" } ] } } ] } ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: no_rbac Additional Errors:

Policy: Infra: Labels

List labels for infra

Paginated list of all labels for infra.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/labels
Request Headers:
n/a
Query Parameters:
PolicyLabelListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/labels Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyLabelListResult+

Example Response: { "results": [ { "type": "Domain", "refs": [ "/infra/domains/mydomain3", "/infra/domains/mydomain2", "/infra/domains/mydomain1" ], "resource_type": "PolicyLabel", "id": "my-domains-label", "display_name": "my-domains-label", "path": "/infra/labels/my-domains-label", "relative_path": "my-domains-label", "parent_path": "/infra/labels/my-domains-label", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544641564432, "_last_modified_user": "admin", "_last_modified_time": 1544641564432, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_label Additional Errors:

Read lable

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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/labels/my-domains-label Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyLabel+

Example Response: { "type": "Domain", "refs": [ "/infra/domains/mydomain3", "/infra/domains/mydomain2", "/infra/domains/mydomain1" ], "resource_type": "PolicyLabel", "id": "my-domains-label", "display_name": "my-domains-label", "path": "/infra/labels/my-domains-label", "relative_path": "my-domains-label", "parent_path": "/infra/labels/my-domains-label", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544641564432, "_last_modified_user": "admin", "_last_modified_time": 1544641564432, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_label Additional Errors:

Policy: Infra: Monitoring

Get configs for policy

Get configs from policy like node-version,product-version.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/config Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyMonitoringConfig+

Example Response: { "product_version": "4.0.0.0.0.55730837", "properties": { "datareaper.task.maxrecordstoreap": "1000000", "switching.autoTN.taskExecutor.pool.size": "5", "switching.profile.ipDiscovery.overlay.default.id": "64814784-7896-3901-9741-badeff705639", "switching.cluster.resources.cleanup.delay": "120000", "rp.network.if.name": "eth0", "audit.excluded_properties": "password, passphrase, secret_key, shared_secret, account_shared_secret, private_key", "crl.x509.max_size_mb": "40" } } Required Permissions: read Feature: policy_migration Additional Errors:

Get health stats for policy modules

Get health stats for policy modules with success and failure counters
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/health
Request Headers:
n/a
Query Parameters:
HealthRequestParameters+
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/health Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
object

Example Response: { "status": 0, "reason": "healthy", "basic": { "cert_realizer": { "status": 1, "reason": "certification successful" }, "api-rest": { "status": 1, "reason": "rest api server up and running" } }, "integrated": { "gm_to_lm_connection": { "status": 1, "reason": "gm to lm connection is up" }, "lm_to_gm_connection": { "status": 1, "reason": "lm to gm connection is up" }, "site-manager": { "status": 0, "reason": "Connection to Site Manager refused or timed out. Site manager may be down" }, "ar_tx": { "status": 1, "reason": "connection to ar operational" }, "corfu_connection": { "status": 1, "reason": "connect to corfu successful" } } } Required Permissions: read Feature: policy_migration Additional Errors:

Get operational stats for policy modules

Get operational stats for policy modules with success and failure counters
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/opstats
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/opstats Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
object

Example Response: { "Service":{ service_create_success = 2, service_create_invalid_service_element = 1, service_update_cannot_modify_service_element = 1 } "Grouping":{ group_create_success = 4, group_create_invalid_expression_type = 1, group_update_unsupported_expression = 2 } } Required Permissions: read Feature: policy_migration Additional Errors:

Get performance metrics for policy

Get performance metrics for policy JVM
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/performance
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/performance Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
object

Example Response: { "cpu":"80" } Required Permissions: read Feature: policy_migration Additional Errors:

Policy: Infra: Realized State

List All alarms in the system

Paginated list of all alarms.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/realized-state/alarms
Request Headers:
n/a
Query Parameters:
PolicyAlarmResourceListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/realized-state/alarms Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyAlarmResourceListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PolicyAlarmResource", "id": "PROVIDER_INVOCATION_FAILURE", "display_name": "e88f4514-fd2d-4e91-b4b7-e8c9f594ae49", "parent_path": "*/alarms/realized-state", "relative_path": "e88f4514-fd2d-4e91-b4b7-e8c9f594ae49", "message": "I/O error on POST request for \"http://127.0.0.1:7440/nsxapi/api/v1/firewall/sections\": Connect to 127.0.0.1:7440 [/127.0.0.1] failed: Connection refused (Connection refused); nested exception is org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:7440 [/127.0.0.1] failed: Connection refused (Connection refused)", "source_reference": "/infra/realized-state/enforcement-points/default/firewalls/firewall-sections/7f4ce9e1-e1d9-11e8-8ce3-f56aad4808c4.38989010-e1db-11e8-8ce3-f56aad4808c4", "_create_user": "system", "_create_time": 1541519266261, "_last_modified_user": "system", "_last_modified_time": 1541519266261, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: infra_admin Additional Errors:

Get list of realized objects associated with intent object

Get list of realized entities associated with intent object,
specified by path in query parameter
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/realized-state/realized-entities
Request Headers:
n/a
Query Parameters:
IntentPathRequestParameter+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/realized-state/realized-entities?intent_path=/global-infra/domains/d1/groups/g1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GenericPolicyRealizedResourceListResult+

Example Response: { "result_count": 1, "results": [ { "resource_type": "GenericPolicyRealizedResource", "id": "DOMAIN-d1-g1", "display_name": "DOMAIN-d1-g1", "path": "/infra/realized-state/enforcement-points/nsx-1/groups/nsgroups/DOMAIN-d1-g1", "parent_path": "/infra/realized-state/enforcement-points/nsx-1", "relative_path": "DOMAIN-d1-g1", "intent_reference": [ "/infra/domains/d1/groups/g1" ], "realization_specific_identifier": "22db5ae1-f1d7-4fa0-aa98-6176a3b80d0d", "alarms": [], "state": "REALIZED", "runtime_status": "UNKNOWN", "publish_status": "UNKNOWN", "operational_status" : "UNKNOWN", "extended_attributes": [ { "values": [ "/infra/realized-state/enforcement-points/nsx-1/virtual-machines/564d1fb9-f50d-5533-d189-550394ba7252", "/infra/realized-state/enforcement-points/nsx-1/virtual-machines/564d2588-5ccf-7825-32f9-d5e1f344fe40", "/infra/realized-state/enforcement-points/nsx-1/virtual-machines/564d6341-5655-5cdb-2a90-fad1b762789b", "/infra/realized-state/enforcement-points/nsx-1/virtual-machines/564d922d-f3cb-ae5c-3e3d-d76a55990905" ], "data_type": "STRING", "key": "VIRTUAL_MACHINES", "multivalue": true } ], "entity_type": "RealizedGroup", "_create_user": "system", "_create_time": 1519051314478, "_last_modified_user": "admin", "_last_modified_time": 1519057587852, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 5 } ] } Required Permissions: read Feature: infra_admin Additional Errors:

Refresh all realized entities associated with the intent-path

Refresh the status and statistics of all realized entities associated
with given intent path synchronously. The vmw-async: True HTTP header
cannot be used with this API.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/realized-state/realized-entity?action=refresh
Request Headers:
n/a
Query Parameters:
RealizedStateRequestParameter+
Request Body:
n/a

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/realized-state/realized-entity?action=refresh&intent_path=/global-infra/domains/d1/groups/g1&enforcement_point_path=/global-infra/deployment-zones/default/enforcement-points/ep1 Successful Response:
Response Code:
204 No Content
Response Headers:
n/a
Response Body:
n/a

Required Permissions: read Feature: infra_admin Additional Errors:

Get consolidated status of an intent object

Get Consolidated Status of an intent object (with or without enforcement specific status details).
The request is evaluated as follows:
- <intent_path>: the request is evaluated on all enforcement points for the given intent without
enforcement point specific details.
- <intent_path, include_enforced_status>: the request is evaluated on all enforcement points for
the given intent with enforcement point specific details.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/realized-state/status
Request Headers:
n/a
Query Parameters:
IntentStatusRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/realized-state/status?intent_path=/global-infra/domains/default/security-policies/block-external&include_enforced_status=true Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConsolidatedRealizedStatus+

Example Response: { "consolidated_status": { "consolidated_status": "ERROR" }, "consolidated_status_per_enforcement_point": [ { "enforced_status": { "enforced_status_info": { "enforced_status": { "status": "UNKNOWN" }, "enforced_status_per_scope": [ { "enforced_status_per_transport_node": [ { "path": "/infra/sites/default/enforcement-points/default/edge-clusters/ec/edge-nodes/c578e7ba-5ce5-11e9-acec-41d19997391c", "enforced_status": { "status": "FAILURE", "status_message": "Internal error(1101) occurred on transport node c578e7ba-5ce5-11e9-acec-41d19997391c." } }, { "path": "/infra/sites/default/enforcement-points/default/edge-clusters/ec/edge-nodes/a744cd7e-5ce5-11e9-a24b-df71fdc87f85", "enforced_status": { "status": "SUCCESS" } }, { "path": "/infra/sites/default/enforcement-points/default/edge-clusters/ec/edge-nodes/77af8e10-5ce5-11e9-9149-5bb770f7c6c7", "enforced_status": { "status": "SUCCESS" } }, { "path": "/infra/sites/default/enforcement-points/default/edge-clusters/ec/edge-nodes/93ecd452-5ce5-11e9-8c18-bdce5885e998", "enforced_status": { "status": "SUCCESS" } } ], "resource_type": "TransportNodeSpanEnforcedStatus" } ] }, "pending_changes_info": { "pending_changes_flag": false } }, "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "enforcement_point_id": "default", "consolidated_status": { "consolidated_status": "UNKNOWN" } } ], "intent_path": "/infra/domains/default/security-policies/block-external" } Required Permissions: read Feature: infra_admin Additional Errors:

Policy: Inventory: Groups

Policy: Inventory: Groups: Group Members

Associated URIs:

Get groups for which the given Cloud Native Service Instance is a member

Get policy groups for which the given Cloud Native Service Instance is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/cloud-native-service-group-associations
Request Headers:
n/a
Query Parameters:
CNSGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/cloud-native-service-group-associations?cns_external_id=564de333-15ac-de52-da90-974fe099a17b&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get member types for a given Group

It retrieves member types for a given group. In case of nested groups, it calculates
member types of child groups as well. Considers member type for members added
via static members and dynamic membership criteria.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/member-types
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/member-types Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupMemberTypeListResult+

Example Response: { "resultCount": 1, "results" : ["VirtualMachine"] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Effective Cloud Native Service Instances that belong to this group.

Returns Effective Cloud Native Service Instances that belong to this group.
This API is applicable only for Groups containing CloudNativeServiceInstance member type.
For Groups containing other member types,it returns an empty list.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/cloud-native-service-instances
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/cloud-native-service-instances?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "cursor" : "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "result_count" : 1, "results" : [ { "display_name" : "CNS-2", "id" : "420e72c9-55e7-a4f7-81bf-673a2af1a6cf" } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get consolidated effective IPAddress translated from this group across site

Returns the consolidated effective IP address members of the specified Group. This is applicable in the case of a
federated/NSX+ environment. The response includes a site-wise list of static and dynamically translated effective IP
address members. If the group evaluation on a site is empty, the response will contain the site-id with empty list.
If a 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 and NSX+ 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.
This API is only available when using VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/consolidated-effective-ip-addresses
Request Headers:
n/a
Query Parameters:
ConsolidatedEffectiveIPListRequestParameters+
Request Body:
n/a

Example Request: Group demo1 have dynamic criteria based on vm name contains 'vm' and 2 static IPs "fd01:0:101:2600:20c:29ff:fe23:eef3","25.1.1.4/30". Request for Group in Federation environment on Paris LM: GET https://{{paris-site-ip}}/global-manager/api/v1/global-infra/domains/default/groups/demo1/members/consolidated-effective-ip-addresses?enforcement_point_path=/global-infra/sites/Paris/enforcement-points/default Request for Group in NSX+ environment on Paris LM: GET https://{{paris-site-ip}}/global-manager/api/v1/global-infra/domains/global/groups/demo1/members/consolidated-effective-ip-addresses?enforcement_point_path=/global-infra/sites/Paris/enforcement-points/default 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": [ "fd01:0:101:2600:20c:29ff:fe23:eef3", "25.1.1.4/30", "10.160.8.45", "10.160.16.77" ] }, { "site_id": "210d7017-5dca-4901-bfcc-c63928215160", "effective_ips": [ "fd01:0:101:2600:20c:29ff:fe23:eef3", "25.1.1.4/30", "10.160.10.118", "10.160.27.172" ] }, { "site_id": "fa8be70f-b592-4cb1-add9-b89ccdfd3ee3", "effective_ips": [ "fd01:0:101:2600:20c:29ff:fe23:eef3", "25.1.1.4/30", "10.160.15.134", "10.160.26.223" ] } ], "cursor": "7806177147493-0" } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Discovered Port Groups that belong to this Group

Get Discovered Port Groups that belong to this Group
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/dvpg
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/dvpg?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "results": [ { "id": "dvpg-1", "display_name": "segment-1", "path": "/infra/segments/segment-1" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Get discovered ports that belong to this Group

Get discovered ports that belong to this Group
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/dvports
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/segment-ports?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "results": [ { "id": "default:4a5a3cd0-6f0a-40b0-a31a-1f55d51e1824", "display_name": "nbokare-10.160.129.166-vdtest-97902/VM-1-10.160.129.166-20190505-122351-03783733@b089f7e1-433f-4ecc-9722-ab5f2b66d391", "path": "/infra/segments/segment-1/ports/default:4a5a3cd0-6f0a-40b0-a31a-1f55d51e1824" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Effective Identity Groups that belong to this group.

Returns Effective Identiy Groups that belong to this group.
This API is applicable only for Groups containing IdentityGroup member type.
For Groups containing other member types,it returns an empty list.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/identity-groups
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/identity-groups?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "cursor": "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "sort_ascending": true, "result_count": 2, "results": [ { "id" : "fcb51d1d-b141-4f5b-a0b9-1063a1470a63", "display_name" : "ADGroup1" }, { "id" : "3eecac54-15e7-4a0d-b418-001052fcfdcd", "display_name" : "ADGroup2" } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get IP addresses that belong to this Group

Get IP addresses that belong to this Group.
This API is applicable for Groups containing either VirtualMachine, VIF,
Segment ,Segment Port or IP Address member type.For Groups containing other
member types,an empty list is returned
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/ip-addresses
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/ip-addresses?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupIPMembersListResult+

Example Response: { "result_count": 3, "results": [ "192.168.0.0/24", "192.168.0.1", "192.168.0.1-192.168.0.100" ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Effective IPGroups that belong to this group.

Returns effective IPGroups that belong to this group.
This API is applicable only for Groups containing IPSet member type.
For Groups containing other member types,it returns an empty list.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/ip-groups
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/ip-groups?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

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: policy_grouping Additional Errors:

Get logical ports that belong to this Group

Get logical ports that belong to this Group
This API is applicable for Groups containing either VirtualMachine, VIF,
Segment or Segment Port member type.For Groups containing other
member types,an empty list is returned.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/logical-ports
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/logical-ports?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "result_count": 2, "results": [ { "id" : "20c1ac1f-58b5-4241-a352-f8e82c4a8c65", "display_name" : "LP-HR1" }, { "id" : "c07005fe-4a9a-47f1-9a1e-2db65a285124", "display_name" : "LP-HR2" } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get logical switches that belong to this Group

Get logical switches that belong to this Group.
This API is applicable for Groups containing Segment member type.
For Groups containing other member types, an empty list is returned.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/logical-switches
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/logical-switches?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "result_count": 2, "results": [ { "id" : "20c1ac1f-58b5-4241-a352-f8e82c4a8c65", "display_name" : "LS-HR1" }, { "id" : "c07005fe-4a9a-47f1-9a1e-2db65a285124", "display_name" : "LS-HR2" } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Effective Physical Server Members that belong to this group.

Returns Effective Physical Server Members that belong to this group.
This API is applicable only for Groups containing Physical Server member type.
For Groups containing other member types,it returns an empty list.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/physical-servers
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/physical-servers?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "cursor" : "00361f148bdc-fe7c-4320-8ef3-594e28d57c87Iws-2", "result_count" : 1, "results" : [ { "display_name" : "PhysicalServer-1", "id" : "420e72c9-55e7-a4f7-81bf-673a2af1a6cf" } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get pods that belong to this Group

Get pods that belong to this Group. This API is applicable for Groups
containing either Pod, Cluster, Namespace, Service member type. For
Groups containing other member types an empty list is returned
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/pods
Request Headers:
n/a
Query Parameters:
ContainerListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/pods?enforcement_point_path=/global-infra/sites/default/enforcement-points/default&cluster_id=6ar43cd0-6f0a-40b0-a31a-1f55d51e1824 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyContainerGroupMembersListResult+

Example Response: { "results": [ { "cluster_id":"6ar43cd0-6f0a-40b0-a31a-1f55d51e1824", "pods":[ { "id": "4a5a3cd0-6f0a-40b0-a31a-1f55d51e1824", "display_name": "Container1" }, { "id": "54R3W356-6f0a-40b0-a31a-1f55d51e1824", "display_name": "Container2" } ] } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Get segment ports that belong to this Group

Get segment ports that belong to this Group
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/segment-ports
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/segment-ports?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "results": [ { "id": "default:4a5a3cd0-6f0a-40b0-a31a-1f55d51e1824", "display_name": "nbokare-10.160.129.166-vdtest-97902/VM-1-10.160.129.166-20190505-122351-03783733@b089f7e1-433f-4ecc-9722-ab5f2b66d391", "path": "/infra/segments/segment-1/ports/default:4a5a3cd0-6f0a-40b0-a31a-1f55d51e1824" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Get segments that belong to this Group

Get segments that belong to this Group
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/segments
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/segments?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "results": [ { "id": "segment-1", "display_name": "segment-1", "path": "/infra/segments/segment-1" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Get effective transport node members that belong to this group

Get effective transport node members that belong to this Group.
This API is applicable only for Groups containing TransportNode member type.
For Groups containing other member types,an empty list is returned.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/transport-nodes
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/transport-nodes?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyGroupMembersListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "id": "5327b241-7fdd-4d41-9e93-76e006b8a4c2", "display_name" : "TransportNode-1" } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Virtual Network Interface instances that belong to this Group

Get Virtual Network Interface instances that belong to this Group.
This API is applicable for Groups containing VirtualNetworkInterface and VirtualMachine member types.
For Groups containing other member types,an empty list is returned.target_id in response
is external_id of VirtualNetworkInterface or VirtualMachine.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/vifs
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/vifs?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VirtualNetworkInterfaceListResult+

Example Response: { "results": [ { "external_id": "564dda4e-bc05-061c-dac7-7a314e0e0c9c-4000", "owner_vm_id": "1778a2b0-7f9b-4c64-806c-bc13d6d60762", "owner_vm_type": "REGULAR", "host_id": "28477562-ea6f-11e9-9c84-f98983786a98", "vm_local_id_on_host": "1", "device_key": "4000", "device_name": "Network adapter 1", "mac_address": "00:0c:29:0e:0c:9c", "ip_address_info": [ { "source": "VM_TOOLS", "ip_addresses": [ "10.170.66.155", "fd01:3:4:2825:c5dc:25a5:fbb9:6762", "fd01:3:4:2825:2c49:a400:48df:23dd", "fd01:3:4:2825:34ca:5670:96e0:6edf", "fd01:3:4:2825:d9e4:5e51:6df6:c93e", "fd01:3:4:2825:b002:86da:30d4:1030", "fd01:3:4:2825:20c:29ff:fe0e:c9c", "fe80::20c:29ff:fe0e:c9c", "fd01:3:4:2825:eddf:5879:67d5:6293", "fd01:3:4:2825:f027:6316:8de5:3a29" ] } ], "resource_type": "VirtualNetworkInterface", "display_name": "Network adapter 1", "_last_sync_time": 0 } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Get Virtual machines that belong to this Group

Get Virtual machines that belong to this Group.
This API is applicable for Groups containing VirtualMachine,member type.
For Groups containing other member types,an empty list is returned.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/members/virtual-machines
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/members/virtual-machines?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
RealizedVirtualMachineListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "RealizedVirtualMachine", "id": "564de333-15ac-de52-da90-974fe099a17b", "display_name": "1-vm_ubuntu_1404_srv_64-local-586-bb9bbaf4-7f29-4e7a-9216-ef33890bf081", "path": "/infra/realized-state/enforcement-points/nsx-1/virtual-machines/564de333-15ac-de52-da90-974fe099a17b", "parent_path": "/infra/realized-state/enforcement-points/nsx-1", "relative_path": "564de333-15ac-de52-da90-974fe099a17b", "intent_reference": [], "realization_specific_identifier": "564de333-15ac-de52-da90-974fe099a17b", "alarms": [], "state": "REALIZED", "runtime_status": "UNKNOWN", "compute_ids": [ "moIdOnHost:1", "hostLocalId:1", "locationId:564de333-15ac-de52-da90-974fe099a17b", "instanceUuid:bb9bbaf4-7f29-4e7a-9216-ef33890bf081", "externalId:564de333-15ac-de52-da90-974fe099a17b", "biosUuid:564de333-15ac-de52-da90-974fe099a17b" ], "power_state": "vm_running", "_create_user": "system", "_create_time": 1519383616259, "_last_modified_user": "system", "_last_modified_time": 1519383616259, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get tags used to define conditions inside a Group

Get tags used to define conditions inside a Group. Also
includes tags inside nested groups.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/tags
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/d1/groups/g1/tags Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupTagsList+

Example Response: { "result_count": 2, "results": [ { "member_type" : "IPSet", "tags" : [ "Web", "DB", "App" ] }, { "member_type" : "VirtualMachine", "tags" : [ "Linux", "Windows", "Mac" ] } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given object is a member

Get policy groups for which the given object is a member.
In Federation environment, if the given object is a global entity
(eg: global segment) and if the entity is not stretched to the site
specified in the enforcement_point_path parameter,then the following is returned:-
1)If the entity is a member of any global group and that group is stretched
to the enforcement_point_path site,then the API returns an empty list.
2)If the entity is not a member of any global group,this API returns
an 'invalid path' error message.
3)If both the entity and its corresponding groups are stretched to the
enforcement_point_path site , then the API returns the groups list.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/group-associations
Request Headers:
n/a
Query Parameters:
IntentEnforcementPointListRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/group-associations?intent_path=/global-infra/segment/s1&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308", } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given Identity Group is a member

Get policy groups for which the given Identity Group is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/identity-group-associations
Request Headers:
n/a
Query Parameters:
IdentityGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/identity-group-associations?identity_group_external_id=564de333-15ac-de52-da90-974fe099a17b&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given IP address is a member

Get policy groups for which the given IP address is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/ip-address-group-associations
Request Headers:
n/a
Query Parameters:
IPAddressGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/ip-address-group-associations?ip_address=10.1.19.10&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given Physical Server is a member

Get policy groups for which the given Physical Server is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/physical-server-group-associations
Request Headers:
n/a
Query Parameters:
BMSGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/physical-server-group-associations?physical_server_external_id=564de333-15ac-de52-da90-974fe099a17b&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given pod is a member

Get policy groups for which the given pod is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/pod-group-associations
Request Headers:
n/a
Query Parameters:
ContainerApplicationInstanceGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/pod-group-associations?pod_id=64dde333-15ac-de52-da90-974de459a17b&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given VM is a member

Get policy groups for which the given VM is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/virtual-machine-group-associations
Request Headers:
n/a
Query Parameters:
VMGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/virtual-machine-group-associations?vm_external_id=564de333-15ac-de52-da90-974fe099a17b&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Get groups for which the given VIF is a member

Get policy groups for which the given VIF is a member.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/virtual-network-interface-group-associations
Request Headers:
n/a
Query Parameters:
VIFGroupAssociationRequestParams+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/virtual-network-interface-group-associations?vif_external_id=564de333-15ac-de52-da90-974fe099a17b&enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceForEPListResult+

Example Response: { "result_count": 2, "results": [ { { "path" : "/infra/domains/domain1/groups/g1", "target_id" : "g1", "target_display_name" : "group-1", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" }, { "path" : "/infra/domains/domain1/groups/g2", "target_id" : "g2", "target_display_name" : "group-2", "target_type" : "DOMAIN_GROUP", "is_valid" : "true", "owner_id": "4c5c5516-087a-47cd-9fba-a7669775d308", "origin_site_id": "4c5c5516-087a-47cd-9fba-a7669775d308" } } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Policy: Inventory: Groups: Groups

Associated URIs:

List Groups for a domain

List Groups for a domain. Groups can be filtered using member_types query parameter,
which returns the groups that contains the specified member types. Multiple member types
can be provided as comma separated values. The API also return groups having member
type that are subset of provided member_types.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups
Request Headers:
n/a
Query Parameters:
GroupListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "Group", "description": "web group", "id": "webgroup", "display_name": "web group", "path": "/infra/domains/vmc/groups/webgroup", "parent_path": "/infra/domains/vmc", "relative_path": "webgroup", "expression": [ { "resource_type": "Condition", "member_type": "VirtualMachine", "value": "webvm", "key": "Tag", "operator": "EQUALS", "_protection": "NOT_PROTECTED" } ], "_create_user": "admin", "_create_time": 1517308749250, "_last_modified_user": "admin", "_last_modified_time": 1517308749250, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_grouping Additional Errors:

Delete Group

Delete the group with group_id under domain domain_id. The force query parameter supported on the
API is deprecated. Usage of the force query parameter does not alter the behaviour of the API. The
API just ignores the force parameter.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}
Request Headers:
n/a
Query Parameters:
GroupDeleteRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Read group

Read group This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Group+

Example Response: { "resource_type": "Group", "description": "web group", "id": "webgroup", "display_name": "web group", "path": "/infra/domains/vmc/groups/webgroup", "parent_path": "/infra/domains/vmc", "relative_path": "webgroup", "expression": [ { "resource_type": "Condition", "member_type": "VirtualMachine", "value": "webvm", "key": "Tag", "operator": "EQUALS", "_protection": "NOT_PROTECTED" } ], "_create_user": "admin", "_create_time": 1517308749250, "_last_modified_user": "admin", "_last_modified_time": 1517308749250, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_grouping Additional Errors:

Create or update a group

If a group with the group-id is not already present, create a new group.
If it already exists, update the group.
Avoid creating groups with multiple MACAddressExpression and IPAddressExpression.
In future releases, group will be restricted to contain a single
MACAddressExpression and IPAddressExpression along with other expressions.
To group IPAddresses or MACAddresses, use nested groups instead of multiple
IPAddressExpressions/MACAddressExpression.
Group created with Kubernetes membership criteria includes only Antrea reported inventory as its members.
Once created, Groups with Identity (Directory) Group members should be updated with the new Distinguished Name in case it is changed on AD Server.
Maximum of 500 malicious IP Groups (i.e Group with criteria having IPAddress equals All MALICIOUS_IP) should be created.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Group+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup { "expression": [ { "member_type": "VirtualMachine", "value": "webvm", "key": "Tag", "operator": "EQUALS", "resource_type": "Condition" } ], "description": "web group", "display_name": "web group", "_revision":0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Group+

Example Response: { "resource_type": "Group", "description": "web group", "id": "webgroup", "display_name": "web group", "path": "/infra/domains/vmc/groups/webgroup", "parent_path": "/infra/domains/vmc", "relative_path": "webgroup", "expression": [ { "resource_type": "Condition", "member_type": "VirtualMachine", "value": "webvm", "key": "Tag", "operator": "EQUALS", "_protection": "NOT_PROTECTED" } ], "_create_user": "admin", "_create_time": 1517308749250, "_last_modified_user": "admin", "_last_modified_time": 1517308749250, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_grouping Additional Errors:

Patch a group

If a group with the group-id is not already present, create a new group.
If it already exists, patch the group.
Group created with Kubernetes membership criteria includes only Antrea reported inventory as its members.
Once created, Groups with Identity (Directory) Group members should be updated with the new Distinguished Name in case it is changed on AD Server.
Maximum of 500 malicious IP Groups (i.e Group with criteria having IPAddress equals All MALICIOUS_IP) should be created.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Group+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup { "expression": [ { "member_type": "VirtualMachine", "value": "webvm", "key": "Tag", "operator": "EQUALS", "resource_type": "Condition" } ], "description": "web group", "display_name": "web group" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Patch a group external ID expression

If a group ExternalIDexpression with the expression-id is not already present, create a new ExternalIDexpresison.
If it already exists, replace the existing ExternalIDexpression.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/external-id-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ExternalIDExpression+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/external-id-expressions/exp1 { "member_type": "VirtualMachine", "external_ids": [ "00989582-0920-459e-a8a6-ebf65a140aa9" ], "resource_type": "ExternalIDExpression", "id": "exp1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Add or Remove external id based members from/to a Group

It will add or remove the specified members having external ID for a given expression of a group.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/external-id-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
GroupMemberActionParameters+
Request Body:
GroupMemberList+

Example Request: POST /global-infra/domains/default/groups/VMGroup/external-id-expressions/vmexp?action=add { "members": [ "527ef6f5-0fea-b910-1efb-0991e41e44cd", "527ef6f5-0fea-b910-1efb-0991e41e44ce" ] } POST /global-infra/domains/default/groups/VMGroup/external-id-expressions/vmexp?action=remove { "members": [ "527ef6f5-0fea-b910-1efb-0991e41e44cd", "527ef6f5-0fea-b910-1efb-0991e41e44ce" ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_grouping Additional Errors:

Delete Group External ID Expression

Delete Group External ID Expression This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/external-id-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/external-id-expressions/exp1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Delete Group IPAddressExpression

Delete Group IPAddressExpression This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/ip-address-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/ip-address-expressions/exp1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Patch a group IP Address expression

If a group IPAddressExpression with the expression-id is not already present, create a new IPAddressExpression.
If it already exists, replace the existing IPAddressExpression.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/ip-address-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
IPAddressExpression+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/ip-address-expressions/exp1 { "ip_addresses": [ "10.110.9.21", "10.112.9.22" ], "resource_type": "IPAddressExpression", "id" : "exp1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Add or Remove IP Addresses from/to a Group

It will add or remove the specified IP Addresses from a given expression of a group.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/ip-address-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
GroupMemberActionParameters+
Request Body:
IPAddressList+

Example Request: POST /global-infra/domains/default/groups/IPGroup/ip-address-expressions/ipaddressexp?action=add { "ip_addresses": [ "10.110.9.4-10.110.9.10", "10.110.9.3/24" ] } POST /global-infra/domains/default/groups/IPGroup/ip-address-expressions/ipaddressexp?action=remove { "ip_addresses": [ "10.110.9.4-10.110.9.10", "10.110.9.3/24" ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_grouping Additional Errors:

Add or Remove MAC Addresses from/to a Group

It will add or remove the specified MAC Addresses from a given expression of a group.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/mac-address-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
GroupMemberActionParameters+
Request Body:
MACAddressList+

Example Request: POST /global-infra/domains/default/groups/MACGroup/mac-address-expressions/macaddressexp?action=add { "mac_addresses": [ "00:0a:95:9d:68:16", "00:0a:95:9d:68:17" ] } POST /global-infra/domains/default/groups/MACGroup/mac-address-expressions/macaddressexp?action=remove { "mac_addresses": [ "00:0a:95:9d:68:16", "00:0a:95:9d:68:17" ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_grouping Additional Errors:

Patch a group MAC Address expression

If a group MACAddressExpression with the expression-id is not already present, create a new MACAddressExpression.
If it already exists, replace the existing MACAddressExpression.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/mac-address-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
MACAddressExpression+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/mac-address-expressions/exp1 { "mac_addresses": [ "00:0a:95:9d:68:21", "00:0a:95:9d:68:22" ], "resource_type": "MACAddressExpression", "id" : "exp1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Delete Group MACAddressExpression

Delete Group MACAddressExpression This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/mac-address-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/mac-address-expressions/exp1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Patch a group path expression

If a group path_expression with the expression-id is not already present, create a new pathexpresison.
If it already exists, replace the existing pathexpression.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/path-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
PathExpression+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/path-expression/exp1 { "paths": [ "/global-infra/domains/default/groups/childgroup8" ], "resource_type": "PathExpression", "id": "exp1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Delete Group Path Expression

Delete Group Path Expression This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/path-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/vmc/groups/webgroup/path-expressions/exp1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_grouping Additional Errors:

Add or Remove path based members from/to a Group

It will add or remove the specified members having path for a given expression of a group.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/path-expressions/{expression-id}
Request Headers:
n/a
Query Parameters:
GroupMemberActionParameters+
Request Body:
GroupMemberList+

Example Request: POST /global-infra/domains/default/groups/NestedGroup/path-expressions/pathexp?action=add { "members": [ "/global-infra/domains/default/groups/GroupTag", "/global-infra/domains/default/groups/VMGroup" ] } POST /global-infra/domains/default/groups/NestedGroup/path-expressions/pathexp?action=remove { "members": [ "/global-infra/domains/default/groups/GroupTag", "/global-infra/domains/default/groups/VMGroup" ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_grouping Additional Errors:

Policy: Inventory: Profiles

Policy: Inventory: Profiles: Context Profiles

Associated URIs:

Get PolicyContextProfiles

Get all PolicyContextProfiles
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles
Request Headers:
n/a
Query Parameters:
PolicyContextProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/ { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type":"PolicyContextProfile", "display_name":"testPolicyContextProfile", "description":"Test Policy Context Profile", "attributes":[ { "key":"APP_ID", "value":[ "TLS" ], "datatype":"STRING", "sub_attributes":[ { "key":"TLS_VERSION", "value": [ "TLS_V13" ], "datatype":"STRING" }, { "key":"ENCRYPTION_ALGORITHM", "value": [ "TLS_RSA_EXPORT_WITH_RC4_40_MD5" ], "datatype":"STRING" } ], }, { "key":"DOMAIN_NAME", "value": [ "*.office365.com" ], "datatype":"STRING" } ] } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyContextProfileListResult+

Required Permissions: read Feature: policy_context_profile Additional Errors:

Create PolicyContextProfile

Creates/Updates a PolicyContextProfile, which encapsulates attribute and
sub-attributes of network services.
Rules for using attributes and sub-attributes in single PolicyContextProfile
1. One type of attribute can't have multiple occurrences. ( Eg. -
Attribute type APP_ID can be used only once per PolicyContextProfile.)
2. For specifying multiple values for an attribute, provide them in an array.
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://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes
5. Do not create context profile with "custom_attributes" id
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/{context-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
PolicyContextProfile+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/testPolicyContextProfile { "resource_type":"PolicyContextProfile", "display_name":"testPolicyContextProfile", "description":"Test Policy Context Profile", "attributes":[ { "key":"APP_ID", "value":[ "SSL" ], "datatype":"STRING", "sub_attributes":[ { "key":"TLS_VERSION", "value": [ "TLS_V13" ], "datatype":"STRING" }, { "key":"TLS_CIPHER_SUITE", "value": [ "TLS_RSA_EXPORT_WITH_RC4_40_MD5" ], "datatype":"STRING" } ] }, { "key":"DOMAIN_NAME", "value": [ "*.office365.com" ], "datatype":"STRING" } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyContextProfile+

Required Permissions: crud Feature: policy_context_profile Additional Errors:

Get PolicyContextProfile

Get a single PolicyContextProfile by id
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/{context-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/testPolicyContextProfile { "resource_type":"PolicyContextProfile", "display_name":"testPolicyContextProfile", "description":"Test Policy Context Profile", "attributes":[ { "key":"APP_ID", "value":[ "TLS" ], "datatype":"STRING", "sub_attributes":[ { "key":"TLS_VERSION", "value": [ "TLS_V13" ], "datatype":"STRING" }, { "key":"ENCRYPTION_ALGORITHM", "value": [ "TLS_RSA_EXPORT_WITH_RC4_40_MD5" ], "datatype":"STRING" } ], }, { "key":"DOMAIN_NAME", "value": [ "*.office365.com" ], "datatype":"STRING" } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyContextProfile+

Required Permissions: read Feature: policy_context_profile Additional Errors:

Delete Policy Context Profile

Deletes the specified Policy Context Profile. If the Policy Context
Profile is consumed in a firewall rule, it won't get deleted.
Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/{context-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideDeleteRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/testPolicyContextProfile Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_context_profile Additional Errors:

Create PolicyContextProfile

Creates/Updates a PolicyContextProfile, which encapsulates attribute and
sub-attributes of network services.
Rules for using attributes and sub-attributes in single PolicyContextProfile
1. One type of attribute can't have multiple occurrences. ( Eg. -
Attribute type APP_ID can be used only once per PolicyContextProfile.)
2. For specifying multiple values for an attribute, provide them in an array.
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://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes
5. Do not create context profile with "custom_attributes" id
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/{context-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
PolicyContextProfile+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/testPolicyContextProfile { "resource_type":"PolicyContextProfile", "display_name":"testPolicyContextProfile", "description":"Test Policy Context Profile", "attributes":[ { "key":"APP_ID", "value":[ "SSL" ], "datatype":"STRING", "sub_attributes":[ { "key":"TLS_VERSION", "value":[ "TLS_V13" ], "datatype":"STRING" }, { "key":"TLS_CIPHER_SUITE", "value":[ "TLS_RSA_EXPORT_WITH_RC4_40_MD5" ], "datatype":"STRING" } ] }, { "key":"DOMAIN_NAME", "value":[ "*.office365.com" ], "datatype":"STRING" } ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_context_profile Additional Errors:

List Policy Context Profile supported attributes and sub-attributes

Returns supported attribute and sub-attributes for specified
attribute key with their supported values, if provided in query/request
parameter, else will fetch all supported attributes and sub-attributes for
all supported attribute keys.
Alternatively, to get a list of supported attributes and sub-attributes fire the following REST API
GET https://<policy-mgr>/policy/api/v1/infra/context-profiles/attributes
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/attributes
Request Headers:
n/a
Query Parameters:
ProfileSupportedAttributesListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/attributes Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyContextProfileListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "attributes":[ { "key":"APP_ID", "value": [ "SSL" ], "datatype":"STRING", "description":"SSL (Secure Sockets Layer) is a cryptographic protocol that provides security over the Internet.", "sub_attributes":[ { "key":"TLS_VERSION", "value": [ "TLS_V10", "TLS_V11", "TLS_V12", "TLS_V13" ], "datatype":"STRING" }, { "key":"TLS_CIPHER_SUITE", "value": [ "TLS_RSA_EXPORT_WITH_RC4_40_MD5", "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", ] "datatype":"STRING" } ], }, { "key":"DOMAIN_NAME", "value": [ "*.office365.com" ], "datatype":"STRING", "description":"Office 365 url" } ] } ] } Required Permissions: read Feature: policy_context_profile Additional Errors:

Adds/Removes custom attribute values from list (Deprecated)

This API adds/removes custom attribute values from list for a given attribute key.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/custom-attributes
Request Headers:
n/a
Query Parameters:
CustomAttributeAction+
Request Body:
PolicyAttributes+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/custom-attributes?action=add Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: { "key":"DOMAIN_NAME", "value":[ "*.office365.com", "*.azure.com" ], "datatype":"STRING" } Required Permissions: crud Feature: policy_context_profile Additional Errors:

Update custom object attribute value list for given attribute key (Deprecated)

This API updates custom attribute value list for given key.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/custom-attributes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
PolicyAttributes+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/custom-attributes Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: { "key":"DOMAIN_NAME", "value":[ "*.office365.com", "*.azure.com" ], "datatype":"STRING" } Required Permissions: crud Feature: policy_context_profile Additional Errors:

Adds/Removes custom attribute values from list

This API adds/removes custom attribute values from list for a given attribute key.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/custom-attributes/default
Request Headers:
n/a
Query Parameters:
CustomAttributeAction+
Request Body:
PolicyCustomAttributes+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/custom-attributes/default?action=add Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: { "key":"DOMAIN_NAME", "value":[ "*.office365.com", "*.azure.com" ], "datatype":"STRING" } Required Permissions: crud Feature: policy_context_profile Additional Errors:

Update custom object attribute value list for given attribute key

This API updates custom attribute value list for given key.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/custom-attributes/default
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
PolicyCustomAttributes+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/custom-attributes/default Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: { "key":"DOMAIN_NAME", "value":[ "*.office365.com", "*.azure.com" ], "datatype":"STRING" } Required Permissions: crud Feature: policy_context_profile Additional Errors:

Update custom object attribute value list for given attribute key

This API updates custom attribute value list for given key.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/context-profiles/custom-attributes/default
Request Headers:
n/a
Query Parameters:
ProfileSupportedAttributesListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/context-profiles/custom-attributes/default?attribute_key=CUSTOM_URL Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyContextProfileListResult+

Example Response: { "key":"DOMAIN_NAME", "value":[ "*.office365.com", "*.azure.com" ], "datatype":"STRING" } Required Permissions: read Feature: policy_context_profile Additional Errors:

Policy: Inventory

Policy: Inventory: Services

List Services for infra

Paginated list of Services for infra.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/services
Request Headers:
n/a
Query Parameters:
ServiceListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/services Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ServiceListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 402, "results": [ { "resource_type": "Service", "description": "AD Server", "id": "AD_Server", "display_name": "AD Server", "path": "/infra/services/AD_Server", "parent_path": "/infra/services/AD_Server", "relative_path": "AD_Server", "service_entries": [ { "resource_type": "L4PortSetServiceEntry", "id": "AD_Server", "display_name": "AD Server", "path": "/infra/services/AD_Server/service-entries/AD_Server", "parent_path": "/infra/services/AD_Server", "relative_path": "AD_Server", "destination_ports": [ "1024" ], "l4_protocol": "TCP", "_create_user": "system", "_create_time": 1517296380484, "_last_modified_user": "system", "_last_modified_time": 1517296380484, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "_create_user": "system", "_create_time": 1517296380468, "_last_modified_user": "system", "_last_modified_time": 1517296380468, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } } Required Permissions: read Feature: policy_services Additional Errors:

Patch a Service

Create a new service if a service with the given ID does not already
exist. Creates new service entries if populated in the service.
If a service with the given ID already exists, patch the service
including the nested service entries.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Service+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http { "description": "My HTTP Patched", "display_name": "My HTTP", "service_entries": [ { "resource_type": "L4PortSetServiceEntry", "display_name": "MyHttpEntry", "destination_ports": [ "8080" ], "l4_protocol": "TCP" } ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_services Additional Errors:

Delete Service

Delete Service This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_services Additional Errors:

Read a service

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

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Service+

Example Response: { "resource_type": "Service", "description": "My HTTP", "id": "my-http", "display_name": "My HTTP", "path": "/infra/services/my-http", "parent_path": "/infra/services/my-http", "relative_path": "my-http", "service_entries": [ { "resource_type": "L4PortSetServiceEntry", "id": "MyHttpEntry", "display_name": "MyHttpEntry", "path": "/infra/services/my-http/service-entries/MyHttpEntry", "parent_path": "/infra/services/my-http", "relative_path": "MyHttpEntry", "destination_ports": [ "8080" ], "l4_protocol": "TCP", "_create_user": "admin", "_create_time": 1517310677617, "_last_modified_user": "admin", "_last_modified_time": 1517310677617, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "_create_user": "admin", "_create_time": 1517310677604, "_last_modified_user": "admin", "_last_modified_time": 1517310677604, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_services Additional Errors:

Create or update a Service

Create a new service if a service with the given ID does not already
exist. Creates new service entries if populated in the service.
If a service with the given ID already exists, update the service
including the nested service entries. This is a full replace.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Service+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http { "description": "My HTTP", "display_name": "My HTTP", "_revision": 0, "service_entries": [ { "resource_type": "L4PortSetServiceEntry", "display_name": "MyHttpEntry", "destination_ports": [ "8080" ], "l4_protocol": "TCP" } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Service+

Example Response: { "resource_type": "Service", "description": "My HTTP", "id": "my-http", "display_name": "My HTTP", "path": "/infra/services/my-http", "parent_path": "/infra/services/my-http", "relative_path": "my-http", "service_entries": [ { "resource_type": "L4PortSetServiceEntry", "id": "MyHttpEntry", "display_name": "MyHttpEntry", "path": "/infra/services/my-http/service-entries/MyHttpEntry", "parent_path": "/infra/services/my-http", "relative_path": "MyHttpEntry", "destination_ports": [ "8080" ], "l4_protocol": "TCP", "_create_user": "admin", "_create_time": 1517310677617, "_last_modified_user": "admin", "_last_modified_time": 1517310677617, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "_create_user": "admin", "_create_time": 1517310677604, "_last_modified_user": "admin", "_last_modified_time": 1517310677604, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_services Additional Errors:

List Service entries for the given service

Paginated list of Service entries for the given service
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}/service-entries
Request Headers:
n/a
Query Parameters:
ServiceEntryListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http/service-entries Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ServiceEntryListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 2, "results": [ { "resource_type": "L4PortSetServiceEntry", "id": "MyHttpEntry", "display_name": "MyHttpEntry", "path": "/infra/services/my-http/service-entries/MyHttpEntry", "parent_path": "/infra/services/my-http", "relative_path": "MyHttpEntry", "destination_ports": [ "8080" ], "l4_protocol": "TCP", "_create_user": "admin", "_create_time": 1517310677617, "_last_modified_user": "admin", "_last_modified_time": 1517310677617, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "L4PortSetServiceEntry", "id": "https", "display_name": "MyHttps", "path": "/infra/services/my-http/service-entries/https", "parent_path": "/infra/services/my-http", "relative_path": "https", "destination_ports": [ "7443" ], "l4_protocol": "TCP", "_create_user": "admin", "_create_time": 1517316057383, "_last_modified_user": "admin", "_last_modified_time": 1517316057383, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_services Additional Errors:

Patch a ServiceEntry

If a service entry with the service-entry-id is not already present,
create a new service entry. If it already exists, patch the service
entry.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}/service-entries/{service-entry-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ALGTypeServiceEntry+
EtherTypeServiceEntry+
ICMPTypeServiceEntry+
IGMPTypeServiceEntry+
IPProtocolServiceEntry+
L4PortSetServiceEntry+
NestedServiceServiceEntry+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http/service-entries/https { "resource_type": "L4PortSetServiceEntry", "display_name": "MyHttps", "destination_ports": [ "9443" ], "l4_protocol": "TCP" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_services Additional Errors:

Delete Service entry

Delete Service entry This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}/service-entries/{service-entry-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http/service-entries/https Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_services Additional Errors:

Service entry

Service entry This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}/service-entries/{service-entry-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http/service-entries/https Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ALGTypeServiceEntry+
EtherTypeServiceEntry+
ICMPTypeServiceEntry+
IGMPTypeServiceEntry+
IPProtocolServiceEntry+
L4PortSetServiceEntry+
NestedServiceServiceEntry+

Example Response: { "resource_type": "L4PortSetServiceEntry", "id": "https", "display_name": "MyHttps", "path": "/infra/services/my-http/service-entries/https", "parent_path": "/infra/services/my-http", "relative_path": "https", "destination_ports": [ "7443" ], "l4_protocol": "TCP", "_create_user": "admin", "_create_time": 1517316057383, "_last_modified_user": "admin", "_last_modified_time": 1517316057383, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_services Additional Errors:

Create or update a ServiceEntry

If a service entry with the service-entry-id is not already present,
create a new service entry. If it already exists, update the service
entry.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/services/{service-id}/service-entries/{service-entry-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ALGTypeServiceEntry+
EtherTypeServiceEntry+
ICMPTypeServiceEntry+
IGMPTypeServiceEntry+
IPProtocolServiceEntry+
L4PortSetServiceEntry+
NestedServiceServiceEntry+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/services/my-http/service-entries/https { "resource_type": "L4PortSetServiceEntry", "display_name": "MyHttps", "destination_ports": [ "7443" ], "l4_protocol": "TCP", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ALGTypeServiceEntry+
EtherTypeServiceEntry+
ICMPTypeServiceEntry+
IGMPTypeServiceEntry+
IPProtocolServiceEntry+
L4PortSetServiceEntry+
NestedServiceServiceEntry+

Example Response: { "resource_type": "L4PortSetServiceEntry", "id": "https", "display_name": "MyHttps", "path": "/infra/services/my-http/service-entries/https", "parent_path": "/infra/services/my-http", "relative_path": "https", "destination_ports": [ "7443" ], "l4_protocol": "TCP", "_create_user": "admin", "_create_time": 1517316057383, "_last_modified_user": "admin", "_last_modified_time": 1517316057383, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_services Additional Errors:

Policy: Inventory: Tags

List all unique tags.

Returns paginated list of all unique tags. Supports filtering by scope, tag and
source from which tags are synced. Supports starts with, ends with, equals and
contains operators on scope and tag values.
To filter tags by starts with on scope or tag, use '*' as suffix after the value.
To filter tags by ends with on scope or tag, use '*' as prefix before the value.
To filter tags by contain on scope or tag, use '*' as prefix and suffix on the value.
Below special characters in the filter value needs to be escaped with hex values.
- Character '&' needs to be escaped as '%26'
- Character '[' needs to be escaped as '%5B'
- Character ']' needs to be escaped as '%5D'
- Character '+' needs to be escaped as '%2B'
- Character '#' needs to be escaped as '%23'
Sort option for list of unique tags is available only on tag and scope properties.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tags
Request Headers:
n/a
Query Parameters:
TagInfoListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tags Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TagInfoListResult+

Example Response: { "results": [ { "scope": "os", "tag": "windows", "tagged_objects": 250 }, { "scope": "os", "tag": "ubantu", "tagged_objects": 100 } ], "result_count": 2 } { "results": [ { "scope": "os", "tag": "windows", "tagged_objects": 250 } ], "result_count": 1 } { "results": [ { "scope": "os", "tag": "ubantu", "tagged_objects": 100 } ], "result_count": 1 } Required Permissions: read Feature: policy_vm_vm_tags Additional Errors:

List all objects assigned with matching scope and tag values

Paginated list of all objects assigned with matching scope and tag values. Objects
are represented in form of resource reference. Sort option is available only on
target_type and target_display_name properties.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tags/effective-resources
Request Headers:
n/a
Query Parameters:
TaggedObjectsListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tags/effective-resources?scope=type&tag=app Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyResourceReferenceListResult+

Example Response: { "results": [ { "target_type": "VirtualMachine", "target_display_name": "App-VM-1", "target_id": "564d8b81-983d-b8ef-686b-161205939c58" }, { "target_type": "Group", "target_display_name": "app-vms", "path": "/infra/domains/default/groups/app-vms" } ], "result_count": 2 } Required Permissions: read Feature: policy_vm_vm_tags Additional Errors:

Assign or Unassign tag on multiple Virtual Machines.

Tag can be assigned or unassigned on multiple objects. Supported object type is
restricted to Virtual Machine for now and support for other objects will be added
later. Permissions for tag bulk operation would be similar to virtual machine
tag permissions.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tags/tag-operations/{operation-id}
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
TagBulkOperation+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/tags/tag-operations/win-vm-update { "tag": { "scope": "os", "tag": "windows" }, "apply_to": [ { "resource_type": "VirtualMachine", "resource_ids": [ "ee98a906-7b84-42ae-9413-d812cdb64543" ] } ], "remove_from":[ { "resource_type": "VirtualMachine", "resource_ids": [ "564d8b81-983d-b8ef-686b-161205939c58" ] } ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TagBulkOperation+

Example Response: { "tag": { "scope": "os", "tag": "windows" }, "apply_to": [ { "resource_type": "VirtualMachine", "resource_ids": [ "ee98a906-7b84-42ae-9413-d812cdb64543" ] } ], "remove_from":[ { "resource_type": "VirtualMachine", "resource_ids": [ "564d8b81-983d-b8ef-686b-161205939c58" ] } ], "resource_type": "TagBulkOperation", "id": "win-vm-update", "display_name": "win-vm-update", "path": "/infra/tags/tag-operations/win-vm-update", "relative_path": "win-vm-update", "parent_path": "/infra/tags/tag-operations", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544641564432, "_last_modified_user": "admin", "_last_modified_time": 1544641564432, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_vm_vm_tags Additional Errors:

Get details of tag bulk operation request

Get details of tag bulk operation request with which tag is applied or removed
on virtual machines.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tags/tag-operations/{operation-id}
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tags/tag-operations/win-vm-update Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TagBulkOperation+

Example Response: { "tag": { "scope": "os", "tag": "windows" }, "apply_to": [ { "resource_type": "VirtualMachine", "resource_ids": [ "ee98a906-7b84-42ae-9413-d812cdb64543" ] } ], "remove_from":[ { "resource_type": "VirtualMachine", "resource_ids": [ "564d8b81-983d-b8ef-686b-161205939c58" ] } ], "resource_type": "TagBulkOperation", "id": "win-vm-update", "display_name": "win-vm-update", "path": "/infra/tags/tag-operations/win-vm-update", "relative_path": "win-vm-update", "parent_path": "/infra/tags/tag-operations", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544641564432, "_last_modified_user": "admin", "_last_modified_time": 1544641564432, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_vm_vm_tags Additional Errors:

Get status of tag bulk operation

Get status of tag bulk operation with details of tag operation on each virtual machine.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tags/tag-operations/{operation-id}/status
Request Headers:
n/a
Query Parameters:
RealizationListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tags/tag-operations/win-vm-update/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TagBulkOperationStatus+

Example Response: { "tag": { "scope": "os", "tag": "windows" }, "status": "Error", "apply_to": [ { "resource_type": "VirtualMachine", "resource_tag_status": [ { "resource_id": "e98a906-7b84-42ae-9413-d812cdb64543", "tag_status": "Success" } ] } ], "remove_from":[ { "resource_type": "VirtualMachine", "resource_tag_status": [ { "resource_id": "564d8b81-983d-b8ef-686b-161205939c58", "tag_status": "Error", "details": "VM with external id not found" } ] } ], } Required Permissions: crud Feature: policy_vm_vm_tags Additional Errors:

Policy: Inventory: Vm

List all VM tag replication policies

List all VM tag replication policies.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/vm-tag-replication-policies
Request Headers:
n/a
Query Parameters:
VMTagReplicationPolicyListRequestParameters+
Request Body:
n/a

Example Request: GET https://<global-manager>/global_manager/api/v1/global-infra/vm-tag-replication-policies Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VMTagReplicationPolicyListResult+

Example Response: { "result_count": 1, "results": [ { "display_name": "VMTag replication policy 1", "description": "VMTag replication policy 1", "protected_site": "/global-infra/sites/pune", "recovery_sites": [ "/global-infra/sites/london" ], "vm_match_criteria": "MATCH_NSX_ATTACHMENT_ID", "groups": [ "/global-infra/domains/d1/groups/g1", "/global-infra/domains/d2/groups/g2" ], "id": "policy1", "path": "/global-infra/vm-tag-replication-policies/policy1", "_revision": 2 } ] } Required Permissions: read Feature: site_admin Additional Errors:

Patch the VM tag replication policy

Patch the VM tag replication policy.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/vm-tag-replication-policies/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
VMTagReplicationPolicy+

Example Request: PATCH https://<global-manager>/global_manager/api/v1/global-infra/vm-tag-replication-policies/policy1 { "display_name": "VMTag replication policy 1", "description": "VMTag replication policy 1", "protected_site": "/global-infra/sites/pune", "recovery_sites": [ "/global-infra/sites/london" ], "vm_match_criteria": "MATCH_BIOS_UUID_NAME", "groups": [ "/global-infra/domains/d1/groups/g1", "/global-infra/domains/d2/groups/g2" ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Create or update the VM tag replication policy

Create or update the VM tag replication policy.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/vm-tag-replication-policies/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
VMTagReplicationPolicy+

Example Request: PUT https://<global-manager>/global_manager/api/v1/global-infra/vm-tag-replication-policies/policy1 { "display_name": "VMTag replication policy 1", "description": "VMTag replication policy 1", "protected_site": "/global-infra/sites/pune", "recovery_sites": [ "/global-infra/sites/london" ], "groups": [ "/global-infra/domains/d1/groups/g1", "/global-infra/domains/d2/groups/g2" ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VMTagReplicationPolicy+

Example Response: { "display_name": "VMTag replication policy 1", "description": "VMTag replication policy 1", "protected_site": "/global-infra/sites/pune", "recovery_sites": [ "/global-infra/sites/london" ], "vm_match_criteria": "MATCH_NSX_ATTACHMENT_ID", "groups": [ "/global-infra/domains/d1/groups/g1", "/global-infra/domains/d2/groups/g2" ], "id": "policy1", "path": "/global-infra/vm-tag-replication-policies/policy1", "_revision": 2 } Required Permissions: crud Feature: site_admin Additional Errors:

Get the VM tag replication policy specified by id

Get the VM tag replication policy specified by id.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/vm-tag-replication-policies/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<global-manager>/global_manager/api/v1/global-infra/vm-tag-replication-policies/policy1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VMTagReplicationPolicy+

Example Response: { "display_name": "VMTag replication policy 1", "description": "VMTag replication policy 1", "protected_site": "/global-infra/sites/pune", "recovery_sites": [ "/global-infra/sites/london" ], "vm_match_criteria": "MATCH_NSX_ATTACHMENT_ID", "groups": [ "/global-infra/domains/d1/groups/g1", "/global-infra/domains/d2/groups/g2" ], "id": "policy1", "path": "/global-infra/vm-tag-replication-policies/policy1", "_revision": 2 } Required Permissions: read Feature: site_admin Additional Errors:

Delete the VM tag replication policy specified by id

Delete the VM tag replication policy specified by id.
Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/vm-tag-replication-policies/{id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<global-manager>/global_manager/api/v1/global-infra/vm-tag-replication-policies/policy1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: site_admin Additional Errors:

Policy: Monitoring

Policy: Monitoring: Compliance

Returns the compliance status

Returns the compliance status and details of non compliant configuration Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/compliance/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/compliance/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyComplianceStatus+

Example Response: { "last_updated_time" : 1535016210856, "non_compliant_configs": [ { "description": "TLS version 1.0 used for establishing secure socket connection. It is recommended to run TLSv 1.1 or higher and fully deactivate TLSv1.0 that have protocol weaknesses.", "reported_by": { "target_display_name": "test-profile", "is_valid": true, "target_type": "LB_CLIENT_SSL_PROFILE", "target_id": "/infra/lb-client-ssl-profiles/test-profile", "path": "/infra/lb-client-ssl-profiles/test-profile" }, "non_compliance_code": 72022 } ] } Required Permissions: read Feature: infra_admin Additional Errors:

Policy: Monitoring: Finetuning

For each type of entity what are the attributes owned by policy.

This API provides field names of attributes in NSX types that are owned by
Policy, as opposed to those owned by the enforcement point. For any type on NSX,
some of the attributes of that type may be owned and set by Policy when realizing
the intent, while some others may be owned and set by the enforcement point itself.
This information can be used to deactivate updates to Policy owned attributes by the
advanced networking UI, while allowing tweaking to the attributes owned by the
management plane.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/fine-tuning/resources
Request Headers:
n/a
Query Parameters:
ResourceInfoSearchParameters+
Request Body:
n/a

Example Request: https://<policy-mgr>/global-manager/api/v1/fine-tuning/resources?type=InstanceDeploymentConfigDto Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ResourceInfoListResult+

Example Response: { "result_count": 1, "results": [{ "resource_name": "InstanceDeploymentConfigDto", "fields": [{ "sub_type": { "resource_name": "VmNicInfoDto", "fields": [{ "sub_type": { "resource_name": "NicInfoDto", "fields": [{ "field_name": "gateway_address" }, { "field_name": "network_id" }, { "field_name": "subnet_mask" }, { "field_name": "ip_address" }] }, "field_name": "nic_infos" }] }, "field_name": "vm_nic_infos" }, { "field_name": "compute_id" }, { "field_name": "storage_id" }, { "field_name": "context_id" }] }] } Required Permissions: read Feature: policy_fine_tuning Additional Errors:

Policy: Monitoring: Latency

List latency profiles

This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/latency-profiles
Request Headers:
n/a
Query Parameters:
PolicyLatencyStatProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/latency-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyLatencyStatProfileListResult+

Example Response: { [ { "resource_type": "PolicyLatencyStatProfile", "id": "profile1", "display_name": "/infra/latency-profiles/profile1", "path": "/infra/latency-profiles/profile1", "parent_path": "/infra", "relative_path": "profile1", "sampling_rate" : 120, "sampling_interval": 10, "pnic_latency_enabled" : false, "_create_user": "admin", "_create_time": 1517354268091, "_last_modified_user": "admin", "_last_modified_time": 1517354315280, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ], "result_count" : 1, "sort_by" : "display_name", "sort_ascending" : true } Required Permissions: read Feature: policy_ops Additional Errors:

Create or Replace latency profile

Create or Replace latency profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/latency-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
PolicyLatencyStatProfile+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/latency-profiles/profile1 { "sampling_rate": 100, "sampling_interval": 10, "pnic_latency_enabled": false, } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyLatencyStatProfile+

Example Response: { "resource_type": "PolicyLatencyStatProfile", "id": "profile1", "display_name": "/infra/latency-profiles/profile1", "path": "/infra/latency-profiles/profile1", "parent_path": "/infra", "relative_path": "profile1", "sampling_rate" : 100, "sampling_interval": 10, "pnic_latency_enabled" : false, "_create_user": "admin", "_create_time": 1517354268091, "_last_modified_user": "admin", "_last_modified_time": 1517354315280, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_ops Additional Errors:

Patch latency profile

Patch latency profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/latency-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
PolicyLatencyStatProfile+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/latency-profiles/profile1 { "sampling_rate": 120 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyLatencyStatProfile+

Example Response: { "resource_type": "PolicyLatencyStatProfile", "id": "profile1", "display_name": "/infra/latency-profiles/profile1", "path": "/infra/latency-profiles/profile1", "parent_path": "/infra", "relative_path": "profile1", "sampling_rate" : 120, "sampling_interval": 10, "pnic_latency_enabled" : false, "_create_user": "admin", "_create_time": 1517354268091, "_last_modified_user": "admin", "_last_modified_time": 1517354315280, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: crud Feature: policy_ops Additional Errors:

Delete latency profile

Delete an existing latency profile This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/latency-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/latency-profiles/profile1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_ops Additional Errors:

Read latency profile

Read latency profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/latency-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/latency-profiles/profile1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyLatencyStatProfile+

Example Response: { "resource_type": "PolicyLatencyStatProfile", "id": "profile1", "display_name": "/infra/latency-profiles/profile1", "path": "/infra/latency-profiles/profile1", "parent_path": "/infra", "relative_path": "profile1", "sampling_rate" : 120, "sampling_interval": 10, "pnic_latency_enabled" : false, "_create_user": "admin", "_create_time": 1517354268091, "_last_modified_user": "admin", "_last_modified_time": 1517354315280, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: read Feature: policy_ops Additional Errors:

Policy: Monitoring: Traceflow

List TraceflowConfig for infra

Paginated list of all TraceflowConfig for infra.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/traceflows
Request Headers:
n/a
Query Parameters:
PolicyListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TraceflowConfigListResult+

Example Response: { "results": [ { "segment_port_path": "/infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:c8d7ac3f-1904-4088-a9ec-f0183b5b14d6", "packet": { "eth_header": { "src_mac": "00:50:56:8f:49:60", "dst_mac": "00:50:56:8f:2f:97", "eth_type": 2048 }, "ip_header": { "src_ip": "172.16.14.11", "dst_ip": "172.16.16.13", "protocol": 1, "ttl": 64, "flags": 0 }, "transport_header": { "icmp_echo_request_header": { "id": 0, "sequence": 0 } }, "payload": "", "resource_type": "FieldsPacketData", "frame_size": 128, "routed": true, "transport_type": "UNICAST" }, "timeout": 10, "resource_type": "TraceflowConfig", "id": "t7", "display_name": "t7", "path": "/infra/traceflows/t7", "relative_path": "t7", "parent_path": "/infra", "unique_id": "4dbe1a62-156c-46be-a70f-ea237344f1c3", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579195094519, "_last_modified_user": "admin", "_last_modified_time": 1579195094519, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_traceflow Additional Errors:

Restart traceflow with same set of parameters used during create/update traceflow

This will retrace even if current traceflow has observations. Current
observations will be lost. Traceflow configuration will be cleaned up
by the system after two hours of inactivity.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}
Request Headers:
n/a
Query Parameters:
ActionRequest+
Request Body:
n/a

Example Request: https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t7?action=retrace Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TraceflowConfig+

Example Response: { "segment_port_path": "/infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:c8d7ac3f-1904-4088-a9ec-f0183b5b14d6", "packet": { "eth_header": { "src_mac": "00:50:56:8f:49:60", "dst_mac": "00:50:56:8f:2f:97", "eth_type": 2048 }, "ip_header": { "src_ip": "172.16.14.11", "dst_ip": "172.16.16.13", "protocol": 1, "ttl": 64, "flags": 0 }, "transport_header": { "icmp_echo_request_header": { "id": 0, "sequence": 0 } }, "payload": "", "resource_type": "FieldsPacketData", "frame_size": 128, "routed": true, "transport_type": "UNICAST" }, "timeout": 10, "resource_type": "TraceflowConfig", "id": "t7", "display_name": "t7", "path": "/infra/traceflows/t7", "relative_path": "t7", "parent_path": "/infra", "unique_id": "4dbe1a62-156c-46be-a70f-ea237344f1c3", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579195094519, "_last_modified_user": "admin", "_last_modified_time": 1579195094519, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_traceflow Additional Errors:

Create or update a traceflow config

If a traceflow config with the traceflow-id is not
already present, create a new traceflow config. If it already exists,
update the traceflow config. This is a full replace. This configuration
will be cleaned up by the system after two hours of inactivity.
To start traceflow on a DHCP port in a custom project, enforcement point path is required.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}
Request Headers:
n/a
Query Parameters:
TraceflowStatusRequest+
Request Body:
TraceflowConfig+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t12 { "segment_port_path": "/global-infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:c8d7ac3f-1904-4088-a9ec-f0183b5b14d6", "packet": { "eth_header": { "src_mac": "00:50:56:8f:49:60", "dst_mac": "00:50:56:8f:2f:97", "eth_type": 2048 }, "ip_header": { "src_ip": "172.16.14.11", "dst_ip": "172.16.16.13", "protocol": 1, "ttl": 64, "flags": 0 }, "transport_header": { "icmp_echo_request_header": { "id": 0, "sequence": 0 } }, "payload": "", "resource_type": "FieldsPacketData", "frame_size": 128, "routed": true, "transport_type": "UNICAST" }, "timeout": 10 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: {} Required Permissions: crud Feature: policy_traceflow Additional Errors:

Read traceflow config

Read traceflow config with id traceflow-id. This configuration
will be cleaned up by the system after two hours of inactivity.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TraceflowConfig+

Example Response: { "segment_port_path": "/infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:c8d7ac3f-1904-4088-a9ec-f0183b5b14d6", "packet": { "eth_header": { "src_mac": "00:50:56:8f:49:60", "dst_mac": "00:50:56:8f:2f:97", "eth_type": 2048 }, "ip_header": { "src_ip": "172.16.14.11", "dst_ip": "172.16.16.13", "protocol": 1, "ttl": 64, "flags": 0 }, "transport_header": { "icmp_echo_request_header": { "id": 0, "sequence": 0 } }, "payload": "", "resource_type": "FieldsPacketData", "frame_size": 128, "routed": true, "transport_type": "UNICAST" }, "timeout": 10, "resource_type": "TraceflowConfig", "id": "t7", "display_name": "t7", "path": "/infra/traceflows/t7", "relative_path": "t7", "parent_path": "/infra", "unique_id": "4dbe1a62-156c-46be-a70f-ea237344f1c3", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579195094519, "_last_modified_user": "admin", "_last_modified_time": 1579195094519, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_traceflow Additional Errors:

Delete traceflow config

Delete traceflow config with id traceflow-id Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

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

Create or update a traceflow config

If a traceflow config with the traceflow-id is not
already present, create a new traceflow config. If it already exists,
update the traceflow config. This is a full replace. This
configuration will be cleaned up by the system after two hours of inactivity.
To start traceflow on a DHCP port in a custom project, enforcement point path is required.
User needs to update the in-band network telemetry (INT) configuration to specify the DSCP
bit/value for traceflow crafted packet, if the source port of traceflow is on VLAN logical network.
The INT configuration is under global operations configuration so please refer NSX-T API document
Policy > Networking > Networking Profiles > Global Gateway Configuration to check how to set the
DSCP bit/value via global operations configuration related API.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}
Request Headers:
n/a
Query Parameters:
TraceflowStatusRequest+
Request Body:
TraceflowConfig+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t14?enforcement_point_path=/global-infra/sites/default/enforcement-points/default { "segment_port_path": "/global-infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:c8d7ac3f-1904-4088-a9ec-f0183b5b14d6", "packet": { "eth_header": { "src_mac": "00:55:56:8f:49:60", "dst_mac": "00:50:56:8f:2f:97", "eth_type": 2048 }, "ip_header": { "src_ip": "172.16.14.11", "dst_ip": "172.16.16.13", "protocol": 1, "ttl": 64, "flags": 0 }, "transport_header": { "icmp_echo_request_header": { "id": 0, "sequence": 0 } }, "payload": "", "resource_type": "FieldsPacketData", "frame_size": 128, "routed": true, "transport_type": "UNICAST" }, "timeout": 10 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TraceflowConfig+

Example Response: { "segment_port_path": "/infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:c8d7ac3f-1904-4088-a9ec-f0183b5b14d6", "packet": { "eth_header": { "src_mac": "00:55:56:8f:49:60", "dst_mac": "00:50:56:8f:2f:97", "eth_type": 2048 }, "ip_header": { "src_ip": "172.16.14.11", "dst_ip": "172.16.16.13", "protocol": 1, "ttl": 64, "flags": 0 }, "transport_header": { "icmp_echo_request_header": { "id": 0, "sequence": 0 } }, "payload": "", "resource_type": "FieldsPacketData", "frame_size": 128, "routed": true, "transport_type": "UNICAST" }, "timeout": 10, "resource_type": "TraceflowConfig", "id": "t14", "display_name": "t14", "path": "/infra/traceflows/t14", "relative_path": "t14", "parent_path": "/infra", "unique_id": "d3c59bf3-5de8-4d65-91cc-940458fc8860", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579243672065, "_last_modified_user": "admin", "_last_modified_time": 1579243672065, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_traceflow Additional Errors:

Read traceflow observations

Read traceflow observations for id traceflow-id. Traceflow configuration will be cleaned up by the system after two hours of inactivity. Enforcement Path is optional parameter. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}/observations
Request Headers:
n/a
Query Parameters:
TraceflowStatusRequest+
Request Body:
n/a

Example Request: https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t1/observations Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
TraceflowObservationListResult+

Example Response: { "results": [ { "resource_type": "TraceflowObservationReceived", "sequence_no": 0, "transport_node_id": "b969a530-3823-11ea-9a27-5960b416cadc", "transport_node_name": "wdc-rdops-vm03-dhcp-29-221.eng.vmware.com", "transport_node_type": "ESX", "timestamp": 1579241381499, "timestamp_micro": 1579241381499596, "component_type": "PHYSICAL", "component_sub_type": "UNKNOWN", "component_name": "Physical" } ], "result_count": 1, "sort_by": "sequence_number", "sort_ascending": true, "cursor": "00011" } Required Permissions: read Feature: policy_traceflow Additional Errors:

Read traceflow status

Read traceflow status with id traceflow-id.
Traceflow configuration will be cleaned up by the system after
two hours of inactivity. Enforcement Path is optional parameter.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/traceflows/{traceflow-id}/status
Request Headers:
n/a
Query Parameters:
TraceflowStatusRequest+
Request Body:
n/a

Example Request: https://<policy-mgr>/global-manager/api/v1/global-infra/traceflows/t1/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Traceflow+

Example Response: { "id": "/infra/traceflows/t1", "lport_id": "/infra/tier-1s/production_t1/segments/production-t1-seg/ports/default:13405ded-e4f7-4776-b0fe-16d0ba685f6c", "timeout": 10, "operation_state": "FINISHED", "result_overflowed": false, "counters": { "received_count": 1, "delivered_count": 0, "dropped_count": 0, "forwarded_count": 0 }, "logical_counters": { "received_count": 0, "delivered_count": 0, "dropped_count": 0, "forwarded_count": 0 }, "analysis": [], "request_status": "SUCCESS", "_protection": "NOT_PROTECTED" } Required Permissions: read Feature: policy_traceflow Additional Errors:

Policy: Networking: Connectivity: Routing

Policy: Networking: Connectivity: Routing: Tier-0 Gateways

Recover of Tier0 and linked tier1 gateway(s).

API to recover specified Tier0 gateway and linked tier1 gateway from
primary site path to new primary site path. This will update intent of
affected Tier-0 and Tier-1 gateway.
Request:
Method:
POST
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s?action=site_failover
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
GatewaySiteFailoverActionConfig+

Example Request: POST https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s?action=site_failover Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_t0 Additional Errors:

Policy: Networking: Connectivity

Policy: Networking: Connectivity: Segments

Get downlink port Address Resolution Protocol Proxies for infra segment

Returns ARP proxy table for downlink port on connected to the segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/arp-proxy
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/segments/test-segment/arp-proxy Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyArpProxyTableListResult+

Example Response: { "results": [ { "interface_arp_proxy" : [ { "service_id" : "0", "arp_proxy_ip" : "10.22.12.100" } ] } ] } Required Permissions: read Feature: policy_statistics Additional Errors:

Get downlink port Address Resolution Protocol Proxies for infra segment in CSV format

Returns ARP proxy table for downlink port on connected to the segment in CSV format
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/arp-proxy?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/segments/test-segment/arp-proxy?format=csv Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
PolicyArpProxyTableCsvListResult+

Example Response: TODO smanikarnike Required Permissions: read Feature: policy_statistics Additional Errors:

Get downlink port Address Resolution Protocol Proxies for tier-1 segment

Returns ARP proxy table for downlink port on connected to the segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/arp-proxy
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-1s//segments/test-segment/arp-proxy Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyArpProxyTableListResult+

Example Response: { "results": [ { "interface_arp_proxy" : [ { "service_id" : "0", "arp_proxy_ip" : "10.22.12.100" } ] } ] } Required Permissions: read Feature: policy_statistics Additional Errors:

Get downlink port Address Resolution Protocol Proxies for tier-1 segment in CSV

Returns ARP proxy table for downlink port on connected to the segment in CSV
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/arp-proxy?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-1s//segments/test-segment/arp-proxy?format=csv Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
PolicyArpProxyTableCsvListResult+

Example Response: TODO smanikarnike Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Segments: Bridge Endpoints

Policy: Networking: Connectivity: Segments: Bridge Endpoints: Statistics

Get Tier-1 segment bridge end point statistics using segment ID and profile path.

Get detailed information on Tier-1 segment bridge end point statistics using segment ID and profile path.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/bep-statistics
Request Headers:
n/a
Query Parameters:
BridgeProfileRequestParameters+
Request Body:
n/a

Example Request: # TODO: change this sample request after api is tested GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment-1/bep-statistics?bridge_profile_path=/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1&enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointStatistics+

Example Response: { # TODO: change this sample response after api is tested "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: policy_segment Additional Errors:

Get Tier-1 segment bridge end point status using segment ID and profile path.

Get detailed information on Tier-1 segment bridge end point status using segment ID and profile path.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/bep-status
Request Headers:
n/a
Query Parameters:
BridgeProfileRequestParameters+
Request Body:
n/a

Example Request: # TODO: change this sample request after api is tested GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment-1/bep-status?bridge_profile_path=/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1&enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BridgeEndpointStatus+

Example Response: { # TODO: change this sample response after api is tested "active_nodes": [ /infra/sites/default/enforcement-points/default/host-transport-nodes/TN1 ], "last_update_timestamp": 1457547568679, "endpoint_id": "15269939-779a-4fa4-9a0a-792dbf9fac12" } Required Permissions: read Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Edge Bridge Profiles

List L2 Bridge Endpoint Profiles

List all L2 bridge profiles Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/edge-bridge-profiles
Request Headers:
n/a
Query Parameters:
L2BridgeEndpointProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
L2BridgeEndpointProfileListResult+

Example Response: { "results": [ { "edge_paths": [ "/infra/sites/default/enforcement-points/default/edge-clusters/05e58fcb-8575-4b20-9c49-3f09a0d70572/edge-nodes/0" ], "ha_mode": "ACTIVE_STANDBY", "failover_mode": "PREEMPTIVE", "resource_type": "L2BridgeEndpointProfile", "id": "p2", "display_name": "p2", "path": "/infra/sites/default/enforcement-points/default/edge-bridge-profiles/p2", "relative_path": "p2", "parent_path": "/infra/sites/default/enforcement-points/default", "unique_id": "55971354-aa4b-45dd-bb4f-0a37aaea2181", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579296711399, "_last_modified_user": "admin", "_last_modified_time": 1579296711399, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_profiles Additional Errors:

Delete L2 Bridge Endpoint Profile

API will delete L2 bridge profile with ID profile-id Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/edge-bridge-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: {} Required Permissions: crud Feature: policy_profiles Additional Errors:

Create or update L2 Bridge Endpoint Profile

API will create or update L2 bridge profile with ID profile-id.
L2 Bridge profile is only allowed under an enforcement-point with path
/infra/sites/default/enforcement-points/default.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/edge-bridge-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
L2BridgeEndpointProfile+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1 { "edge_paths": [ "/global-infra/sites/default/enforcement-points/default/edge-clusters/05e58fcb-8575-4b20-9c49-3f09a0d70572/edge-nodes/0" ], "ha_mode": "ACTIVE_STANDBY", "failover_mode": "PREEMPTIVE", } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
L2BridgeEndpointProfile+

Example Response: { "edge_paths": [ "/infra/sites/default/enforcement-points/default/edge-clusters/05e58fcb-8575-4b20-9c49-3f09a0d70572/edge-nodes/0" ], "ha_mode": "ACTIVE_STANDBY", "failover_mode": "PREEMPTIVE", "resource_type": "L2BridgeEndpointProfile", "id": "p1", "display_name": "p1", "path": "/infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1", "relative_path": "p1", "parent_path": "/infra/sites/default/enforcement-points/default", "unique_id": "e2292681-5309-4954-8ad9-4ee89430d10d", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579296574896, "_last_modified_user": "admin", "_last_modified_time": 1579296574896, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_profiles Additional Errors:

Get L2 Bridge Endpoint Profile

Read L2 bridge profile with ID profile-id Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/edge-bridge-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
L2BridgeEndpointProfile+

Example Response: { "edge_paths": [ "/infra/sites/default/enforcement-points/default/edge-clusters/05e58fcb-8575-4b20-9c49-3f09a0d70572/edge-nodes/0" ], "ha_mode": "ACTIVE_STANDBY", "failover_mode": "PREEMPTIVE", "resource_type": "L2BridgeEndpointProfile", "id": "p1", "display_name": "p1", "path": "/infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1", "relative_path": "p1", "parent_path": "/infra/sites/default/enforcement-points/default", "unique_id": "e2292681-5309-4954-8ad9-4ee89430d10d", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1579296574896, "_last_modified_user": "admin", "_last_modified_time": 1579296574896, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_profiles Additional Errors:

Create or update L2 Bridge Endpoint Profile

API will create or update L2 bridge profile with ID profile-id.
L2 Bridge profile is only allowed under an enforcement-point with path
/infra/sites/default/enforcement-points/default.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/edge-bridge-profiles/{profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
L2BridgeEndpointProfile+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/sites/default/enforcement-points/default/edge-bridge-profiles/p1 { "edge_paths": [ "/global-infra/sites/default/enforcement-points/default/edge-clusters/05e58fcb-8575-4b20-9c49-3f09a0d70572/edge-nodes/0" ], "ha_mode": "ACTIVE_STANDBY", "failover_mode": "PREEMPTIVE", } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: {} Required Permissions: crud Feature: policy_profiles Additional Errors:

Policy: Networking: Connectivity: Segments: MAC Table

Get infra segment MAC table

Returns MAC table for a segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/mac-table
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: https://policy-mgr/global-manager/api/v1/global-infra/segments/TIER0_DOWN_LINK_SWITCH/mac-table?source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentMacAddressListResult+

Example Response: { "last_update_timestamp": 1591767144064, "results": [ { "mac_address": "00:0c:29:ce:0f:77", "tep_ip": "100.100.100.3", "tep_mac_address": "00:50:56:6a:af:ce" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_statistics Additional Errors:

Get infra segment MAC table in CSV

Returns MAC table for a segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/mac-table?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWN_LINK_SWITCH/mac-table?format=csv&source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
MacAddressCsvListResult+

Example Response: mac_address,mac_type 00:0c:29:ce:0f:77,STATIC Required Permissions: read Feature: policy_statistics Additional Errors:

Get Tier-1 segment MAC table

Returns MAC table for a segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/mac-table
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: https://policy-mgr/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/TIER0_DOWN_LINK_SWITCH/mac-table?source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentMacAddressListResult+

Example Response: { "last_update_timestamp": 1591767144064, "results": [ { "mac_address": "00:0c:29:ce:0f:77", "tep_ip": "100.100.100.3", "tep_mac_address": "00:50:56:6a:af:ce" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_statistics Additional Errors:

Get Tier-1 segment MAC table in CSV

Returns MAC table for a segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/mac-table?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/TIER0_DOWN_LINK_SWITCH/mac-table?format=csv&source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
MacAddressCsvListResult+

Example Response: mac_address,mac_type 00:0c:29:ce:0f:77,STATIC Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Segments: Ports

List infra segment ports

List all the ports for an infra.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports
Request Headers:
n/a
Query Parameters:
SegmentPortListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/production-t1-seg/ports/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortListResult+

Example Response: { "results": [ { "resource_type": "SegmentPort", "id": "default:183a3789-826b-41fc-8642-a6834551d4bc", "display_name": "default:183a3789-826b-41fc-8642-a6834551d4bc", "path": "/infra/segments/production-t1-seg/ports/default:183a3789-826b-41fc-8642-a6834551d4bc", "relative_path": "default:183a3789-826b-41fc-8642-a6834551d4bc", "parent_path": "/infra/segments/production-t1-seg", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544503100539, "_last_modified_user": "system", "_last_modified_time": 1544503100539, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "SegmentPort", "id": "default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "display_name": "default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "path": "/infra/segments/production-t1-seg/ports/default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "relative_path": "default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "parent_path": "/infra/segments/production-t1-seg", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544503100542, "_last_modified_user": "system", "_last_modified_time": 1544503100542, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "SegmentPort", "id": "default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "display_name": "default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "path": "/infra/segments/production-t1-seg/ports/default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "relative_path": "default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "parent_path": "/infra/segments/production-t1-seg", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544503100524, "_last_modified_user": "system", "_last_modified_time": 1544503100524, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 3, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_segment Additional Errors:

Get infra segment port by ID

Get detail information on an infra segment port by giving ID.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier/ports/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPort+

Example Response: { "resource_type": "SegmentPort", "id": "port1", "display_name": "port1", "path": "/infra/segments/web-tier/ports/port1", "relative_path": "port1", "parent_path": "/infra/segments/web-tier", "address_bindings": [ { "ip_address":"1.1.1.1", "mac_address":"aa:bb:cc:dd:ee:ff" "vlan_id": 0 }, { "ip_address":"1.1.1.2", "mac_address":"aa:bb:cc:dd:ee:f1" "vlan_id": 0 } ], "tags": [ { "tag":"port-1 tag 1 from Policy", "scope":"Policy" } ], "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544503100539, "_last_modified_user": "admin", "_last_modified_time": 1544503100539, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

List all effective profiles for infra segment port

List all effective profiles for this segment port on given enforcement point. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/effective-profiles
Request Headers:
n/a
Query Parameters:
EnforcementPointRequest+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/tier0-ls/port/p1/effective-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveProfilesResponse+

Required Permissions: read Feature: policy_segment Additional Errors:

List Tier-1 segment ports

List all the ports for a Tier-1 segment.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports
Request Headers:
n/a
Query Parameters:
SegmentPortListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/production_t1/segments/production-t1-seg/ports/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortListResult+

Example Response: { "results": [ { "resource_type": "SegmentPort", "id": "default:183a3789-826b-41fc-8642-a6834551d4bc", "display_name": "default:183a3789-826b-41fc-8642-a6834551d4bc", "path": "/infra/tier-1s/production_t1/segments/production-t1-seg/ports/default:183a3789-826b-41fc-8642-a6834551d4bc", "relative_path": "default:183a3789-826b-41fc-8642-a6834551d4bc", "parent_path": "/infra/tier-1s/production_t1/segments/production-t1-seg", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544503100539, "_last_modified_user": "system", "_last_modified_time": 1544503100539, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "SegmentPort", "id": "default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "display_name": "default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "path": "/infra/tier-1s/production_t1/segments/production-t1-seg/ports/default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "relative_path": "default:7555e0d8-f8f7-47c1-a93c-436eb5a6628a", "parent_path": "/infra/tier-1s/production_t1/segments/production-t1-seg", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544503100542, "_last_modified_user": "system", "_last_modified_time": 1544503100542, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "SegmentPort", "id": "default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "display_name": "default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "path": "/infra/tier-1s/production_t1/segments/production-t1-seg/ports/default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "relative_path": "default:ab5e6c6d-ca35-499d-b448-fbb82ed1664b", "parent_path": "/infra/tier-1s/production_t1/segments/production-t1-seg", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544503100524, "_last_modified_user": "system", "_last_modified_time": 1544503100524, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 3, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_segment Additional Errors:

Get Tier-1 segment port by ID

Get detail information on a Tier-1 segment port by giving ID.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments/web-tier/ports/port1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPort+

Example Response: { "resource_type": "SegmentPort", "id": "port1", "display_name": "port1", "path": "/infra/tier-1s/cgw/segments/web-tier/ports/port1", "relative_path": "port1", "parent_path": "/infra/tier-1s/cgw/segments/web-tier", "address_bindings": [ { "ip_address":"1.1.1.1", "mac_address":"aa:bb:cc:dd:ee:ff", "vlan_id": 0 }, { "ip_address":"1.1.1.2", "mac_address":"aa:bb:cc:dd:ee:f1", "vlan_id": 0 } ], "tags": [ { "tag":"port-1 tag 1 from Policy", "scope":"Policy" } ], "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544503100539, "_last_modified_user": "admin", "_last_modified_time": 1544503100539, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

List all effective profiles for tier-1 segment port

List all effective profiles for this segment port on given enforcement point. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/effective-profiles
Request Headers:
n/a
Query Parameters:
EnforcementPointRequest+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/tier1-ls/ports/port1/effective-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveProfilesResponse+

Required Permissions: read Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Ports: MAC Table

Get MAC table for infra segment port

Returns MAC table for a segment port
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/mac-table
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWN_LINK_SWITCH/ports/default:d808cd01-b20b-485b-8e57-983a84fa7642/mac-table?source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortMacAddressListResult+

Example Response: { "transport_node_id": "01b3242e-a7c8-11ea-9a01-278a0b44b8c9", "last_update_timestamp": 1591767152521, "results": [ { "mac_address": "00:0c:29:ce:0f:77", "mac_type": "STATIC" } ] } Required Permissions: read Feature: policy_statistics Additional Errors:

Get infra segment port MAC table in CSV

Returns MAC table for a segment port
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/mac-table?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWN_LINK_SWITCH/ports/default:d808cd01-b20b-485b-8e57-983a84fa7642/mac-table?format=csv&source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
SegmentPortMacAddressCsvListResult+

Example Response: mac_address,mac_type 00:0c:29:ce:0f:77,STATIC Required Permissions: read Feature: policy_statistics Additional Errors:

Get MAC table for tier-1 segment port

Returns MAC table for a segment port
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/mac-table
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/TIER0_DOWN_LINK_SWITCH/ports/default:d808cd01-b20b-485b-8e57-983a84fa7642/mac-table?source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortMacAddressListResult+

Example Response: { "transport_node_id": "01b3242e-a7c8-11ea-9a01-278a0b44b8c9", "last_update_timestamp": 1591767152521, "results": [ { "mac_address": "00:0c:29:ce:0f:77", "mac_type": "STATIC" } ] } Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-1 segment port MAC table in CSV

Returns MAC table for a segment port
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/mac-table?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/TIER0_DOWN_LINK_SWITCH/ports/default:d808cd01-b20b-485b-8e57-983a84fa7642/mac-table?format=csv&source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
SegmentPortMacAddressCsvListResult+

Example Response: mac_address,mac_type 00:0c:29:ce:0f:77,STATIC Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Segments: Ports: State

Get infra segment port state

Returns infra segment port state on enforcement point
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/state
Request Headers:
n/a
Query Parameters:
PolicyRuntimeRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWNLINK_SWITCH/ports/default:d03f67f8-efd0-491b-955e-82d8323cffa0/state Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortState+

Example Response: { "transport_node_ids": [ "01b3242e-a7c8-11ea-9a01-278a0b44b8c9" ], "discovered_bindings": [ { "source": "VM_TOOLS", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591432722000 }, { "source": "ARP_SNOOPING", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591853619530 } ], "realized_bindings": [ { "source": "VM_TOOLS", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591432722000 }, { "source": "ARP_SNOOPING", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591434843090 } ], "duplicate_bindings": [], "attachment": { "id": "ef25f3f5-f19a-4aa2-9c6a-842e44d5297b", "state": "ATTACHED", "attachers": [ { "host": "01b3242e-a7c8-11ea-9a01-278a0b44b8c9", "entity": "/vmfs/volumes/5edb3cde-ed7a2d43-f9d3-0200637d79e5/32-vm_Client_VM_Ubuntu_1404-local-1700/32-vm_Client_VM_Ubuntu_1404-local-1700.vmx" } ] } } Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-1 segment port state

Returns tier-1 segment port state on enforcement point
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/state
Request Headers:
n/a
Query Parameters:
PolicyRuntimeRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/TIER1_DOWNLINK_SWITCH/ports/default:d03f67f8-efd0-491b-955e-82d8323cffa0/state Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortState+

Example Response: { "transport_node_ids": [ "01b3242e-a7c8-11ea-9a01-278a0b44b8c9" ], "discovered_bindings": [ { "source": "VM_TOOLS", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591432722000 }, { "source": "ARP_SNOOPING", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591853619530 } ], "realized_bindings": [ { "source": "VM_TOOLS", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591432722000 }, { "source": "ARP_SNOOPING", "binding": { "ip_address": "192.168.100.162", "mac_address": "00:0c:29:46:b0:72", "vlan": 0 }, "binding_timestamp": 1591434843090 } ], "duplicate_bindings": [], "attachment": { "id": "ef25f3f5-f19a-4aa2-9c6a-842e44d5297b", "state": "ATTACHED", "attachers": [ { "host": "01b3242e-a7c8-11ea-9a01-278a0b44b8c9", "entity": "/vmfs/volumes/5edb3cde-ed7a2d43-f9d3-0200637d79e5/32-vm_Client_VM_Ubuntu_1404-local-1700/32-vm_Client_VM_Ubuntu_1404-local-1700.vmx" } ] } } Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles

Policy: Networking: Connectivity: Segments: Segment Profiles: Discovery Profile Binding

Associated URIs:

Get Group discovery profile binding map

API will get Group discovery profile binding map Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/discovery-profile-binding-maps
Request Headers:
n/a
Query Parameters:
GroupDiscoveryProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/default/groups/group1/discovery-profile-binding-maps Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupDiscoveryProfileBindingMapListResult+

Example Response: { "results": [ { "sequence_number": 22, "resource_type": "GroupDiscoveryProfileBindingMap", "id": "bm1", "display_name": "bm1", "path": "/infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1", "relative_path": "bm1", "parent_path": "/infra/domains/default/groups/group1", "unique_id": "35230872-f823-4c53-ab1a-5f8e06558bdc", "marked_for_delete": false, "profile_path": "/infra/ip-discovery-profiles/p2", "_last_modified_time": 1570048887730, "_system_owned": false, "_create_user": "admin", "_create_time": 1570048887730, "_last_modified_user": "admin", "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_grouping Additional Errors:

Delete Group discovery profile binding map

API will delete Group discovery profile binding map Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/discovery-profile-binding-maps/{discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_grouping Additional Errors:

Create or update Group discovery profile binding map

API will create or update Group discovery profile binding map Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/discovery-profile-binding-maps/{discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
GroupDiscoveryProfileBindingMap+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1 { "profile_path": "/global-infra/ip-discovery-profiles/p3", "sequence_number": 22 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_grouping Additional Errors:

Get Group discovery profile binding map

API will get Group discovery profile binding map Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/discovery-profile-binding-maps/{discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupDiscoveryProfileBindingMap+

Example Response: { "sequence_number": 22, "resource_type": "GroupDiscoveryProfileBindingMap", "id": "bm1", "display_name": "bm1", "path": "/infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1", "relative_path": "bm1", "parent_path": "/infra/domains/default/groups/group1", "unique_id": "35230872-f823-4c53-ab1a-5f8e06558bdc", "marked_for_delete": false, "profile_path": "/infra/ip-discovery-profiles/p2", "_last_modified_time": 1570048887730, "_system_owned": false, "_create_user": "admin", "_create_time": 1570048887730, "_last_modified_user": "admin", "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_grouping Additional Errors:

Update Group discovery profile binding map

API will update Group discovery profile binding map Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/domains/{domain-id}/groups/{group-id}/discovery-profile-binding-maps/{discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
GroupDiscoveryProfileBindingMap+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1 { "profile_path": "/global-infra/ip-discovery-profiles/p3", "sequence_number": 22 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupDiscoveryProfileBindingMap+

Example Response: { "sequence_number": 22, "resource_type": "GroupDiscoveryProfileBindingMap", "id": "bm1", "display_name": "bm1", "path": "/infra/domains/default/groups/group1/discovery-profile-binding-maps/bm1", "relative_path": "bm1", "parent_path": "/infra/domains/default/groups/group1", "unique_id": "35230872-f823-4c53-ab1a-5f8e06558bdc", "marked_for_delete": false, "profile_path": "/infra/ip-discovery-profiles/p2", "_last_modified_time": 1570048887730, "_system_owned": false, "_create_user": "admin", "_create_time": 1570048887730, "_last_modified_user": "admin", "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_grouping Additional Errors:

List Infra Port Discovery Profile Binding Maps

API will list all Infra Port Discovery Profile Binding Maps in current port id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/ports/{infra-port-id}/port-discovery-profile-binding-maps
Request Headers:
n/a
Query Parameters:
PortDiscoveryProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortDiscoveryProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PortDiscoveryProfileBindingMap", "description": "", "id":"pdpbm_1", "display_name": "PortDiscoveryProfileBindingMap", "path": "/infra/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/pdpbm_1", "relative_path": "PortDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get Infra Port Discovery Profile Binding Map

API will get Infra Port Discovery Profile Binding Map
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/ports/{infra-port-id}/port-discovery-profile-binding-maps/{port-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/pdpbm_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortDiscoveryProfileBindingMap+

Example Response: { "resource_type": "PortDiscoveryProfileBindingMap", "description": "", "id":"pdpbm_1", "display_name": "PortDiscoveryProfileBindingMap", "path": "/infra/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/pdpbm_1", "relative_path": "PortDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

List Infra Segment Discovery Profile Binding Maps

API will list all Infra Segment Discovery Profile Binding Maps in current segment id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/segment-discovery-profile-binding-maps
Request Headers:
n/a
Query Parameters:
SegmentDiscoveryProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-discovery-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentDiscoveryProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "SegmentDiscoveryProfileBindingMap", "description": "", "id":"sdpbm_1", "display_name": "SegmentDiscoveryProfileBindingMap", "path": "/infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1", "relative_path": "SegmentDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get Infra Segment Discovery Profile Binding Map

API will get Infra Segment Discovery Profile Binding Map
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentDiscoveryProfileBindingMap+

Example Response: { "resource_type": "SegmentDiscoveryProfileBindingMap", "description": "", "id":"sdpbm_1", "display_name": "SegmentDiscoveryProfileBindingMap", "path": "/infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1", "relative_path": "SegmentDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

Delete Segment Discovery Profile Binding Profile

API will delete Segment Discovery Profile Binding Profile This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Create Infra Segment Discovery Profile Binding Map

API will create Infra Segment Discovery Profile Binding Map. For objects with no binding maps, default profile is applied. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentDiscoveryProfileBindingMap+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 { "resource_type":" SegmentDiscoveryProfileBindingMap", "display_name": "SegmentDiscoveryProfileBindingMap Profile Production", "description":"", "mac_discovery_profile_path":"/global-infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/global-infra/ip-discovery-profiles/ipdp_1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Update Infra Segment Discovery Profile Binding Map

API will update Infra Segment Discovery Profile Binding Map. For objects with no binding maps, default profile is applied. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/segments/{infra-segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentDiscoveryProfileBindingMap+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 { "resource_type":" SegmentDiscoveryProfileBindingMap", "display_name": "SegmentDiscoveryProfileBindingMap Profile Production", "description":"", "mac_discovery_profile_path":"/global-infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/global-infra/ip-discovery-profiles/ipdp_1", "_revision": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentDiscoveryProfileBindingMap+

Example Response: { "resource_type": "SegmentDiscoveryProfileBindingMap", "description": "", "id":"sdpbm_1", "display_name": "SegmentDiscoveryProfileBindingMap", "path": "/infra/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1", "relative_path": "SegmentDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: crud Feature: policy_segment Additional Errors:

List Port Discovery Profile Binding Maps

API will list all Port Discovery Profile Binding Maps in current port id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/port-discovery-profile-binding-maps
Request Headers:
n/a
Query Parameters:
PortDiscoveryProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortDiscoveryProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PortDiscoveryProfileBindingMap", "description": "", "id":"pdpbm_1", "display_name": "PortDiscoveryProfileBindingMap", "path": "/infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/pdpbm_1", "relative_path": "PortDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get Port Discovery Profile Binding Map

API will get Port Discovery Profile Binding Map
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/port-discovery-profile-binding-maps/{port-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/pdpbm_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortDiscoveryProfileBindingMap+

Example Response: { "resource_type": "PortDiscoveryProfileBindingMap", "description": "", "id":"pdpbm_1", "display_name": "PortDiscoveryProfileBindingMap", "path": "/infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-discovery-profile-binding-maps/pdpbm_1", "relative_path": "PortDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

List Segment Discovery Profile Binding Maps

API will list all Segment Discovery Profile Binding Maps in current segment id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-discovery-profile-binding-maps
Request Headers:
n/a
Query Parameters:
SegmentDiscoveryProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentDiscoveryProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "SegmentDiscoveryProfileBindingMap", "description": "", "id":"sdpbm_1", "display_name": "SegmentDiscoveryProfileBindingMap", "path": "/infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1", "relative_path": "SegmentDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Update Segment Discovery Profile Binding Map

API will update Segment Discovery Profile Binding Map. For objects with no binding maps, default profile is applied. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentDiscoveryProfileBindingMap+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 { "resource_type":" SegmentDiscoveryProfileBindingMap", "display_name": "SegmentDiscoveryProfileBindingMap Profile Production", "description":"", "mac_discovery_profile_path":"/global-infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/global-infra/ip-discovery-profiles/ipdp_1", "_revision": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentDiscoveryProfileBindingMap+

Example Response: { "resource_type": "SegmentDiscoveryProfileBindingMap", "description": "", "id":"sdpbm_1", "display_name": "SegmentDiscoveryProfileBindingMap", "path": "/infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1", "relative_path": "SegmentDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: crud Feature: policy_segment Additional Errors:

Create Segment Discovery Profile Binding Map

API will create Segment Discovery Profile Binding Map. For objects with no binding maps, default profile is applied. This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentDiscoveryProfileBindingMap+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 { "resource_type":" SegmentDiscoveryProfileBindingMap", "display_name": "SegmentDiscoveryProfileBindingMap Profile Production", "description":"", "mac_discovery_profile_path":"/global-infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/global-infra/ip-discovery-profiles/ipdp_1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Delete Segment Discovery Profile Binding Profile

API will delete Segment Discovery Profile Binding Profile This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Get Segment Discovery Profile Binding Map

API will get Segment Discovery Profile Binding Map
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-discovery-profile-binding-maps/{segment-discovery-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentDiscoveryProfileBindingMap+

Example Response: { "resource_type": "SegmentDiscoveryProfileBindingMap", "description": "", "id":"sdpbm_1", "display_name": "SegmentDiscoveryProfileBindingMap", "path": "/infra/tier-1s/tier-1/segments/segment_1/segment-discovery-profile-binding-maps/sdpbm_1", "relative_path": "SegmentDiscoveryProfileBindingMaps", "mac_discovery_profile_path":"/infra/mac-discovery-profiles/macdp_1", "ip_discovery_profile_path":"/infra/ip-discovery-profiles/ipdp_1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: IP Discovery Profiles

List IP Discovery Profiles

API will list all IP Discovery Profiles active in current discovery profile id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/ip-discovery-profiles
Request Headers:
n/a
Query Parameters:
IPDiscoveryProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/ip-discovery-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPDiscoveryProfileListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "IPDiscoveryProfile", "display_name": "IPDiscoveryProfile", "description": "", "path": "/infra/ip-discovery-profiles/ipdp1", "relative_path": "ipdp1", "ip_v4_discovery_options": { "arp_snooping_config": { "arp_snooping_enabled": false, "arp_binding_limit": 1 }, "dhcp_snooping_enabled": false, "vmtools_enabled": true }, "ip_v6_discovery_options": { "nd_snooping_config": { "nd_snooping_enabled": true, "nd_snooping_limit": 2 }, "dhcp_snooping_v6_enabled": true, "vmtools_v6_enabled": true }, "tofu_enabled": true, "arp_nd_binding_timeout": 10, "duplicate_ip_detection": { "duplicate_ip_detection_enabled": false }, "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_profiles Additional Errors:

Get IP Discovery Profile

API will get IP Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/ip-discovery-profiles/{ip-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/ip-discovery-profiles/ipdp1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPDiscoveryProfile+

Example Response: { "resource_type": "IPDiscoveryProfile", "display_name": "IPDiscoveryProfile", "description": "", "path": "/infra/ip-discovery-profiles/ipdp1", "relative_path": "ipdp1", "ip_v4_discovery_options": { "arp_snooping_config": { "arp_snooping_enabled": false, "arp_binding_limit": 1 }, "dhcp_snooping_enabled": false, "vmtools_enabled": true }, "ip_v6_discovery_options": { "nd_snooping_config": { "nd_snooping_enabled": true, "nd_snooping_limit": 2 }, "dhcp_snooping_v6_enabled": true, "vmtools_v6_enabled": true }, "tofu_enabled": true, "arp_nd_binding_timeout": 10, "duplicate_ip_detection": { "duplicate_ip_detection_enabled": false }, "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_profiles Additional Errors:

Delete IP Discovery Profile

API will delete IP Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/ip-discovery-profiles/{ip-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/ip-discovery-profiles/ipdp1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Update IP Discovery Profile

API will update IP Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/ip-discovery-profiles/{ip-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
IPDiscoveryProfile+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/ip-discovery-profiles/ipdp1 { "resource_type": "IPDiscoveryProfile", "display_name": "IPDiscoveryProfile", "description": "", "ip_v4_discovery_options": { "arp_snooping_config": { "arp_snooping_enabled": false, "arp_binding_limit": 1 }, "dhcp_snooping_enabled": false, "vmtools_enabled": true }, "ip_v6_discovery_options": { "nd_snooping_config": { "nd_snooping_enabled": true, "nd_snooping_limit": 2 }, "dhcp_snooping_v6_enabled": true, "vmtools_v6_enabled": true }, "tofu_enabled": true, "arp_nd_binding_timeout": 10, "duplicate_ip_detection": { "duplicate_ip_detection_enabled": false } } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
IPDiscoveryProfile+

Example Response: { "resource_type": "IPDiscoveryProfile", "display_name": "IPDiscoveryProfile", "description": "", "path": "/infra/ip-discovery-profiles/ipdp1", "relative_path": "ipdp1", "ip_v4_discovery_options": { "arp_snooping_config": { "arp_snooping_enabled": false, "arp_binding_limit": 1 }, "dhcp_snooping_enabled": false, "vmtools_enabled": true }, "ip_v6_discovery_options": { "nd_snooping_config": { "nd_snooping_enabled": true, "nd_snooping_limit": 2 }, "dhcp_snooping_v6_enabled": true, "vmtools_v6_enabled": true }, "tofu_enabled": true, "arp_nd_binding_timeout": 10, "duplicate_ip_detection": { "duplicate_ip_detection_enabled": false }, "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 0 } Required Permissions: crud Feature: policy_profiles Additional Errors:

Create IP Discovery Profile

API will create IP Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/ip-discovery-profiles/{ip-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
IPDiscoveryProfile+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/ip-discovery-profiles/ipdp1 { "resource_type": "IPDiscoveryProfile", "display_name": "IPDiscoveryProfile", "description": "", "ip_v4_discovery_options": { "arp_snooping_config": { "arp_snooping_enabled": false, "arp_binding_limit": 1 }, "dhcp_snooping_enabled": false, "vmtools_enabled": true }, "ip_v6_discovery_options": { "nd_snooping_config": { "nd_snooping_enabled": true, "nd_snooping_limit": 2 }, "dhcp_snooping_v6_enabled": true, "vmtools_v6_enabled": true }, "tofu_enabled": true, "arp_nd_binding_timeout": 10, "duplicate_ip_detection": { "duplicate_ip_detection_enabled": false } } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: MAC Discovery Profiles

List Mac Discovery Profiles

API will list all Mac Discovery Profiles active in current discovery profile id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/mac-discovery-profiles
Request Headers:
n/a
Query Parameters:
MacDiscoveryProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/mac-discovery-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MacDiscoveryProfileListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type":"MacDiscoveryProfile", "display_name": "MacDiscoveryProfile", "description": "", "path": "/infra/mac-discovery-profiles/mdp1", "relative_path": "mdp1", "mac_change_enabled": true, "mac_learning_enabled": true, "unknown_unicast_flooding_enabled": false, "mac_limit_policy": "ALLOW", "mac_limit": 1, "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_profiles Additional Errors:

Get Mac Discovery Profile

API will get Mac Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/mac-discovery-profiles/{mac-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/mac-discovery-profiles/mdp1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MacDiscoveryProfile+

Example Response: { "resource_type":"MacDiscoveryProfile", "display_name": "MacDiscoveryProfile", "description": "", "path": "/infra/mac-discovery-profiles/mdp1", "relative_path": "mdp1", "mac_change_enabled": true, "mac_learning_enabled": true, "unknown_unicast_flooding_enabled": false, "mac_limit_policy": "ALLOW", "mac_limit": 1, "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_profiles Additional Errors:

Update Mac Discovery Profile

API will update Mac Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/mac-discovery-profiles/{mac-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
MacDiscoveryProfile+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/mac-discovery-profiles/mdp1 { "resource_type":"MacDiscoveryProfile", "display_name": "MacDiscoveryProfile", "description": "", "mac_change_enabled": true, "mac_learning_enabled": true, "unknown_unicast_flooding_enabled": false, "mac_limit_policy": "ALLOW", "mac_limit": 1, "_revision": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MacDiscoveryProfile+

Example Response: { "resource_type":"MacDiscoveryProfile", "display_name": "MacDiscoveryProfile", "description": "", "path": "/infra/mac-discovery-profiles/mdp1", "relative_path": "mdp1", "mac_change_enabled": true, "mac_learning_enabled": true, "unknown_unicast_flooding_enabled": false, "mac_limit_policy": "ALLOW", "mac_limit": 1, "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: crud Feature: policy_profiles Additional Errors:

Create Mac Discovery Profile

API will create Mac Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/mac-discovery-profiles/{mac-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
MacDiscoveryProfile+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/mac-discovery-profiles/mdp1 { "resource_type":"MacDiscoveryProfile", "display_name": "MacDiscoveryProfile", "description": "", "mac_change_enabled": true, "mac_learning_enabled": true, "unknown_unicast_flooding_enabled": false, "mac_limit_policy": "ALLOW", "mac_limit": 1 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Delete Mac Discovery Profile

API will delete Mac Discovery profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/mac-discovery-profiles/{mac-discovery-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/mac-discovery-profiles/mdp1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: QOS Profile Binding

Associated URIs:

List Port QoS Profile Binding Maps

API will list all Port QoS Profile Binding Maps in current port id.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/port-qos-profile-binding-maps
Request Headers:
n/a
Query Parameters:
PortQoSProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/ports/port_1/port-qos-profile-binding-maps Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortQoSProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PortQoSProfileBindingMap", "display_name": "1", "id": "1", "path": "/infra/segments/segment_1/ports/port_1/port-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path": "/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get Port QoS Profile Binding Map

API will get Port QoS Profile Binding Map.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/port-qos-profile-binding-maps/{port-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/ports/port_1/port-qos-profile-binding-maps/1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortQoSProfileBindingMap+

Example Response: { "resource_type": "PortQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/segments/segment_1/ports/port_1/port-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

List Segment QoS Profile Binding Maps

API will list all Segment QoS Profile Binding Maps in current segment id.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-qos-profile-binding-maps
Request Headers:
n/a
Query Parameters:
SegmentQoSProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-qos-profile-binding-maps Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentQoSProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "SegmentQoSProfileBindingMap", "display_name":"1", "id":"1", "path": "/infra/segments/segment_1/segment-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Update Segment QoS Profile Binding Map

API will update Segment QoS Profile Binding Map. For objects with no binding maps, default profile is applied. This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentQoSProfileBindingMap+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-qos-profile-binding-maps/1 { "resource_type":" SegmentQoSProfileBindingMap", "display_name":"1", "description":"", "qos_profile_path":"/global-infra/qos_profiles/1" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentQoSProfileBindingMap+

Example Response: { "resource_type": "SegmentQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/segments/segment_1/segment-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: crud Feature: policy_segment Additional Errors:

Delete Segment QoS Profile Binding Profile

API will delete Segment QoS Profile Binding Profile. This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-qos-profile-binding-maps/1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Get Segment QoS Profile Binding Map

API will get Segment QoS Profile Binding Map.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-qos-profile-binding-maps/1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentQoSProfileBindingMap+

Example Response: { "resource_type": "SegmentQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/segments/segment_1/segment-qos-profile-binding-maps/1", "relative_path": "SegmentQoSProfileBindingMaps", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

Create Segment QoS Profile Binding Map

API will create segment QoS profile binding map. For objects with no binding maps, default profile is applied. This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentQoSProfileBindingMap+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-qos-profile-binding-maps/1 { "resource_type":" SegmentQoSProfileBindingMap", "display_name":"1", "qos_profile_path":"/global-infra/qos_profiles/1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

List Port QoS Profile Binding Maps

API will list all Port QoS Profile Binding Maps in current port id.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/port-qos-profile-binding-maps
Request Headers:
n/a
Query Parameters:
PortQoSProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-qos-profile-binding-maps Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortQoSProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PortQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-qos-profile-binding-maps/1", "relative_path": "PortQoSProfileBindingMaps", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get Port QoS Profile Binding Map

API will get Port QoS Profile Binding Map.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/port-qos-profile-binding-maps/{port-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-qos-profile-binding-maps/1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortQoSProfileBindingMap+

Example Response: { "resource_type": "PortQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/tier-1s/tier-1/segments/segment_1/ports/port_1/port-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

List Segment QoS Profile Binding Maps

API will list all Segment QoS Profile Binding Maps in current segment id.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-qos-profile-binding-maps
Request Headers:
n/a
Query Parameters:
SegmentQoSProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentQoSProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "SegmentQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get Segment QoS Profile Binding Map

API will get Segment QoS Profile Binding Map.
This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentQoSProfileBindingMap+

Example Response: { "resource_type": "SegmentQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 1 } Required Permissions: read Feature: policy_segment Additional Errors:

Create Segment QoS Profile Binding Map

API will create segment QoS profile binding map. For objects with no binding maps, default profile is applied. This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentQoSProfileBindingMap+

Example Request: PATCH https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1 { "resource_type":" SegmentQoSProfileBindingMap", "display_name":"1", "qos_profile_path":"/global-infra/qos_profiles/1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Delete Segment QoS Profile Binding Profile

API will delete Segment QoS Profile Binding Profile. This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Update Segment QoS Profile Binding Map

API will update Segment QoS Profile Binding Map. For objects with no binding maps, default profile is applied. This API is available when using VMware NSX or VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers). Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-qos-profile-binding-maps/{segment-qos-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentQoSProfileBindingMap+

Example Request: PUT https://<nsx-mgr>/global-manager/api/v1/global-infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1 { "resource_type":" SegmentQoSProfileBindingMap", "display_name":"1", "description":"", "qos_profile_path":"/global-infra/qos_profiles/1" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentQoSProfileBindingMap+

Example Response: { "resource_type": "SegmentQoSProfileBindingMap", "description": "", "display_name":"1", "id":"1", "path": "/infra/tier-1s/tier-1/segments/segment_1/segment-qos-profile-binding-maps/1", "relative_path": "1", "qos_profile_path":"/infra/qos_profiles/1", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_revision": 0 } Required Permissions: crud Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: QOS Profiles

List QoS Profiles

API will list all QoS profiles.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/qos-profiles
Request Headers:
n/a
Query Parameters:
QoSProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/qos-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
QoSProfileListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "QoSProfile", "id": "profile_2", "display_name": "/infra/qos-profiles", "path": "/infra/qos-profiles", "parent_path": "/infra", "relative_path": "profile_2", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353633527, "_system_owned": false, "_protection": "NOT_PROTECTED", "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configurations": [ { "resource_type": "IngressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 }, { "resource_type": "IngressBroadcastRateLimiter", "enabled": false, "burst_size": 0, "peak_bandwidth": 0, "average_bandwidth": 0 }, { "resource_type": "EgressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 } ], "class_of_service": 2, "_revision": 1 } ] } Required Permissions: read Feature: policy_profiles Additional Errors:

Patch QoS profile.

Create a new QoS profile if the QoS profile with
given id does not already exist. If the QoS profile with the
given id already exists, patch with the existing QoS profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/qos-profiles/{qos-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
QoSProfile+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/qos-profiles/profile_1 { "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configurations": [ { "resource_type": "IngressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 }, { "resource_type": "IngressBroadcastRateLimiter", "enabled": false, "burst_size": 0, "peak_bandwidth": 0, "average_bandwidth": 0 }, { "resource_type": "EgressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 } ], "class_of_service": 2 } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Create or Replace QoS profile.

Create or Replace QoS profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/qos-profiles/{qos-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
QoSProfile+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/qos-profiles/profile_2 { "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configurations": [ { "resource_type": "IngressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 }, { "resource_type": "IngressBroadcastRateLimiter", "enabled": false, "burst_size": 0, "peak_bandwidth": 0, "average_bandwidth": 0 }, { "resource_type": "EgressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 } ], "class_of_service": 2 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
QoSProfile+

Example Response: { "resource_type": "QoSProfile", "id": "profile_2", "display_name": "profile_2", "path": "/infra/qos-profiles/profile_2", "parent_path": "/infra", "relative_path": "profile_2", "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configurations": [ { "resource_type": "IngressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 }, { "resource_type": "IngressBroadcastRateLimiter", "enabled": false, "burst_size": 0, "peak_bandwidth": 0, "average_bandwidth": 0 }, { "resource_type": "EgressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 } ], "class_of_service": 2 "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 2 } Required Permissions: crud Feature: policy_profiles Additional Errors:

Delete QoS profile

API will delete QoS profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/qos-profiles/{qos-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/qos-profiles/profile_1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Details of QoS profile

API will return details of QoS profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/qos-profiles/{qos-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/qos-profiles/profile_2 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
QoSProfile+

Example Response: { "resource_type": "QoSProfile", "id": "profile_2", "display_name": "/infra/qos-profiles/profile_2", "path": "/infra/qos-profiles/profile_2", "parent_path": "/infra/domains/d1/groups/group_vm", "relative_path": "profile_2", "_create_user": "admin", "_create_time": 1516657975538, "_last_modified_user": "admin", "_last_modified_time": 1517353711231, "_system_owned": false, "_protection": "NOT_PROTECTED", "dscp": { "mode": "TRUSTED", "priority": 0 }, "shaper_configurations": [ { "resource_type": "IngressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 }, { "resource_type": "IngressBroadcastRateLimiter", "enabled": false, "burst_size": 0, "peak_bandwidth": 0, "average_bandwidth": 0 }, { "resource_type": "EgressRateLimiter", "enabled": false, "average_bandwidth": 0, "peak_bandwidth": 0, "burst_size": 0 } ], "class_of_service": 2, "_revision": 1 } Required Permissions: read Feature: policy_profiles Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: Security Profile Binding

Patch segment security profile binding map

Create a new segment security profile binding map if the given security
profile binding map does not exist. Otherwise, patch the existing segment
security profile binding map.
For objects with no binding maps, default profile is applied.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentSecurityProfileBindingMap+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 { "spoofguard_profile_path": "/global-infra/spoofguard-profiles/spoofguardprofile_1", "segment_security_profile_path": "/global-infra/segment-security-profiles/segmentsecurityprofile_1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: Segment Security Profile Binding

Associated URIs:

List infra segment port security profile binding maps

API will list all port security profile binding maps.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/port-security-profile-binding-maps
Request Headers:
n/a
Query Parameters:
PortSecurityProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/ports/port_1/port-security-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortSecurityProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PortSecurityProfileBindingMap", "id": "port-security-profile-binding-map_1", "display_name": "port-security-profile-binding-map_1", "path": "/infra/segments/segment_1/ports/port_1/port-security-profile-binding-maps/port-security-profile-binding-map_1", "parent_path": "/infra/segments/segment_1/ports/port_1", "relative_path": "port-security-profile-binding-map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "", "_create_user": "admin", "_create_time": 1539130261922, "_last_modified_user": "admin", "_last_modified_time": 1539130308980, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get infra segment port security profile binding map

API will return details of the port security profile binding map. If the
security profile binding map does not exist, it will return 404.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/ports/{port-id}/port-security-profile-binding-maps/{port-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/ports/port_1/port-security-profile-binding-maps/port_security_binding_map_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortSecurityProfileBindingMap+

Example Response: { "resource_type": "PortSecurityProfileBindingMap", "id": "port-security-profile-binding-map_1", "display_name": "port-security-profile-binding-map_1", "path": "/infra/segments/segment_1/ports/port_1/port-security-profile-binding-maps/port-security-profile-binding-map_1", "parent_path": "/infra/segments/segment_1/ports/port_1", "relative_path": "port-security-profile-binding-map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "_create_user": "admin", "_create_time": 1539130261922, "_last_modified_user": "admin", "_last_modified_time": 1539130261922, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

List infra segment security profile binding maps

API will list all segment security profile binding maps.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-security-profile-binding-maps
Request Headers:
n/a
Query Parameters:
SegmentSecurityProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-security-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/infra/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "", "_create_user": "admin", "_create_time": 1539129491798, "_last_modified_user": "admin", "_last_modified_time": 1539129739799, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Patch infra segment security profile binding map

Create a new segment security profile binding map if the given security
profile binding map does not exist. Otherwise, patch the existing segment
security profile binding map.
For objects with no binding maps, default profile is applied.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentSecurityProfileBindingMap+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 { "spoofguard_profile_path": "/global-infra/spoofguard-profiles/spoofguardprofile_1", "segment_security_profile_path": "/global-infra/segment-security-profiles/segmentsecurityprofile_1" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Get infra segment security profile binding map

API will return details of the segment security profile binding map. If the
binding map does not exist, it will return 404.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileBindingMap+

Example Response: { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/infra/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "_create_user": "admin", "_create_time": 1539129491798, "_last_modified_user": "admin", "_last_modified_time": 1539129491798, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

Delete infra segment security profile binding map

API will delete segment security profile binding map.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Create or replace infra segment security profile binding map

API will create or replace segment security profile binding map.
For objects with no binding maps, default profile is applied.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentSecurityProfileBindingMap+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/global-infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/global-infra/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "segment_security_profile_path": "/global-infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "", "_create_user": "admin", "_create_time": 1539129491798, "_last_modified_user": "admin", "_last_modified_time": 1539129491798, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileBindingMap+

Example Response: { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/infra/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/infra/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "", "_create_user": "admin", "_create_time": 1539129491798, "_last_modified_user": "admin", "_last_modified_time": 1539129739799, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: crud Feature: policy_segment Additional Errors:

List port security profile binding maps

API will list all port security profile binding maps.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/port-security-profile-binding-maps
Request Headers:
n/a
Query Parameters:
PortSecurityProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/ports/port_1/port-security-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortSecurityProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "PortSecurityProfileBindingMap", "id": "port-security-profile-binding-map_1", "display_name": "port-security-profile-binding-map_1", "path": "/infra/tier-1s/tier1_1/segments/segment_1/ports/port_1/port-security-profile-binding-maps/port-security-profile-binding-map_1", "parent_path": "/infra/tier-1s/tier1_1/segments/segment_1/ports/port_1", "relative_path": "port-security-profile-binding-map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "", "_create_user": "admin", "_create_time": 1539130135604, "_last_modified_user": "admin", "_last_modified_time": 1539130486350, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get port security profile binding map

API will return details of the port security profile binding map. If the
security profile binding map does not exist, it will return 404.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/ports/{port-id}/port-security-profile-binding-maps/{port-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/ports/port_1/port-security-profile-binding-maps/port_security_binding_map_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortSecurityProfileBindingMap+

Example Response: { "resource_type": "PortSecurityProfileBindingMap", "id": "port-security-profile-binding-map_1", "display_name": "port-security-profile-binding-map_1", "path": "/infra/tier-1s/tier1_1/segments/segment_1/ports/port_1/port-security-profile-binding-maps/port-security-profile-binding-map_1", "parent_path": "/infra/tier-1s/tier1_1/segments/segment_1/ports/port_1", "relative_path": "port-security-profile-binding-map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "_create_user": "admin", "_create_time": 1539130135604, "_last_modified_user": "admin", "_last_modified_time": 1539130135604, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

List segment security profile binding maps

API will list all segment security profile binding maps.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-security-profile-binding-maps
Request Headers:
n/a
Query Parameters:
SegmentSecurityProfileBindingMapListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileBindingMapListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/infra/tier-1s/tier1_1/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "spoofguard_profile_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "_create_user": "admin", "_create_time": 1539129320511, "_last_modified_user": "admin", "_last_modified_time": 1539129593401, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Get segment security profile binding map

API will return details of the segment security profile binding map. If the
binding map does not exist, it will return 404.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileBindingMap+

Example Response: { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/infra/tier-1s/tier1_1/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "segment_security_profile_path": "/infra/segment-security-profiles/segmentsecurityprofile_1", "spoofguard_profile_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "_create_user": "admin", "_create_time": 1539129320511, "_last_modified_user": "admin", "_last_modified_time": 1539129320511, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

Delete segment security profile binding map

API will delete segment security profile binding map.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_segment Additional Errors:

Create or replace segment security profile binding map

API will create or replace segment security profile binding map.
For objects with no binding maps, default profile is applied.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/segment-security-profile-binding-maps/{segment-security-profile-binding-map-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SegmentSecurityProfileBindingMap+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1 { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/global-infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/global-infra/tier-1s/tier1_1/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "spoofguard_profile_path": "/global-infra/spoofguard-profiles/spoofguardprofile_1", "segment_security_profile_path": "/global-infra/segment-security-profiles/segment_security_2", "_create_user": "admin", "_create_time": 1539129320511, "_last_modified_user": "admin", "_last_modified_time": 1539129320511, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileBindingMap+

Example Response: { "resource_type": "SegmentSecurityProfileBindingMap", "id": "segment_security_binding_map_1", "display_name": "segment_security_binding_map_1", "path": "/infra/tier-1s/tier1_1/segments/segment_1/segment-security-profile-binding-maps/segment_security_binding_map_1", "parent_path": "/infra/tier-1s/tier1_1/segments/segment_1", "relative_path": "segment_security_binding_map_1", "marked_for_delete": false, "spoofguard_profile_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "segment_security_profile_path": "/infra/segment-security-profiles/segment_security_2", "_create_user": "admin", "_create_time": 1539129320511, "_last_modified_user": "admin", "_last_modified_time": 1539129593401, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: crud Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: Segment Security Profiles

List segment security profiles

API will list all segment security profiles.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segment-security-profiles
Request Headers:
n/a
Query Parameters:
SegmentSecurityProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segment-security-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfileListResult+

Example Response: { "results": [ { "bpdu_filter_enable": true, "bpdu_filter_allow": [ "01:80:c2:00:00:00", "01:80:c2:00:00:01" ], "dhcp_server_block_enabled": true, "dhcp_client_block_enabled": true, "non_ip_traffic_block_enabled": true, "dhcp_server_block_v6_enabled": true, "dhcp_client_block_v6_enabled": true, "ra_guard_enabled": true, "rate_limits_enabled": false, "resource_type": "SegmentSecurityProfile", "id": "my-segment-security-profile", "display_name": "MySegmentSecurityProfile", "description": "MySegmentSecurityProfile", "path": "/infra/segment-security-profiles/my-segment-security-profile", "relative_path": "my-segment-security-profile", "parent_path": "/infra/segment-security-profiles/my-segment-security-profile", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544566776526, "_last_modified_user": "admin", "_last_modified_time": 1544566776526, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "bpdu_filter_enable": true, "bpdu_filter_allow": [], "dhcp_server_block_enabled": true, "dhcp_client_block_enabled": false, "non_ip_traffic_block_enabled": false, "dhcp_server_block_v6_enabled": true, "dhcp_client_block_v6_enabled": false, "ra_guard_enabled": false, "rate_limits_enabled": false, "rate_limits": { "rx_broadcast": 0, "tx_broadcast": 0, "rx_multicast": 0, "tx_multicast": 0 }, "resource_type": "SegmentSecurityProfile", "id": "default-segment-security-profile", "display_name": "default-segment-security-profile", "path": "/infra/segment-security-profiles/default-segment-security-profile", "relative_path": "default-segment-security-profile", "parent_path": "/infra/segment-security-profiles/default-segment-security-profile", "marked_for_delete": false, "_create_user": "system", "_create_time": 1544555959907, "_last_modified_user": "system", "_last_modified_time": 1544555959907, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 } ], "result_count": 2, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_profiles Additional Errors:

PATCH segment security profile id

Create a new segment security profile if the segment security profile with given id does not
exist. Otherwise, PATCH the existing segment security profile
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/segment-security-profiles/{segment-security-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
SegmentSecurityProfile+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/segment-security-profiles/my-segment-security-profile { "resource_type": "SegmentSecurityProfile", "id": "MySegmentSecurityProfile", "display_name": "MySegmentSecurityProfile", "description": "MySegmentSecurityProfile", "bpdu_filter_enable": true, "bpdu_filter_allow":["01:80:c2:00:00:00", "01:80:c2:00:00:01"], "dhcp_server_block_enabled": true, "dhcp_client_block_enabled": true, "non_ip_traffic_block_enabled": true, "dhcp_server_block_v6_enabled": true, "dhcp_client_block_v6_enabled": true, "ra_guard_enabled": true } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

PUT segment security profile id

Create or replace a segment security profile
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/segment-security-profiles/{segment-security-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
SegmentSecurityProfile+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/segment-security-profiles/my-segment-security-profile { "resource_type": "SegmentSecurityProfile", "id": "MySegmentSecurityProfile", "display_name": "MySegmentSecurityProfile", "description": "MySegmentSecurityProfile", "bpdu_filter_enable": true, "bpdu_filter_allow":["01:80:c2:00:00:00", "01:80:c2:00:00:01"], "dhcp_server_block_enabled": true, "dhcp_client_block_enabled": true, "non_ip_traffic_block_enabled": true, "dhcp_server_block_v6_enabled": true, "dhcp_client_block_v6_enabled": true, "ra_guard_enabled": true } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfile+

Example Response: { "resource_type":"SegmentSecurityProfile", "id":"MySegmentSecurityProfile", "display_name": "MySegmentSecurityProfile", "description": "MySegmentSecurityProfile", "path": "/infra/segment-security-profiles/my-segment-security-profile-id", "relative_path": "MySegmentSecurityProfile", "bpdu_filter_enable": "true", "bpdu_filter_allow":["01:80:c2:00:00:00", "01:80:c2:00:00:01"], "dhcp_server_block_enabled": Boolean, "dhcp_server_block_enabled": Boolean, "non_ip_traffic_block_enabled": Boolean, "dhcp_server_block_v6_enabled": "true" "dhcp_server_block_v6_enabled": "true" "ra_guard_enabled":"true" "_create_user": "admin", "_create_time": 1488995381918, "_last_modified_user": "admin", "_last_modified_time": 1488995381918, "_system_owned": false, "_revision": 0 } Required Permissions: crud Feature: policy_profiles Additional Errors:

DELETE segment security profile

API will delete segment security profile with the given id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/segment-security-profiles/{segment-security-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/segment-security-profiles/my-segment-security-profile Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

GET Segment security profile id

API will return details of the segment security profile with given id. If the
profile does not exist, it will return 404.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segment-security-profiles/{segment-security-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segment-security-profiles/my-segment-security-profile-id Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentSecurityProfile+

Example Response: { "bpdu_filter_enable": true, "bpdu_filter_allow": [ "01:80:c2:00:00:00", "01:80:c2:00:00:01" ], "dhcp_server_block_enabled": true, "dhcp_client_block_enabled": true, "non_ip_traffic_block_enabled": true, "dhcp_server_block_v6_enabled": true, "dhcp_client_block_v6_enabled": true, "ra_guard_enabled": true, "rate_limits_enabled": false, "resource_type": "SegmentSecurityProfile", "id": "my-segment-security-profile", "display_name": "MySegmentSecurityProfile", "description": "MySegmentSecurityProfile", "path": "/infra/segment-security-profiles/my-segment-security-profile", "relative_path": "my-segment-security-profile", "parent_path": "/infra/segment-security-profiles/my-segment-security-profile", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544566776526, "_last_modified_user": "admin", "_last_modified_time": 1544566776526, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_profiles Additional Errors:

Policy: Networking: Connectivity: Segments: Segment Profiles: Spoofguard Profiles

List SpoofGuard profiles

API will list all SpoofGuard profiles.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/spoofguard-profiles
Request Headers:
n/a
Query Parameters:
SpoofGuardProfileListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/spoofguard-profiles/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SpoofGuardProfileListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 2, "results": [ { "resource_type": "SpoofGuardProfile", "id": "default-spoofguard-profile", "display_name": "default-spoofguard-profile", "path": "/infra/spoofguard-profiles/default-spoofguard-profile", "parent_path": "/infra/spoofguard-profiles/default-spoofguard-profile", "relative_path": "default-spoofguard-profile", "marked_for_delete": false, "address_binding_allowlist": false, "_create_user": "system", "_create_time": 1539118620552, "_last_modified_user": "system", "_last_modified_time": 1539118620552, "_system_owned": true, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "resource_type": "SpoofGuardProfile", "id": "spoofguardprofile_1", "display_name": "spoofguardprofile_1", "path": "/infra/spoofguard-profiles/spoofguardprofile_1", "parent_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "relative_path": "spoofguardprofile_1", "marked_for_delete": false, "address_binding_allowlist": false, "_create_user": "admin", "_create_time": 1539128784467, "_last_modified_user": "admin", "_last_modified_time": 1539128784467, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_profiles Additional Errors:

Delete SpoofGuard profile

API will delete SpoofGuard profile with the given id.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/spoofguard-profiles/{spoofguard-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/spoofguard-profiles/spoofguardprofile_1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Get SpoofGuard profile

API will return details of the SpoofGuard profile with given id. If the
profile does not exist, it will return 404.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/spoofguard-profiles/{spoofguard-profile-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/spoofguard-profiles/spoofguardprofile_1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SpoofGuardProfile+

Example Response: { "resource_type": "SpoofGuardProfile", "id": "spoofguardprofile_1", "display_name": "spoofguardprofile_1", "path": "/infra/spoofguard-profiles/spoofguardprofile_1", "parent_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "relative_path": "spoofguardprofile_1", "marked_for_delete": false, "address_binding_allowlist": false, "_create_user": "admin", "_create_time": 1539128784467, "_last_modified_user": "admin", "_last_modified_time": 1539128784467, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_profiles Additional Errors:

Create or replace SpoofGuard profile

API will create or replace SpoofGuard profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/spoofguard-profiles/{spoofguard-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
SpoofGuardProfile+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/spoofguard-profiles/spoofguardprofile_1 { "resource_type": "SpoofGuardProfile", "id": "spoofguardprofile_1", "display_name": "spoofguardprofile_1", "path": "/global-infra/spoofguard-profiles/spoofguardprofile_1", "parent_path": "/global-infra/spoofguard-profiles/spoofguardprofile_1", "relative_path": "spoofguardprofile_1", "address_binding_allowlist": true, "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SpoofGuardProfile+

Example Response: { "resource_type": "SpoofGuardProfile", "id": "spoofguardprofile_1", "display_name": "spoofguardprofile_1", "path": "/infra/spoofguard-profiles/spoofguardprofile_1", "parent_path": "/infra/spoofguard-profiles/spoofguardprofile_1", "relative_path": "spoofguardprofile_1", "marked_for_delete": false, "address_binding_allowlist": true, "_create_user": "admin", "_create_time": 1539128784467, "_last_modified_user": "admin", "_last_modified_time": 1539129032044, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 1 } Required Permissions: crud Feature: policy_profiles Additional Errors:

Patch SpoofGuard profile

Create a new SpoofGuard profile if the SpoofGuard profile with the given id
does not exist. Otherwise, patch with the existing SpoofGuard profile.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/spoofguard-profiles/{spoofguard-profile-id}
Request Headers:
n/a
Query Parameters:
OverrideRequestParameters+
Request Body:
SpoofGuardProfile+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/spoofguard-profiles/spoofguardprofile_1 { "display_name": "SpoofGuardProfile", "description": "SpoofGuardProfile", "address_binding_allowlist": true } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: policy_profiles Additional Errors:

Policy: Networking: Connectivity: Segments: Segments

List all segments under infra

Paginated list of all segments under infra.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments
Request Headers:
n/a
Query Parameters:
SegmentListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/segments/web-tier", "parent_path": "/infra/segments/web-tier", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/infra/tier-1s/mgw", "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Read infra segment

Read infra segment
Note:
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Segment+

Example Response: { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/tier-1s/cgw/segments/web-tier", "parent_path": "/infra/tier-1s/cgw", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/infra/tier-1s/mgw", "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

Create or update a segment

If segment with the segment-id is not already present, create a new segment.
If it already exists, update the segment with specified attributes.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Segment+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier { "display_name":"web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/global-infra/tier-1s/mgw" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Delete infra segment

Delete infra segment This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Create or update a infra segment

If segment with the segment-id is not already present, create a new segment.
If it already exists, replace the segment with this object.
Note:
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the Alarm, GPRR, error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Segment+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier { "display_name":"web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/global-infra/tier-1s/mgw", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Segment+

Example Response: { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/tier-1s/cgw/segments/web-tier", "parent_path": "/infra/tier-1s/cgw", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/infra/tier-1s/mgw", "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_segment Additional Errors:

List all effective profiles for infra segment

List all effective profiles for this segment on given enforcement point. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/effective-profiles
Request Headers:
n/a
Query Parameters:
EnforcementPointRequest+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/tier0-ls/effective-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveProfilesResponse+

Required Permissions: read Feature: policy_segment Additional Errors:

Create or update a segment

If segment with the segment-id is not already present, create a new segment.
If it already exists, update the segment with specified attributes.

Force parameter is required when workload connectivity is indirectly impacted
with the current update.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}?force=true
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Segment+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier>?force=true { "display_name":"web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/global-infra/tier-1s/mgw" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Create or update a infra segment

If segment with the segment-id is not already present, create a new segment.
If it already exists, replace the segment with this object.

Force parameter is required when workload connectivity is indirectly impacted
with the current replacement.
Note:
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the Alarm, GPRR, error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
This API is available when using VMware Cloud (AWS, Dell-EMC, Outpost, Hyperscalers) or VMware NSX. Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}?force=true
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Segment+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier?force=true { "display_name":"web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/global-infra/tier-1s/mgw", "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Segment+

Example Response: { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/tier-1s/cgw/segments/web-tier", "parent_path": "/infra/tier-1s/cgw", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "connectivity_path": "/infra/tier-1s/mgw", "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_segment Additional Errors:

Force delete infra segment

Force delete bypasses validations during segment deletion. This may result in an inconsistent connectivity. Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}?force=true
Request Headers:
n/a
Query Parameters:
SegmentDeleteRequestParameters+
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-tier Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Segments (Fixed)

Associated URIs:

Paginated list of all fixed segments (identified as /policy/api/v1/infra/tier-1s//segments/) under Tier-1 instance.

Paginated list of all fixed segments (identified as /policy/api/v1/infra/tier-1s//segments/) under Tier-1 instance.
This API call does not return flexible segments (identified as /policy/api/v1/infra/segments/) connected to the Tier-1.
To return all segments connected as a downlink to a Tier-1 one possibility is to use the search API with: https://{{nsx-mgr}}/policy/api/v1/search?query=resource_type:Segment%20AND%20connectivity_path:“/infra/tier-1s/
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PUT/PATCH API payload, the path returned in the GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments
Request Headers:
n/a
Query Parameters:
SegmentListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/tier-1s/cgw/segments/web-tier", "parent_path": "/infra/tier-1s/cgw", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_segment Additional Errors:

Delete segment

Delete segment Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments/web-tier Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Create or update a segment

If segment with the segment-id is not already present, create a new segment.
If it already exists, replace the segment with this object.
Note:
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PUT API payload, the path returned in the PUT/GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the Alarm, GPRR, error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Segment+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments/web-tier { "display_name":"web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "_revision": 0 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Segment+

Example Response: { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/tier-1s/cgw/segments/web-tier", "parent_path": "/infra/tier-1s/cgw", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_segment Additional Errors:

Create or update a segment

If segment with the segment-id is not already present, create a new segment.
If it already exists, update the segment with specified attributes.
Note:
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PATCH API payload, the path returned in the GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the Alarm, GPRR, error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Segment+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments/web-tier { "display_name":"web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Read segment

Read segment
Note:
Extended Segment: Please note that old vpn path deprecated. If user specify old l2vpn path in the
"l2_extension" object in the PUT/PATCH API payload, the path returned in the GET response payload may include the new path
instead of the deprecated l2vpn path. Both old and new l2vpn path refer to same resource. there is no functional impact.
Also note that l2vpn path included in the error messages returned from validation may include the new VPN path
instead of the deprecated l2vpn path. Both new path and old vpn path refer to same resource.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments/web-tier Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Segment+

Example Response: { "resource_type": "Segment", "id": "web-tier", "display_name": "web-tier", "path": "/infra/tier-1s/cgw/segments/web-tier", "parent_path": "/infra/tier-1s/cgw", "relative_path": "web-tier", "subnets": [ { "gateway_address": "40.1.1.1/16", "dhcp_ranges": [ "40.1.2.0/24" ] } ], "_create_user": "admin", "_create_time": 1516668961954, "_last_modified_user": "admin", "_last_modified_time": 1516668961954, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

List all effective profiles for segment

List all effective profiles for this segment on given enforcement point. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/effective-profiles
Request Headers:
n/a
Query Parameters:
EnforcementPointRequest+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/tier1-ls/effective-profiles Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EffectiveProfilesResponse+

Required Permissions: read Feature: policy_segment Additional Errors:

Delete static ARP config

Delete static ARP config Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/static-arp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/production_t1/segments/production-t1-seg/static-arp Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Create or update a static ARP config

Create static ARP config with Tier-1 and segment IDs provided if it doesn't exist,
update with provided config if it's already created.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/static-arp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
StaticARPConfig+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/production_t1/segments/production-t1-seg/static-arp { "ip_address":"1.1.1.1", "mac_address":"aa:bb:cc:44:55:66" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticARPConfig+

Example Response: { "ip_address": "1.1.1.1", "mac_address": "aa:bb:cc:44:55:66", "resource_type": "StaticARPConfig", "id": "static-arp", "display_name": "static-arp", "path": "/infra/tier-1s/production_t1/segments/production-t1-seg/static-arp", "relative_path": "static-arp", "parent_path": "/infra/tier-1s/production_t1", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544640364065, "_last_modified_user": "admin", "_last_modified_time": 1544640364065, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: execute Feature: policy_segment Additional Errors:

Create or update a static ARP config

Create static ARP config with Tier-1 and segment IDs provided if it doesn't exist,
update with provided config if it's already created.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/static-arp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
StaticARPConfig+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/production_t1/segments/production-t1-seg/static-arp { "ip_address":"1.1.1.1", "mac_address":"aa:bb:cc:44:55:66" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: execute Feature: policy_segment Additional Errors:

Read static ARP config

Read static ARP config Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/static-arp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/production_t1/segments/production-t1-seg/static-arp Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
StaticARPConfig+

Example Response: { "ip_address": "1.1.1.1", "mac_address": "aa:bb:cc:44:55:66", "resource_type": "StaticARPConfig", "id": "static-arp", "display_name": "static-arp", "path": "/infra/tier-1s/production_t1/segments/production-t1-seg/static-arp", "relative_path": "static-arp", "parent_path": "/infra/tier-1s/production_t1", "marked_for_delete": false, "_create_user": "admin", "_create_time": 1544640364065, "_last_modified_user": "admin", "_last_modified_time": 1544640364065, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_segment Additional Errors:

Force delete segment

Force delete bypasses validations during segment deletion. This may result in an inconsistent connectivity.
Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}?force=true
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/cgw/segments/web-tier?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: State

Get infra segment state information

Get infra segment state information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segments-id}/state
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/tier0-ls/state?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentConfigurationState+

Example Response: { "logical_switch_id": "211fe0fb-ae0c-4e16-9560-4b7647adefd8", "state": "success", "details": [] } Required Permissions: read Feature: policy_segment Additional Errors:

Get segment state information

Get tier1 segment state information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segments-id}/state
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/it_t1/segments/it-t1-seg/state?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentConfigurationState+

Example Response: { "logical_switch_id": "211fe0fb-ae0c-4e16-9560-4b7647adefd8", "state": "success", "details": [] } Required Permissions: read Feature: policy_segment Additional Errors:

Get tier-1 segments by configuration state

Returns all tier-1 segments with configuration state on the enforcement
point specified in the request
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/state
Request Headers:
n/a
Query Parameters:
SegmentStateRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/TLR1_LR/segments/state?configuration_state=success&enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentConfigurationStateListResult+

Example Response: { "results": [ { "segment_path": "/infra/tier-1s/TLR1_LR/segments/TIER1_DOWNLINK_SWITCH", "state": "success", "details": [] } ], "result_count": 1 } Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Segments: Statistics

Get infra segment port statistics information

Get infra segment port statistics information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segments-id}/ports/{port-id}/statistics
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/tier0-ls-2/ports/ls2-p1/statistics?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortStatistics+

Example Response: { "rx_packets": { "total": 0 }, "rx_bytes": { "total": 0 }, "tx_packets": { "total": 0 }, "tx_bytes": { "total": 0 }, "logical_port_id": "706aecff-7741-4856-bc9b-d96fbcf474b8" } Required Permissions: read Feature: policy_segment Additional Errors:

Get infra segment statistics information

Get infra segment statistics information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segments-id}/statistics
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/tier0-ls/statistics?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentStatistics+

Example Response: { "rx_packets": { "dropped": 0, "total": 13 }, "rx_bytes": { "total": 642 }, "tx_packets": { "dropped": 0, "total": 0 }, "tx_bytes": { "total": 0 }, "logical_switch_id": "8ff845d2-06a4-47d5-adb2-dd386053e88d", "last_update_timestamp": 1548964270603 } Required Permissions: read Feature: policy_segment Additional Errors:

Get infra segments by configuration state

Returns all infra segments with configuration state on the enforcement
point specified in the request
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/state
Request Headers:
n/a
Query Parameters:
SegmentStateRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/state?configuration_state=success&enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentConfigurationStateListResult+

Example Response: { "results": [ { "segment_path": "/infra/segments/test-infra-seg", "state": "success", "details": [] }, { "segment_path": "/infra/segments/md-proxy-seg1", "state": "success", "details": [] }, { "segment_path": "/infra/segments/test-t0-dl", "state": "success", "details": [] }, { "segment_path": "/infra/segments/t0-ext-seg", "state": "success", "details": [] }, { "segment_path": "/infra/segments/TIER0_DOWN_LINK_SWITCH", "state": "success", "details": [] } ], "result_count": 5 } Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-1 segment port statistics information

Get tier-1 segment port statistics information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segments-id}/ports/{port-id}/statistics
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1//global-infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:cf3a0716-3ba0-4327-a8e5-b1e76269108f/statistics?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortStatistics+

Example Response: { "rx_packets": { "multicast_broadcast": 6648, "dropped": 793, "total": 8546 }, "rx_bytes": { "multicast_broadcast": 565080, "dropped": 0, "total": 898998 }, "tx_packets": { "multicast_broadcast": 6648, "dropped": 0, "total": 8546 }, "tx_bytes": { "multicast_broadcast": 498600, "dropped": 0, "total": 880098 }, "dropped_by_security_packets": { "spoof_guard_dropped": [ { "packet_type": "IPV4", "counter": 0 }, { "packet_type": "IPV6", "counter": 0 }, { "packet_type": "ARP", "counter": 0 }, { "packet_type": "ND", "counter": 0 }, { "packet_type": "NON_IP", "counter": 0 } ], "bpdu_filter_dropped": 0, "dhcp_server_dropped_ipv4": 0, "dhcp_server_dropped_ipv6": 0, "dhcp_client_dropped_ipv4": 0, "dhcp_client_dropped_ipv6": 0 }, "mac_learning": { "mac_not_learned_packets_allowed": 0, "mac_not_learned_packets_dropped": 0, "macs_learned": 0 }, "logical_port_id": "cf3a0716-3ba0-4327-a8e5-b1e76269108f", "last_update_timestamp": 1548964938985 } Required Permissions: read Feature: policy_segment Additional Errors:

Get segment statistics information

Get tier1 segment statistics information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segments-id}/statistics
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/it_t1/segments/it-t1-seg/statistics?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentStatistics+

Example Response: { "rx_packets": { "multicast_broadcast": 19914, "dropped": 2358, "total": 28909 }, "rx_bytes": { "multicast_broadcast": 1692690, "dropped": 0, "total": 3692670 }, "tx_packets": { "multicast_broadcast": 19914, "dropped": 0, "total": 28968 }, "tx_bytes": { "multicast_broadcast": 1493550, "dropped": 0, "total": 2853978 }, "dropped_by_security_packets": { "spoof_guard_dropped": [ { "packet_type": "IPV4", "counter": 0 }, { "packet_type": "IPV6", "counter": 0 }, { "packet_type": "ARP", "counter": 0 }, { "packet_type": "ND", "counter": 0 }, { "packet_type": "NON_IP", "counter": 0 } ], "bpdu_filter_dropped": 0, "dhcp_server_dropped_ipv4": 0, "dhcp_server_dropped_ipv6": 0, "dhcp_client_dropped_ipv4": 0, "dhcp_client_dropped_ipv6": 0 }, "mac_learning": { "mac_not_learned_packets_allowed": 0, "mac_not_learned_packets_dropped": 0, "macs_learned": 0 }, "logical_switch_id": "3df039b1-d031-4733-987f-fcf8a4ed3e5b", "last_update_timestamp": 1548964636611 } Required Permissions: read Feature: policy_segment Additional Errors:

Policy: Networking: Connectivity: Segments: Status

Get infra segment port status information

Get infra segment port status information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segments-id}/ports/{port-id}/status
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/tier0-ls-2/ports/ls2-p1/status?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortStatus+

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

Get segment port status information

Get tier1 segment port status information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segments-id}/ports/{port-id}/status
Request Headers:
n/a
Query Parameters:
L2L3RuntimeRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1//global-infra/tier-1s/it_t1/segments/it-t1-seg/ports/default:cf3a0716-3ba0-4327-a8e5-b1e76269108f/status?enforcement_point_path=/global-infra/sites/default/enforcement-points/default Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SegmentPortStatus+

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

Policy: Networking: Connectivity: Segments: TEP Table

Get infra segment TEP table

Returns TEP table for a segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/tep-table
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER1_DOWNLINK_SWITCH/tep-table?source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyTepListResult+

Example Response: { "last_update_timestamp": 1591745956155, "results": [ { "tep_label": 55298, "tep_ip": "100.100.100.3", "tep_mac_address": "00:50:56:6a:af:ce" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-1 segment TEP table in CSV

Returns TEP table for a segment in CSV
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/tep-table?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/test-infra-seg/tep-table?format=csv&source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
PolicyTepCsvListResult+

Example Response: tep_label,tep_ip,tep_mac_address,segment_id 55298,100.100.100.3,00:50:56:6a:af:ce, Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-1 segment TEP table

Returns TEP table for a segment
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/tep-table
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/TLR1_LR/segments/TIER1_DOWNLINK_SWITCH/tep-table?source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyTepListResult+

Example Response: { "last_update_timestamp": 1591745956155, "results": [ { "tep_label": 55298, "tep_ip": "100.100.100.3", "tep_mac_address": "00:50:56:6a:af:ce" } ], "result_count": 1, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-1 segment TEP table in CSV

Returns TEP table for a segment in CSV
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/segments/{segment-id}/tep-table?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/tier-1s/pepsi/segments/test-infra-seg/tep-table?format=csv&source=realtime Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
PolicyTepCsvListResult+

Example Response: tep_label,tep_ip,tep_mac_address,segment_id 55298,100.100.100.3,00:50:56:6a:af:ce, Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Tier-0 Gateways

Policy: Networking: Connectivity: Tier-0 Gateways: ARP Proxies

Get Tier-0 Address Resolution Protocol Proxies

Returns ARP proxy table for a tier-0
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/arp-proxies
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/pepsi/arp-proxies Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyArpProxyTableListResult+

Example Response: TODO smanikarnike Required Permissions: read Feature: policy_statistics Additional Errors:

Get Tier-0 Address Resolution Protocol Proxies in CSV format

Returns ARP proxy table for a tier-0 in CSV format
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/arp-proxies?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/pepsi/arp-proxies?format=csv Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
PolicyArpProxyTableCsvListResult+

Example Response: TODO : smanikarnike Required Permissions: read Feature: policy_statistics Additional Errors:

Get Tier-0 Address Resolution Protocol Proxies (Deprecated)

Returns ARP proxy table for a tier-0
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/arp-proxies
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/pepsi/locale-services/1-policyconnectivity-1340/arp-proxies Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyArpProxyTableListResult+

Example Response: { "results": [ { "interface_arp_proxy" : [ { "service_id" : "22", "arp_proxy_ip" : "10.22.2.42" }, { "service_id" : "0", "arp_proxy_ip" : "10.22.12.100" } ] } ] } Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Tier-0 Gateways: Interface Groups

List Tier-0 Interface groups

Paginated list of all Tier-0 Interface groups under locale service.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interface-groups
Request Headers:
n/a
Query Parameters:
Tier0InterfaceGroupListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/ls1/interface-groups Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Tier0InterfaceGroupListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "Tier0InterfaceGroup", "id": "group1", "display_name": "group1", "path": "/infra/tier-0s/t0/locale-services/ls1/interface-groups/group1", "parent_path": "/infra/tier-0s/t0/locale-services/ls1", "relative_path": "group1", "members": [ { "interface_path": "/infra/tier-0s/t0/locale-services/interfaces/ls1/intf1" }, { "interface_path": "/infra/tier-0s/t0/locale-services/interfaces/ls1/intf2" } ], "source_nat_ip_pool": [ "pool1", "pool2" ], "_create_user": "admin", "_create_time": 1516751318020, "_last_modified_user": "admin", "_last_modified_time": 1516751318020, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_t0 Additional Errors:

Delete Tier-0 Interface group

Delete Tier-0 Interface group Request:
Method:
DELETE
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interface-groups/{label-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/ls1/interface-groups/group1 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_t0 Additional Errors:

Read Tier-0 Interface group

Read Tier-0 Interface group Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interface-groups/{label-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/ls1/interface-groups/group1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Tier0InterfaceGroup+

Example Response: { "resource_type": "Tier0InterfaceGroup", "id": "group1", "display_name": "group1", "path": "/infra/tier-0s/t0/locale-services/ls1/interface-groups/group1", "parent_path": "/infra/tier-0s/t0/locale-services/ls1", "relative_path": "group1", "members": [ { "interface_path": "/infra/tier-0s/t0/locale-services/interfaces/ls1/intf1" }, { "interface_path": "/infra/tier-0s/t0/locale-services/interfaces/ls1/intf2" } ], "source_nat_ip_pool": [ "pool1", "pool2" ], "_create_user": "admin", "_create_time": 1516751318020, "_last_modified_user": "admin", "_last_modified_time": 1516751318020, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: read Feature: policy_t0 Additional Errors:

Create or update a Tier-0 Interface group.

If an Interface group with the label-id is not already present, create a new
Interface group. If it already exists, update the Interface group for specified attributes.
Request:
Method:
PATCH
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interface-groups/{label-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Tier0InterfaceGroup+

Example Request: PATCH https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/ls1/interface-groups/group1 { "members": [ { "interface_path": "/global-infra/tier-0s/t0/locale-services/ls1/interfaces/intf1" }, { "interface_path": "/global-infra/tier-0s/t0/locale-services/ls1/interfaces/intf2" } ], "source_nat_ip_pool": [ "pool1", "pool2" ] } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: 200 OK Required Permissions: crud Feature: policy_t0 Additional Errors:

Update a Tier-0 Interface group.

Update the Interface group for specified attributes.
Request:
Method:
PUT
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interface-groups/{label-id}
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Tier0InterfaceGroup+

Example Request: PUT https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/ls1/interface-groups/group1 { "members": [ { "interface_path": "/global-infra/tier-0s/t0/locale-services/interfaces/ls1/intf1" }, { "interface_path": "/global-infra/tier-0s/t0/locale-services/interfaces/ls1/intf2" } ], "source_nat_ip_pool": [ "pool1", "pool2" ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Tier0InterfaceGroup+

Example Response: { "resource_type": "Tier0InterfaceGroup", "id": "group1", "display_name": "group1", "path": "/infra/tier-0s/t0/locale-services/ls1/interface-groups/group1", "parent_path": "/infra/tier-0s/t0/locale-services/ls1", "relative_path": "group1", "members": [ { "interface_path": "/infra/tier-0s/t0/locale-services/interfaces/ls1/intf1" }, { "interface_path": "/infra/tier-0s/t0/locale-services/interfaces/ls1/intf2" } ], "source_nat_ip_pool": [ "pool1", "pool2" ], "_create_user": "admin", "_create_time": 1516751318020, "_last_modified_user": "admin", "_last_modified_time": 1516751318020, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } Required Permissions: crud Feature: policy_t0 Additional Errors:

Policy: Networking: Connectivity: Tier-0 Gateways: Interfaces

Policy: Networking: Connectivity: Tier-0 Gateways: Interfaces: ARP Proxies

Get Tier-0 Interface Address Resolution Protocol Proxies

Returns ARP proxy table for a tier-0 interface. Interfaces can be of types
- EXTERNAL and SERVICE. Interfaces of type LOOBACK and downlink are not
supported.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interfaces/{interface-id}/arp-proxy
Request Headers:
n/a
Query Parameters:
PolicyListL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/pepsi/locale-services/1-policyconnectivity-1340/interfaces/my-if/arp-proxy Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PolicyArpProxyTableListResult+

Example Response: { "results": [ { "interface_arp_proxy" : [ { "service_id" : "0", "arp_proxy_ip" : "10.22.12.100" } ] } ] } Required Permissions: read Feature: policy_statistics Additional Errors:

Get Tier-0 Interface Address Resolution Protocol Proxies in CSV format

Returns ARP proxy table for a tier-0 interface in CSV format. Interfaces can be of types
- EXTERNAL and SERVICE. Interfaces of type LOOBACK and downlink are not
supported.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interfaces/{interface-id}/arp-proxy?format=csv
Request Headers:
n/a
Query Parameters:
PolicyL2TablesParameters+
Request Body:
n/a

Example Request: GET https://policy-mgr/global-manager/api/v1/global-infra/tier-0s/pepsi/locale-services/1-policyconnectivity-1340/interfaces/my-if/arp-proxy?format=csv Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
PolicyArpProxyTableCsvListResult+

Example Response: TODO smanikarnike Required Permissions: read Feature: policy_statistics Additional Errors:

Policy: Networking: Connectivity: Tier-0 Gateways: Interfaces: ARP Table

Associated URIs:

Get ARP table from segment interface (downlink)

Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) for the
interface (downlink) attaching segment to tier-0/tier-1 gateway, on a edge
node specified in edge_path parameter.
The edge_path parameter is mandatory.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/arp-table
Request Headers:
n/a
Query Parameters:
ArpTableRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-app-seg/arp-table?enforcement_point_path=/global-infra/sites/default/enforcement-points/default&edge_path=/global-infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterfaceArpTable+

Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 3, "interface_path": "/infra/realized-state/enforcement-points/default/logical-ports/infra-web-app-seg-dlrp", "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "edge_path": "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7", example_response: | "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: policy_statistics Additional Errors:

Get ARP table from segment interface (downlink) in CSV format

Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) in CSV format for the
interface (downlink) attaching segment to tier-0/tier-1 gateway, on a edge
node specified in edge_path parameter.
The edge_path parameter is mandatory.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/arp-table?format=csv
Request Headers:
n/a
Query Parameters:
ArpTableRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/segments/web-app-seg/arp-table?format=csv&enforcement_point_path=/global-infra/sites/default/enforcement-points/default&edge_path=/global-infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
InterfaceArpTableInCsvFormat+

Example Response: mac_address,ip 02:50:56:56:44:52,172.16.20.1 Required Permissions: read Feature: policy_statistics Additional Errors:

Get ARP table for downlink router port on tier-0 router (Deprecated)

Get ARP table for downlink router port on tier-0 router. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/gateway-interface-arp-table
Request Headers:
n/a
Query Parameters:
ArpTableRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWNLINK_SWITCH/gateway-interface-arp-table?edge_path=/global-infra/sites/default/enforcement-points/default/edge-clusters/7f7d37a7-b78e-4378-949d-09190cbfef7d/edge-nodes/a831390e-a7c8-11ea-9102-020063e79023 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterfaceArpTable+

Example Response: { "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "interface_path": "/infra/realized-state/enforcement-points/default/logical-ports/TLR0_LR-TIER0_DOWNLINK_SWITCH-dlrp", "last_update_timestamp": 1591854345080, "results": [ { "mac_address": "00:0c:29:ad:24:e4", "ip": "192.168.100.163" }, { "mac_address": "00:00:00:00:00:00", "ip": "192.168.100.161" }, { "mac_address": "00:00:00:00:00:00", "ip": "192.168.100.160" } ], "result_count": 3, "sort_by": "display_name", "sort_ascending": true } Required Permissions: read Feature: policy_statistics Additional Errors:

Get ARP table for downlink router port on tier-0 router in CSV (Deprecated)

Get ARP table for downlink router port on tier-0 router in CSV. Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/gateway-interface-arp-table?format=csv
Request Headers:
n/a
Query Parameters:
ArpTableRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWNLINK_SWITCH/gateway-interface-arp-table?format=csv&edge_path=/global-infra/sites/default/enforcement-points/default/edge-clusters/7f7d37a7-b78e-4378-949d-09190cbfef7d/edge-nodes/a831390e-a7c8-11ea-9102-020063e79023 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
InterfaceArpTableInCsvFormat+

Example Response: mac_address,ip 00:0c:29:ad:24:e4,192.168.100.163 00:00:00:00:00:00,192.168.100.161 00:00:00:00:00:00,192.168.100.160 Required Permissions: read Feature: policy_statistics Additional Errors:

Get ARP table from tier-0 interface

Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) for the
tier-0 interface, on a edge node if a query parameter
"edge_path=<policy-edge-path>" is given. The edge_path
parameter is mandatory if the interface type is not EXTERNAL.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interfaces/{interface-id}/arp-table
Request Headers:
n/a
Query Parameters:
ArpTableRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/default/interfaces/to_internet/arp-table?enforcement_point_path=/global-infra/sites/default/enforcement-points/default&edge_path=/global-infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterfaceArpTable+

Example Response: { "sort_ascending": true, "sort_by": "displayName", "result_count": 3, "interface_path": "/infra/tier-0s/t0/locale-services/default/interfaces/to_internet", "enforcement_point_path": "/infra/sites/default/enforcement-points/default", "edge_path": "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7", example_response: | "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: policy_statistics Additional Errors:

Get ARP table from tier-0 interface in CSV format

Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) in CSV format
for the tier-0 interface, on a edge node if a query parameter
"edge_path=<policy-edge-path>" is given. The edge_path
parameter is mandatory if the interface type is not EXTERNAL.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interfaces/{interface-id}/arp-table?format=csv
Request Headers:
n/a
Query Parameters:
ArpTableRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/t0/locale-services/default/interfaces/to_internet/arp-table?format=csv&enforcement_point_path=/global-infra/sites/default/enforcement-points/default&edge_path=/global-infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
InterfaceArpTableInCsvFormat+

Example Response: mac_address,ip 02:50:56:56:44:52,172.16.20.1 Required Permissions: read Feature: policy_statistics Additional Errors:

Get tier-0 router link arp information

Get tier-0 interface arp information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/tier-1-interface/arp-table
Request Headers:
n/a
Query Parameters:
RouterLinkRuntimeRequestParameters+
Request Body:
n/a

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

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

Get ARP table from tier-0 router link interface in CSV format

Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) in CSV format
for the tier-0 router link interface, on a edge node. The edge_path
parameter is mandatory if the interface type is not EXTERNAL.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/tier-1-interface/arp-table?format=csv
Request Headers:
n/a
Query Parameters:
RouterLinkRuntimeRequestParameters+
Request Body:
n/a

Example Request: GET Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: text/csv
Response Body:
InterfaceArpTableInCsvFormat+

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

Policy: Networking: Connectivity: Tier-0 Gateways: Interfaces: DAD State

Get DAD state for downlink router port on tier-0 router

Segment ID is the ID of the segment that is connected to the the tier-0
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/segments/{segment-id}/gateway-interface-dad-state
Request Headers:
n/a
Query Parameters:
PolicyRuntimeRequestParameters+
Request Body:
n/a

Example Request: https://{{nsx-mgr}}/global-manager/api/v1/global-infra/segments/TIER0_DOWNLINK_SWITCH/gateway-interface-dad-state Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterfaceDADState+

Example Response: { "interface_path": "/infra/segments/TIER0_DOWNLINK_SWITCH", "dad_statuses": [] } Required Permissions: read Feature: policy_statistics Additional Errors:

Get DAD status by interface

Get tier-0 interface DAD state information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interfaces/{interface-id}/dad-state
Request Headers:
n/a
Query Parameters:
PolicyRuntimeOnEpRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1//global-infra/tier-0s/pepsi/locale-services/default/interfaces/to_internet/dad-state?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterfaceDADState+

Example Response: { "interface_path": "/infra/tier-0s/pepsi/locale-services/default/interfaces/to_internet", "dad_statuses": [ { "ip_address": "2001::1", "status": "ASSIGNED", "edge_paths": [ "/infra/sites/default/enforcement-point/nsx/edge-clusters/95196903-6b8a-4276-a7c4-387263e834fd/edge-nodes/940f1f4b-0317-45d4-84e2-b8c2394e7405" ] } ] } Required Permissions: read Feature: policy_t0 Additional Errors:

Get DAD status by interface

Get tier-1 interface DAD state information.
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-1s/{tier-1-id}/locale-services/{locale-service-id}/interfaces/{interface-id}/dad-state
Request Headers:
n/a
Query Parameters:
PolicyRuntimeOnEpRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-1s/pepsi/locale-services/default/interfaces/to_internet/dad-state?enforcement_point_path=/global-infra/sites/default/enforcement-points/ep1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
InterfaceDADState+

Example Response: { "interface_path": "/infra/tier-1s/pepsi/locale-services/default/interfaces/to_internet", "dad_statuses": [ { "ip_address": "2001::1", "status": "ASSIGNED", "edge_paths": [ "/infra/sites/default/enforcement-point/nsx/edge-clusters/95196903-6b8a-4276-a7c4-387263e834fd/edge-nodes/940f1f4b-0317-45d4-84e2-b8c2394e7405" ] } ] } Required Permissions: read Feature: policy_t1 Additional Errors:

Policy: Networking: Connectivity: Tier-0 Gateways: Interfaces: Interfaces

Associated URIs:

List Tier-0 Interfaces

Paginated list of all Tier-0 Interfaces
Request:
Method:
GET
URI Path(s):
/global-manager/api/v1/global-infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/interfaces
Request Headers:
n/a
Query Parameters:
Tier0InterfaceListRequestParameters+
Request Body:
n/a

Example Request: GET https://<policy-mgr>/global-manager/api/v1/global-infra/tier-0s/vmc_prv/locale-services/default/interfaces Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Tier0InterfaceListResult+

Example Response: { "sort_ascending": true, "sort_by": "display_name", "result_count": 1, "results": [ { "resource_type": "Tier0Interface", "id": "to_internet", "display_name": "to_internet", "path": "/infra/tier-0s/vmc_prv/locale-services/default/interfaces/to_internet", "parent_path": "/infra/tier-0s/vmc_prv/locale-services/default", "relative_path": "to_internet", "segment_path": "/infra/segments/sg-uplink", "subnets": [ { "ip_addresses": [ "35.1.1.1" ], "prefix_len": 24 } ], "edge_path": "/infra/sites/default/enforcement-points/nsx/edge-clusters/05e58fcb-8575-4b20-9c49-3f09a0d70572/edge-nodes/0", "type": "EXTERNAL" "_create_user": "admin", "_create_time": 1516751318020, "_last_modified_user": "admin", "_last_modified_time": 1516751318020, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 } ] } Required Permissions: read Feature: policy_t0 Additional Errors: