Class IPSecConnection


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 20160918")
    public final class IPSecConnection
    extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
    A connection between a DRG and CPE.

    This connection consists of multiple IPSec tunnels. Creating this connection is one of the steps required when setting up a Site-to-Site VPN.

    *Important:** Each tunnel in an IPSec connection can use either static routing or BGP dynamic routing (see the IPSecConnectionTunnel object's routing attribute). Originally only static routing was supported and every IPSec connection was required to have at least one static route configured. To maintain backward compatibility in the API when support for BPG dynamic routing was introduced, the API accepts an empty list of static routes if you configure both of the IPSec tunnels to use BGP dynamic routing. If you switch a tunnel's routing from BGP to STATIC, you must first ensure that the IPSec connection is configured with at least one valid CIDR block static route. Oracle uses the IPSec connection's static routes when routing a tunnel's traffic *only* if that tunnel's routing attribute = STATIC. Otherwise the static routes are ignored.

    For more information about the workflow for setting up an IPSec connection, see [Site-to-Site VPN Overview](https://docs.oracle.com/iaas/Content/Network/Tasks/overviewIPsec.htm).

    To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, see [Getting Started with Policies](https://docs.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm).
    Note: Objects should always be created or deserialized using the IPSecConnection.Builder. This model distinguishes fields that are null because they are unset from fields that are explicitly set to null. This is done in the setter methods of the IPSecConnection.Builder, which maintain a set of all explicitly set fields called IPSecConnection.Builder.__explicitlySet__. The hashCode() and equals(Object) methods are implemented to take the explicitly set fields into account. The constructor, on the other hand, does not take the explicitly set fields into account (since the constructor cannot distinguish explicit null from unset null).

    • Method Detail

      • getCompartmentId

        public String getCompartmentId()
        The OCID of the compartment containing the IPSec connection.
        Returns:
        the value
      • getCpeId

        public String getCpeId()
        The OCID of the Cpe object.
        Returns:
        the value
      • getDefinedTags

        public Map<String,​Map<String,​Object>> getDefinedTags()
        Defined tags for this resource.

        Each key is predefined and scoped to a namespace. Example: {“foo-namespace”: {“bar-key”: “value”}}

        Returns:
        the value
      • getDisplayName

        public String getDisplayName()
        A user-friendly name.

        Does not have to be unique, and it’s changeable. Avoid entering confidential information.

        Returns:
        the value
      • getDrgId

        public String getDrgId()
        The OCID of the DRG.
        Returns:
        the value
      • getFreeformTags

        public Map<String,​String> getFreeformTags()
        Simple key-value pair that is applied without any predefined name, type or scope.

        Exists for cross-compatibility only. Example: {“bar-key”: “value”}

        Returns:
        the value
      • getId

        public String getId()
        The IPSec connection’s Oracle ID (OCID).
        Returns:
        the value
      • getCpeLocalIdentifier

        public String getCpeLocalIdentifier()
        Your identifier for your CPE device.

        Can be either an IP address or a hostname (specifically, the fully qualified domain name (FQDN)). The type of identifier here must correspond to the value for cpeLocalIdentifierType.

        If you don't provide a value when creating the IPSec connection, the ipAddress attribute for the Cpe object specified by cpeId is used as the cpeLocalIdentifier.

        For information about why you'd provide this value, see [If Your CPE Is Behind a NAT Device](https://docs.oracle.com/iaas/Content/Network/Tasks/overviewIPsec.htm#nat).

        Example IP address: 10.0.3.3

        Example hostname: cpe.example.com

        Returns:
        the value
      • getCpeLocalIdentifierType

        public IPSecConnection.CpeLocalIdentifierType getCpeLocalIdentifierType()
        The type of identifier for your CPE device.

        The value here must correspond to the value for cpeLocalIdentifier.

        Returns:
        the value
      • getStaticRoutes

        public List<String> getStaticRoutes()
        Static routes to the CPE.

        The CIDR must not be a multicast address or class E address.

        Used for routing a given IPSec tunnel's traffic only if the tunnel is using static routing. If you configure at least one tunnel to use static routing, then you must provide at least one valid static route. If you configure both tunnels to use BGP dynamic routing, you can provide an empty list for the static routes.

        The CIDR can be either IPv4 or IPv6. IPv6 addressing is supported for all commercial and government regions. See [IPv6 Addresses](https://docs.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).

        Example: 10.0.1.0/24

        Example: 2001:db8::/32

        Returns:
        the value
      • getTimeCreated

        public Date getTimeCreated()
        The date and time the IPSec connection was created, in the format defined by RFC3339.

        Example: 2016-08-25T21:10:29.600Z

        Returns:
        the value
      • getTransportType

        public IPSecConnection.TransportType getTransportType()
        The transport type used for the IPSec connection.
        Returns:
        the value
      • toString

        public String toString()
        Overrides:
        toString in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • toString

        public String toString​(boolean includeByteArrayContents)
        Return a string representation of the object.
        Parameters:
        includeByteArrayContents - true to include the full contents of byte arrays
        Returns:
        string representation
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel