Specifies the IPSec VPN tunnel configuration.


localEndpoint Required

The Local Endpoint which corresponds to the Edge Gateway the tunnel is being configured on. Local Endpoint requires an IP. That IP must be suballocated to the edge gateway.

remoteEndpoint Required

The Remote Endpoints correspoinds to the device on the remote site terminating the VPN tunnel.

name Required

Name for the tunnel.

authenticationMode Optional

The authentication mode this IPSec tunnel will use to authenticate with the peer endpoint. The default is a pre-shared key (PSK).

  • PSK - A known key is shared between each site before the tunnel is established.
  • CERTIFICATE ? Incoming connections are required to present an identifying digital certificate, which VCD verifies has been signed by a trusted certificate authority.

description Optional
Description not available

enabled Optional

Described whether the tunnel is enabled or not. The default is true.

id Optional

The unique id of this IPSec VPN tunnel. On updates, the id is required for the tunnel, while for create a new id will be generated.

connectorInitiationMode Optional

This is the mode used by the local endpoint to establish an IKE Connection with the remote site. The default is INITIATOR.


logging Optional

Whether logging for the tunnel is enabled or not. The default is false.

certificateRef Optional

The server certificate which will be used to secure the tunnel’s local endpoint.

preSharedKey Optional

This is the Pre-shared key used for authentication.

caCertificateRef Optional

The CA authority used to verify the remote endpoint?s certificate.

securityType Optional

This is the security type used for the IPSec Tunnel. If nothing is specified, this will be set to ‘DEFAULT’ in which the default settings in NSX will be used. For custom settings, one should use the connectionProperties endpoint to specify custom settings. The security type will then appropriately reflect itself as ‘CUSTOM’.

version Optional

This property describes the current version of the entity. To prevent clients from overwriting each other’s changes, update operations must include the version which can be obtained by issuing a GET operation. If the version number on an update call is missing, the operation will be rejected. This is only needed on update calls.

JSON Example

    "localEndpoint": {
        "localAddress": "string",
        "localNetworks": [
    "name": "string",
    "remoteEndpoint": {
        "remoteAddress": "string"

Was this page helpful?