Class VirtualNetworkAsyncClient

  • All Implemented Interfaces:
    VirtualNetworkAsync, AutoCloseable

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20160918")
    public class VirtualNetworkAsyncClient
    extends BaseAsyncClient
    implements VirtualNetworkAsync
    Async client implementation for VirtualNetwork service.
    There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response to the call is an InputStream, like getObject Api in object storage service, developers need to process the stream in AsyncHandler, and not anywhere else, because the stream will be closed right after the AsyncHandler is invoked.
    2. Use Java Future: using Java Future, developers need to close the stream after they are done with the Java Future.
    Accessing the result should be done in a mutually exclusive manner, either through the Future or the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine whether or not the request was completed via Future.isDone/isCancelled.
    Please refer to https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java
    • Field Detail

      • SERVICE

        public static final Service SERVICE
        Service instance for VirtualNetwork.
      • clientCommonLibraryVersion

        public final String clientCommonLibraryVersion
        Compatible SDK version, provided by the codegen.
      • minimumClientCommonLibraryVersionFromClient

        public final Optional<String> minimumClientCommonLibraryVersionFromClient
        Minimum compatible SDK version, maybe provided by the codegen.
    • Method Detail

      • setRegion

        public void setRegion​(Region region)
        Description copied from interface: VirtualNetworkAsync
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Specified by:
        setRegion in interface VirtualNetworkAsync
        Parameters:
        region - The region of the service.
      • addIpv6VcnCidr

        public Future<AddIpv6VcnCidrResponse> addIpv6VcnCidr​(AddIpv6VcnCidrRequest request,
                                                             AsyncHandler<AddIpv6VcnCidrRequest,​AddIpv6VcnCidrResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Add an IPv6 prefix to a VCN.

        The VCN size is always /56 and assigned by Oracle. Once added the IPv6 prefix cannot be removed or modified.

        Specified by:
        addIpv6VcnCidr in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • addVcnCidr

        public Future<AddVcnCidrResponse> addVcnCidr​(AddVcnCidrRequest request,
                                                     AsyncHandler<AddVcnCidrRequest,​AddVcnCidrResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Adds a CIDR block to a VCN.

        The CIDR block you add:

        - Must be valid. - Must not overlap with another CIDR block in the VCN, a CIDR block of a peered VCN, or the on-premises network CIDR block. - Must not exceed the limit of CIDR blocks allowed per VCN.

        *Note:** Adding a CIDR block places your VCN in an updating state until the changes are complete. You cannot create or update the VCN's subnets, VLANs, LPGs, or route tables during this operation. The time to completion can take a few minutes. You can use the `GetWorkRequest` operation to check the status of the update.

        Specified by:
        addVcnCidr in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • advertiseByoipRange

        public Future<AdvertiseByoipRangeResponse> advertiseByoipRange​(AdvertiseByoipRangeRequest request,
                                                                       AsyncHandler<AdvertiseByoipRangeRequest,​AdvertiseByoipRangeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Begins BGP route advertisements for the BYOIP CIDR block you imported to the Oracle Cloud.

        The ByoipRange resource must be in the PROVISIONED state before the BYOIP CIDR block routes can be advertised with BGP.

        Specified by:
        advertiseByoipRange in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • attachServiceId

        public Future<AttachServiceIdResponse> attachServiceId​(AttachServiceIdRequest request,
                                                               AsyncHandler<AttachServiceIdRequest,​AttachServiceIdResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Adds the specified Service to the list of enabled Service objects for the specified gateway.

        You must also set up a route rule with the cidrBlock of the Service as the rule’s destination and the service gateway as the rule’s target. See RouteTable.

        *Note:** The `AttachServiceId` operation is an easy way to add an individual `Service` to the service gateway. Compare it with updateServiceGateway, which replaces the entire existing list of enabled `Service` objects with the list that you provide in the `Update` call.

        Specified by:
        attachServiceId in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • connectLocalPeeringGateways

        public Future<ConnectLocalPeeringGatewaysResponse> connectLocalPeeringGateways​(ConnectLocalPeeringGatewaysRequest request,
                                                                                       AsyncHandler<ConnectLocalPeeringGatewaysRequest,​ConnectLocalPeeringGatewaysResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Connects this local peering gateway (LPG) to another one in the same region.

        This operation must be called by the VCN administrator who is designated as the *requestor* in the peering relationship. The *acceptor* must implement an Identity and Access Management (IAM) policy that gives the requestor permission to connect to LPGs in the acceptor's compartment. Without that permission, this operation will fail. For more information, see [VCN Peering](https://docs.oracle.com/iaas/Content/Network/Tasks/VCNpeering.htm).

        Specified by:
        connectLocalPeeringGateways in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • connectRemotePeeringConnections

        public Future<ConnectRemotePeeringConnectionsResponse> connectRemotePeeringConnections​(ConnectRemotePeeringConnectionsRequest request,
                                                                                               AsyncHandler<ConnectRemotePeeringConnectionsRequest,​ConnectRemotePeeringConnectionsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Connects this RPC to another one in a different region.

        This operation must be called by the VCN administrator who is designated as the *requestor* in the peering relationship. The *acceptor* must implement an Identity and Access Management (IAM) policy that gives the requestor permission to connect to RPCs in the acceptor's compartment. Without that permission, this operation will fail. For more information, see [VCN Peering](https://docs.oracle.com/iaas/Content/Network/Tasks/VCNpeering.htm).

        Specified by:
        connectRemotePeeringConnections in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createByoasn

        public Future<CreateByoasnResponse> createByoasn​(CreateByoasnRequest request,
                                                         AsyncHandler<CreateByoasnRequest,​CreateByoasnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a BYOASN Resource
        Specified by:
        createByoasn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createCaptureFilter

        public Future<CreateCaptureFilterResponse> createCaptureFilter​(CreateCaptureFilterRequest request,
                                                                       AsyncHandler<CreateCaptureFilterRequest,​CreateCaptureFilterResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a virtual test access point (VTAP) capture filter in the specified compartment.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the VTAP. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the VTAP, otherwise a default is provided. It does not have to be unique, and you can change it.

        Specified by:
        createCaptureFilter in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createCpe

        public Future<CreateCpeResponse> createCpe​(CreateCpeRequest request,
                                                   AsyncHandler<CreateCpeRequest,​CreateCpeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new virtual customer-premises equipment (CPE) object in the specified compartment.

        For more information, see Site-to-Site VPN Overview.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the CPE to reside. Notice that the CPE doesn't have to be in the same compartment as the IPSec connection or other Networking Service components. If you're not sure which compartment to use, put the CPE in the same compartment as the DRG. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You must provide the public IP address of your on-premises router. See [CPE Configuration](https://docs.oracle.com/iaas/Content/Network/Tasks/configuringCPE.htm).

        You may optionally specify a *display name* for the CPE, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createCpe in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createCrossConnect

        public Future<CreateCrossConnectResponse> createCrossConnect​(CreateCrossConnectRequest request,
                                                                     AsyncHandler<CreateCrossConnectRequest,​CreateCrossConnectResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new cross-connect.

        Oracle recommends you create each cross-connect in a CrossConnectGroup so you can use link aggregation with the connection.

        After creating the `CrossConnect` object, you need to go the FastConnect location and request to have the physical cable installed. For more information, see [FastConnect Overview](https://docs.oracle.com/iaas/Content/Network/Concepts/fastconnect.htm).

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the cross-connect to reside. If you're not sure which compartment to use, put the cross-connect in the same compartment with your VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the cross-connect. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createCrossConnect in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createCrossConnectGroup

        public Future<CreateCrossConnectGroupResponse> createCrossConnectGroup​(CreateCrossConnectGroupRequest request,
                                                                               AsyncHandler<CreateCrossConnectGroupRequest,​CreateCrossConnectGroupResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new cross-connect group to use with Oracle Cloud Infrastructure FastConnect.

        For more information, see FastConnect Overview.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the cross-connect group to reside. If you're not sure which compartment to use, put the cross-connect group in the same compartment with your VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the cross-connect group. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createCrossConnectGroup in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDhcpOptions

        public Future<CreateDhcpOptionsResponse> createDhcpOptions​(CreateDhcpOptionsRequest request,
                                                                   AsyncHandler<CreateDhcpOptionsRequest,​CreateDhcpOptionsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new set of DHCP options for the specified VCN.

        For more information, see DhcpOptions.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the set of DHCP options to reside. Notice that the set of options doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the set of DHCP options in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the set of DHCP options, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createDhcpOptions in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDrg

        public Future<CreateDrgResponse> createDrg​(CreateDrgRequest request,
                                                   AsyncHandler<CreateDrgRequest,​CreateDrgResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new dynamic routing gateway (DRG) in the specified compartment.

        For more information, see Dynamic Routing Gateways (DRGs).

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the DRG to reside. Notice that the DRG doesn't have to be in the same compartment as the VCN, the DRG attachment, or other Networking Service components. If you're not sure which compartment to use, put the DRG in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the DRG, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createDrg in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDrgAttachment

        public Future<CreateDrgAttachmentResponse> createDrgAttachment​(CreateDrgAttachmentRequest request,
                                                                       AsyncHandler<CreateDrgAttachmentRequest,​CreateDrgAttachmentResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Attaches the specified DRG to the specified network resource.

        A VCN can be attached to only one DRG at a time, but a DRG can be attached to more than one VCN. The response includes a DrgAttachment object with its own OCID. For more information about DRGs, see Dynamic Routing Gateways (DRGs).

        You may optionally specify a *display name* for the attachment, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        For the purposes of access control, the DRG attachment is automatically placed into the currently selected compartment. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm).

        Specified by:
        createDrgAttachment in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDrgRouteDistribution

        public Future<CreateDrgRouteDistributionResponse> createDrgRouteDistribution​(CreateDrgRouteDistributionRequest request,
                                                                                     AsyncHandler<CreateDrgRouteDistributionRequest,​CreateDrgRouteDistributionResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new route distribution for the specified DRG.

        Assign the route distribution as an import distribution to a DRG route table using the UpdateDrgRouteTable or CreateDrgRouteTable operations. Assign the route distribution as an export distribution to a DRG attachment using the UpdateDrgAttachment or CreateDrgAttachment operations.

        Specified by:
        createDrgRouteDistribution in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createDrgRouteTable

        public Future<CreateDrgRouteTableResponse> createDrgRouteTable​(CreateDrgRouteTableRequest request,
                                                                       AsyncHandler<CreateDrgRouteTableRequest,​CreateDrgRouteTableResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new DRG route table for the specified DRG.

        Assign the DRG route table to a DRG attachment using the UpdateDrgAttachment or CreateDrgAttachment operations.

        Specified by:
        createDrgRouteTable in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createIPSecConnection

        public Future<CreateIPSecConnectionResponse> createIPSecConnection​(CreateIPSecConnectionRequest request,
                                                                           AsyncHandler<CreateIPSecConnectionRequest,​CreateIPSecConnectionResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new IPSec connection between the specified DRG and CPE.

        For more information, see Site-to-Site VPN Overview.

        If you configure at least one tunnel to use static routing, then in the request you must provide at least one valid static route (you're allowed a maximum of 10). For example: 10.0.0.0/16. If you configure both tunnels to use BGP dynamic routing, you can provide an empty list for the static routes. For more information, see the important note in IPSecConnection.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the IPSec connection to reside. Notice that the IPSec connection doesn't have to be in the same compartment as the DRG, CPE, or other Networking Service components. If you're not sure which compartment to use, put the IPSec connection in the same compartment as the DRG. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm).

        You may optionally specify a *display name* for the IPSec connection, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        After creating the IPSec connection, you need to configure your on-premises router with tunnel-specific information. For tunnel status and the required configuration information, see:

        IPSecConnectionTunnel * IPSecConnectionTunnelSharedSecret

        For each tunnel, you need the IP address of Oracle's VPN headend and the shared secret (that is, the pre-shared key). For more information, see [CPE Configuration](https://docs.oracle.com/iaas/Content/Network/Tasks/configuringCPE.htm).

        Specified by:
        createIPSecConnection in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createInternetGateway

        public Future<CreateInternetGatewayResponse> createInternetGateway​(CreateInternetGatewayRequest request,
                                                                           AsyncHandler<CreateInternetGatewayRequest,​CreateInternetGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new internet gateway for the specified VCN.

        For more information, see Access to the Internet.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the Internet Gateway to reside. Notice that the internet gateway doesn't have to be in the same compartment as the VCN or other Networking Service components. If you're not sure which compartment to use, put the Internet Gateway in the same compartment with the VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm).

        You may optionally specify a *display name* for the internet gateway, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        For traffic to flow between a subnet and an internet gateway, you must create a route rule accordingly in the subnet's route table (for example, 0.0.0.0/0 > internet gateway). See updateRouteTable.

        You must specify whether the internet gateway is enabled when you create it. If it's disabled, that means no traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later use updateInternetGateway to easily disable/enable the gateway without changing the route rule.

        Specified by:
        createInternetGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createIpv6

        public Future<CreateIpv6Response> createIpv6​(CreateIpv6Request request,
                                                     AsyncHandler<CreateIpv6Request,​CreateIpv6Response> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates an IPv6 for the specified VNIC.
        Specified by:
        createIpv6 in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createNatGateway

        public Future<CreateNatGatewayResponse> createNatGateway​(CreateNatGatewayRequest request,
                                                                 AsyncHandler<CreateNatGatewayRequest,​CreateNatGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new NAT gateway for the specified VCN.

        You must also set up a route rule with the NAT gateway as the rule’s target. See RouteTable.

        Specified by:
        createNatGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createPublicIp

        public Future<CreatePublicIpResponse> createPublicIp​(CreatePublicIpRequest request,
                                                             AsyncHandler<CreatePublicIpRequest,​CreatePublicIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a public IP.

        Use the lifetime property to specify whether it’s an ephemeral or reserved public IP. For information about limits on how many you can create, see Public IP Addresses.

        **For an ephemeral public IP assigned to a private IP:** You must also specify a `privateIpId` with the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the primary private IP you want to assign the public IP to. The public IP is created in the same availability domain as the private IP. An ephemeral public IP must always be assigned to a private IP, and only to the *primary* private IP on a VNIC, not a secondary private IP. Exception: If you create a NatGateway, Oracle automatically assigns the NAT gateway a regional ephemeral public IP that you cannot remove.

        **For a reserved public IP:** You may also optionally assign the public IP to a private IP by specifying `privateIpId`. Or you can later assign the public IP with updatePublicIp.

        *Note:** When assigning a public IP to a private IP, the private IP must not already have a public IP with `lifecycleState` = ASSIGNING or ASSIGNED. If it does, an error is returned.

        Also, for reserved public IPs, the optional assignment part of this operation is asynchronous. Poll the public IP's `lifecycleState` to determine if the assignment succeeded.

        Specified by:
        createPublicIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createRouteTable

        public Future<CreateRouteTableResponse> createRouteTable​(CreateRouteTableRequest request,
                                                                 AsyncHandler<CreateRouteTableRequest,​CreateRouteTableResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new route table for the specified VCN.

        In the request you must also include at least one route rule for the new route table. For information on the number of rules you can have in a route table, see Service Limits. For general information about route tables in your VCN and the types of targets you can use in route rules, see Route Tables.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the route table to reside. Notice that the route table doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the route table in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the route table, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createRouteTable in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createSecurityList

        public Future<CreateSecurityListResponse> createSecurityList​(CreateSecurityListRequest request,
                                                                     AsyncHandler<CreateSecurityListRequest,​CreateSecurityListResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new security list for the specified VCN.

        For more information about security lists, see Security Lists. For information on the number of rules you can have in a security list, see Service Limits.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the security list to reside. Notice that the security list doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the security list in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the security list, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Specified by:
        createSecurityList in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createServiceGateway

        public Future<CreateServiceGatewayResponse> createServiceGateway​(CreateServiceGatewayRequest request,
                                                                         AsyncHandler<CreateServiceGatewayRequest,​CreateServiceGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new service gateway in the specified compartment.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the service gateway to reside. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the service gateway, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        Use the listServices operation to find service CIDR labels available in the region.

        Specified by:
        createServiceGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createSubnet

        public Future<CreateSubnetResponse> createSubnet​(CreateSubnetRequest request,
                                                         AsyncHandler<CreateSubnetRequest,​CreateSubnetResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new subnet in the specified VCN.

        You can’t change the size of the subnet after creation, so it’s important to think about the size of subnets you need before creating them. For more information, see VCNs and Subnets. For information on the number of subnets you can have in a VCN, see Service Limits.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the subnet to reside. Notice that the subnet doesn't have to be in the same compartment as the VCN, route tables, or other Networking Service components. If you're not sure which compartment to use, put the subnet in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally associate a route table with the subnet. If you don't, the subnet will use the VCN's default route table. For more information about route tables, see [Route Tables](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm).

        You may optionally associate a security list with the subnet. If you don't, the subnet will use the VCN's default security list. For more information about security lists, see [Security Lists](https://docs.oracle.com/iaas/Content/Network/Concepts/securitylists.htm).

        You may optionally associate a set of DHCP options with the subnet. If you don't, the subnet will use the VCN's default set. For more information about DHCP options, see [DHCP Options](https://docs.oracle.com/iaas/Content/Network/Tasks/managingDHCP.htm).

        You may optionally specify a *display name* for the subnet, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        You can also add a DNS label for the subnet, which is required if you want the Internet and VCN Resolver to resolve hostnames for instances in the subnet. For more information, see [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm).

        Specified by:
        createSubnet in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createVcn

        public Future<CreateVcnResponse> createVcn​(CreateVcnRequest request,
                                                   AsyncHandler<CreateVcnRequest,​CreateVcnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new virtual cloud network (VCN).

        For more information, see VCNs and Subnets.

        For the VCN, you specify a list of one or more IPv4 CIDR blocks that meet the following criteria:

        - The CIDR blocks must be valid. - They must not overlap with each other or with the on-premises network CIDR block. - The number of CIDR blocks does not exceed the limit of CIDR blocks allowed per VCN.

        For a CIDR block, Oracle recommends that you use one of the private IP address ranges specified in [RFC 1918](https://tools.ietf.org/html/rfc1918) (10.0.0.0/8, 172.16/12, and 192.168/16). Example: 172.16.0.0/16. The CIDR blocks can range from /16 to /30.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the VCN to reside. Consult an Oracle Cloud Infrastructure administrator in your organization if you're not sure which compartment to use. Notice that the VCN doesn't have to be in the same compartment as the subnets or other Networking Service components. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the VCN, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.

        You can also add a DNS label for the VCN, which is required if you want the instances to use the Interent and VCN Resolver option for DNS in the VCN. For more information, see [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm).

        The VCN automatically comes with a default route table, default security list, and default set of DHCP options. The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for each is returned in the response. You can't delete these default objects, but you can change their contents (that is, change the route rules, security list rules, and so on).

        The VCN and subnets you create are not accessible until you attach an internet gateway or set up a Site-to-Site VPN or FastConnect. For more information, see [Overview of the Networking Service](https://docs.oracle.com/iaas/Content/Network/Concepts/overview.htm).

        Specified by:
        createVcn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createVirtualCircuit

        public Future<CreateVirtualCircuitResponse> createVirtualCircuit​(CreateVirtualCircuitRequest request,
                                                                         AsyncHandler<CreateVirtualCircuitRequest,​CreateVirtualCircuitResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a new virtual circuit to use with Oracle Cloud Infrastructure FastConnect.

        For more information, see FastConnect Overview.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want the virtual circuit to reside. If you're not sure which compartment to use, put the virtual circuit in the same compartment with the DRG it's using. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the virtual circuit. It does not have to be unique, and you can change it. Avoid entering confidential information.

        *Important:** When creating a virtual circuit, you specify a DRG for the traffic to flow through. Make sure you attach the DRG to your VCN and confirm the VCN's routing sends traffic to the DRG. Otherwise traffic will not flow. For more information, see [Route Tables](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm).

        Specified by:
        createVirtualCircuit in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createVlan

        public Future<CreateVlanResponse> createVlan​(CreateVlanRequest request,
                                                     AsyncHandler<CreateVlanRequest,​CreateVlanResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a VLAN in the specified VCN and the specified compartment.
        Specified by:
        createVlan in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createVtap

        public Future<CreateVtapResponse> createVtap​(CreateVtapRequest request,
                                                     AsyncHandler<CreateVtapRequest,​CreateVtapResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Creates a virtual test access point (VTAP) in the specified compartment.

        For the purposes of access control, you must provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the VTAP. For more information about compartments and access control, see [Overview of the IAM Service](https://docs.oracle.com/iaas/Content/Identity/Concepts/overview.htm). For information about OCIDs, see [Resource Identifiers](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        You may optionally specify a *display name* for the VTAP, otherwise a default is provided. It does not have to be unique, and you can change it.

        Specified by:
        createVtap in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteByoasn

        public Future<DeleteByoasnResponse> deleteByoasn​(DeleteByoasnRequest request,
                                                         AsyncHandler<DeleteByoasnRequest,​DeleteByoasnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified Byoasn resource.

        The resource must be in one of the following states: CREATING, ACTIVE or FAILED. It must not be in use by any of the byoipRanges or deletion will fail. You must specify the OCID.

        Specified by:
        deleteByoasn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteByoipRange

        public Future<DeleteByoipRangeResponse> deleteByoipRange​(DeleteByoipRangeRequest request,
                                                                 AsyncHandler<DeleteByoipRangeRequest,​DeleteByoipRangeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified ByoipRange resource.

        The resource must be in one of the following states: CREATING, PROVISIONED, ACTIVE, or FAILED. It must not have any subranges currently allocated to a PublicIpPool object or the deletion will fail. You must specify the OCID. If the ByoipRange resource is currently in the PROVISIONED or ACTIVE state, it will be de-provisioned and then deleted.

        Specified by:
        deleteByoipRange in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteCaptureFilter

        public Future<DeleteCaptureFilterResponse> deleteCaptureFilter​(DeleteCaptureFilterRequest request,
                                                                       AsyncHandler<DeleteCaptureFilterRequest,​DeleteCaptureFilterResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified VTAP capture filter.

        This is an asynchronous operation. The VTAP capture filter’s lifecycleState will change to TERMINATING temporarily until the VTAP capture filter is completely removed.

        Specified by:
        deleteCaptureFilter in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteCpe

        public Future<DeleteCpeResponse> deleteCpe​(DeleteCpeRequest request,
                                                   AsyncHandler<DeleteCpeRequest,​DeleteCpeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified CPE object.

        The CPE must not be connected to a DRG. This is an asynchronous operation. The CPE’s lifecycleState will change to TERMINATING temporarily until the CPE is completely removed.

        Specified by:
        deleteCpe in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDhcpOptions

        public Future<DeleteDhcpOptionsResponse> deleteDhcpOptions​(DeleteDhcpOptionsRequest request,
                                                                   AsyncHandler<DeleteDhcpOptionsRequest,​DeleteDhcpOptionsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified set of DHCP options, but only if it’s not associated with a subnet.

        You can’t delete a VCN’s default set of DHCP options.

        This is an asynchronous operation. The state of the set of options will switch to TERMINATING temporarily until the set is completely removed.

        Specified by:
        deleteDhcpOptions in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDrg

        public Future<DeleteDrgResponse> deleteDrg​(DeleteDrgRequest request,
                                                   AsyncHandler<DeleteDrgRequest,​DeleteDrgResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified DRG.

        The DRG must not be attached to a VCN or be connected to your on-premise network. Also, there must not be a route table that lists the DRG as a target. This is an asynchronous operation. The DRG’s lifecycleState will change to TERMINATING temporarily until the DRG is completely removed.

        Specified by:
        deleteDrg in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDrgAttachment

        public Future<DeleteDrgAttachmentResponse> deleteDrgAttachment​(DeleteDrgAttachmentRequest request,
                                                                       AsyncHandler<DeleteDrgAttachmentRequest,​DeleteDrgAttachmentResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Detaches a DRG from a network resource by deleting the corresponding DrgAttachment resource.

        This is an asynchronous operation. The attachment’s lifecycleState will temporarily change to DETACHING until the attachment is completely removed.

        Specified by:
        deleteDrgAttachment in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteDrgRouteDistribution

        public Future<DeleteDrgRouteDistributionResponse> deleteDrgRouteDistribution​(DeleteDrgRouteDistributionRequest request,
                                                                                     AsyncHandler<DeleteDrgRouteDistributionRequest,​DeleteDrgRouteDistributionResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified route distribution.

        You can’t delete a route distribution currently in use by a DRG attachment or DRG route table.

        Remove the DRG route distribution from a DRG attachment or DRG route table by using the \"RemoveExportDrgRouteDistribution\" or \"RemoveImportDrgRouteDistribution' operations.

        Specified by:
        deleteDrgRouteDistribution in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteIPSecConnection

        public Future<DeleteIPSecConnectionResponse> deleteIPSecConnection​(DeleteIPSecConnectionRequest request,
                                                                           AsyncHandler<DeleteIPSecConnectionRequest,​DeleteIPSecConnectionResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified IPSec connection.

        If your goal is to disable the Site-to-Site VPN between your VCN and on-premises network, it’s easiest to simply detach the DRG but keep all the Site-to-Site VPN components intact. If you were to delete all the components and then later need to create an Site-to-Site VPN again, you would need to configure your on-premises router again with the new information returned from createIPSecConnection.

        This is an asynchronous operation. The connection's `lifecycleState` will change to TERMINATING temporarily until the connection is completely removed.

        Specified by:
        deleteIPSecConnection in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteInternetGateway

        public Future<DeleteInternetGatewayResponse> deleteInternetGateway​(DeleteInternetGatewayRequest request,
                                                                           AsyncHandler<DeleteInternetGatewayRequest,​DeleteInternetGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified internet gateway.

        The internet gateway does not have to be disabled, but there must not be a route table that lists it as a target.

        This is an asynchronous operation. The gateway's `lifecycleState` will change to TERMINATING temporarily until the gateway is completely removed.

        Specified by:
        deleteInternetGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteIpv6

        public Future<DeleteIpv6Response> deleteIpv6​(DeleteIpv6Request request,
                                                     AsyncHandler<DeleteIpv6Request,​DeleteIpv6Response> handler)
        Description copied from interface: VirtualNetworkAsync
        Unassigns and deletes the specified IPv6.

        You must specify the object’s OCID. The IPv6 address is returned to the subnet’s pool of available addresses.

        Specified by:
        deleteIpv6 in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteNatGateway

        public Future<DeleteNatGatewayResponse> deleteNatGateway​(DeleteNatGatewayRequest request,
                                                                 AsyncHandler<DeleteNatGatewayRequest,​DeleteNatGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified NAT gateway.

        The NAT gateway does not have to be disabled, but there must not be a route rule that lists the NAT gateway as a target.

        This is an asynchronous operation. The NAT gateway's `lifecycleState` will change to TERMINATING temporarily until the NAT gateway is completely removed.

        Specified by:
        deleteNatGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteNetworkSecurityGroup

        public Future<DeleteNetworkSecurityGroupResponse> deleteNetworkSecurityGroup​(DeleteNetworkSecurityGroupRequest request,
                                                                                     AsyncHandler<DeleteNetworkSecurityGroupRequest,​DeleteNetworkSecurityGroupResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified network security group.

        The group must not contain any VNICs.

        To get a list of the VNICs in a network security group, use listNetworkSecurityGroupVnics. Each returned NetworkSecurityGroupVnic object contains both the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC and the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC's parent resource (for example, the Compute instance that the VNIC is attached to).

        Specified by:
        deleteNetworkSecurityGroup in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deletePrivateIp

        public Future<DeletePrivateIpResponse> deletePrivateIp​(DeletePrivateIpRequest request,
                                                               AsyncHandler<DeletePrivateIpRequest,​DeletePrivateIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Unassigns and deletes the specified private IP.

        You must specify the object’s OCID. The private IP address is returned to the subnet’s pool of available addresses.

        This operation cannot be used with primary private IPs, which are automatically unassigned and deleted when the VNIC is terminated.

        *Important:** If a secondary private IP is the [target of a route rule](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#privateip), unassigning it from the VNIC causes that route rule to blackhole and the traffic will be dropped.

        Specified by:
        deletePrivateIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deletePublicIp

        public Future<DeletePublicIpResponse> deletePublicIp​(DeletePublicIpRequest request,
                                                             AsyncHandler<DeletePublicIpRequest,​DeletePublicIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Unassigns and deletes the specified public IP (either ephemeral or reserved).

        You must specify the object’s OCID. The public IP address is returned to the Oracle Cloud Infrastructure public IP pool.

        *Note:** You cannot update, unassign, or delete the public IP that Oracle automatically assigned to an entity for you (such as a load balancer or NAT gateway). The public IP is automatically deleted if the assigned entity is terminated.

        For an assigned reserved public IP, the initial unassignment portion of this operation is asynchronous. Poll the public IP's `lifecycleState` to determine if the operation succeeded.

        If you want to simply unassign a reserved public IP and return it to your pool of reserved public IPs, instead use updatePublicIp.

        Specified by:
        deletePublicIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deletePublicIpPool

        public Future<DeletePublicIpPoolResponse> deletePublicIpPool​(DeletePublicIpPoolRequest request,
                                                                     AsyncHandler<DeletePublicIpPoolRequest,​DeletePublicIpPoolResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified public IP pool.

        To delete a public IP pool it must not have any active IP address allocations. You must specify the object’s OCID when deleting an IP pool.

        Specified by:
        deletePublicIpPool in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteRouteTable

        public Future<DeleteRouteTableResponse> deleteRouteTable​(DeleteRouteTableRequest request,
                                                                 AsyncHandler<DeleteRouteTableRequest,​DeleteRouteTableResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified route table, but only if it’s not associated with a subnet.

        You can’t delete a VCN’s default route table.

        This is an asynchronous operation. The route table's `lifecycleState` will change to TERMINATING temporarily until the route table is completely removed.

        Specified by:
        deleteRouteTable in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSecurityList

        public Future<DeleteSecurityListResponse> deleteSecurityList​(DeleteSecurityListRequest request,
                                                                     AsyncHandler<DeleteSecurityListRequest,​DeleteSecurityListResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified security list, but only if it’s not associated with a subnet.

        You can’t delete a VCN’s default security list.

        This is an asynchronous operation. The security list's `lifecycleState` will change to TERMINATING temporarily until the security list is completely removed.

        Specified by:
        deleteSecurityList in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSubnet

        public Future<DeleteSubnetResponse> deleteSubnet​(DeleteSubnetRequest request,
                                                         AsyncHandler<DeleteSubnetRequest,​DeleteSubnetResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified subnet, but only if there are no instances in the subnet.

        This is an asynchronous operation. The subnet’s lifecycleState will change to TERMINATING temporarily. If there are any instances in the subnet, the state will instead change back to AVAILABLE.

        Specified by:
        deleteSubnet in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteVcn

        public Future<DeleteVcnResponse> deleteVcn​(DeleteVcnRequest request,
                                                   AsyncHandler<DeleteVcnRequest,​DeleteVcnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified VCN.

        The VCN must be completely empty and have no attached gateways. This is an asynchronous operation.

        A deleted VCN's `lifecycleState` changes to TERMINATING and then TERMINATED temporarily until the VCN is completely removed. A completely removed VCN does not appear in the results of a `ListVcns` operation and can't be used in a `GetVcn` operation.

        Specified by:
        deleteVcn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteVirtualCircuit

        public Future<DeleteVirtualCircuitResponse> deleteVirtualCircuit​(DeleteVirtualCircuitRequest request,
                                                                         AsyncHandler<DeleteVirtualCircuitRequest,​DeleteVirtualCircuitResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified virtual circuit.

        *Important:** If you're using FastConnect via a provider, make sure to also terminate the connection with the provider, or else the provider may continue to bill you.

        Specified by:
        deleteVirtualCircuit in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteVlan

        public Future<DeleteVlanResponse> deleteVlan​(DeleteVlanRequest request,
                                                     AsyncHandler<DeleteVlanRequest,​DeleteVlanResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified VLAN, but only if there are no VNICs in the VLAN.
        Specified by:
        deleteVlan in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteVtap

        public Future<DeleteVtapResponse> deleteVtap​(DeleteVtapRequest request,
                                                     AsyncHandler<DeleteVtapRequest,​DeleteVtapResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Deletes the specified VTAP.

        This is an asynchronous operation. The VTAP’s lifecycleState will change to TERMINATING temporarily until the VTAP is completely removed.

        Specified by:
        deleteVtap in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • detachServiceId

        public Future<DetachServiceIdResponse> detachServiceId​(DetachServiceIdRequest request,
                                                               AsyncHandler<DetachServiceIdRequest,​DetachServiceIdResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Removes the specified Service from the list of enabled Service objects for the specified gateway.

        You do not need to remove any route rules that specify this Service object’s cidrBlock as the destination CIDR. However, consider removing the rules if your intent is to permanently disable use of the Service through this service gateway.

        *Note:** The `DetachServiceId` operation is an easy way to remove an individual `Service` from the service gateway. Compare it with updateServiceGateway, which replaces the entire existing list of enabled `Service` objects with the list that you provide in the `Update` call. `UpdateServiceGateway` also lets you block all traffic through the service gateway without having to remove each of the individual `Service` objects.

        Specified by:
        detachServiceId in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getByoasn

        public Future<GetByoasnResponse> getByoasn​(GetByoasnRequest request,
                                                   AsyncHandler<GetByoasnRequest,​GetByoasnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the Byoasn resource.

        You must specify the OCID.

        Specified by:
        getByoasn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getByoipRange

        public Future<GetByoipRangeResponse> getByoipRange​(GetByoipRangeRequest request,
                                                           AsyncHandler<GetByoipRangeRequest,​GetByoipRangeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the ByoipRange resource.

        You must specify the OCID.

        Specified by:
        getByoipRange in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getCpe

        public Future<GetCpeResponse> getCpe​(GetCpeRequest request,
                                             AsyncHandler<GetCpeRequest,​GetCpeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified CPE’s information.
        Specified by:
        getCpe in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getCpeDeviceConfigContent

        public Future<GetCpeDeviceConfigContentResponse> getCpeDeviceConfigContent​(GetCpeDeviceConfigContentRequest request,
                                                                                   AsyncHandler<GetCpeDeviceConfigContentRequest,​GetCpeDeviceConfigContentResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Renders a set of CPE configuration content that can help a network engineer configure the actual CPE device (for example, a hardware router) represented by the specified Cpe object.

        The rendered content is specific to the type of CPE device (for example, Cisco ASA). Therefore the Cpe must have the CPE's device type specified by the `cpeDeviceShapeId` attribute. The content optionally includes answers that the customer provides (see updateTunnelCpeDeviceConfig), merged with a template of other information specific to the CPE device type.

        The operation returns configuration information for *all* of the IPSecConnection objects that use the specified CPE. Here are similar operations:

        getIpsecCpeDeviceConfigContent returns CPE configuration content for all IPSec tunnels in a single IPSec connection. * getTunnelCpeDeviceConfigContent returns CPE configuration content for a specific IPSec tunnel in an IPSec connection.

        Specified by:
        getCpeDeviceConfigContent in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getCpeDeviceShape

        public Future<GetCpeDeviceShapeResponse> getCpeDeviceShape​(GetCpeDeviceShapeRequest request,
                                                                   AsyncHandler<GetCpeDeviceShapeRequest,​GetCpeDeviceShapeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the detailed information about the specified CPE device type.

        This might include a set of questions that are specific to the particular CPE device type. The customer must supply answers to those questions (see updateTunnelCpeDeviceConfig). The service merges the answers with a template of other information for the CPE device type. The following operations return the merged content:

        getCpeDeviceConfigContent * getIpsecCpeDeviceConfigContent * getTunnelCpeDeviceConfigContent

        Specified by:
        getCpeDeviceShape in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getDrg

        public Future<GetDrgResponse> getDrg​(GetDrgRequest request,
                                             AsyncHandler<GetDrgRequest,​GetDrgResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified DRG’s information.
        Specified by:
        getDrg in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getIPSecConnection

        public Future<GetIPSecConnectionResponse> getIPSecConnection​(GetIPSecConnectionRequest request,
                                                                     AsyncHandler<GetIPSecConnectionRequest,​GetIPSecConnectionResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified IPSec connection’s basic information, including the static routes for the on-premises router.

        If you want the status of the connection (whether it’s up or down), use getIPSecConnectionTunnel.

        Specified by:
        getIPSecConnection in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getIpsecCpeDeviceConfigContent

        public Future<GetIpsecCpeDeviceConfigContentResponse> getIpsecCpeDeviceConfigContent​(GetIpsecCpeDeviceConfigContentRequest request,
                                                                                             AsyncHandler<GetIpsecCpeDeviceConfigContentRequest,​GetIpsecCpeDeviceConfigContentResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Renders a set of CPE configuration content for the specified IPSec connection (for all the tunnels in the connection).

        The content helps a network engineer configure the actual CPE device (for example, a hardware router) that the specified IPSec connection terminates on.

        The rendered content is specific to the type of CPE device (for example, Cisco ASA). Therefore the Cpe used by the specified IPSecConnection must have the CPE's device type specified by the `cpeDeviceShapeId` attribute. The content optionally includes answers that the customer provides (see updateTunnelCpeDeviceConfig), merged with a template of other information specific to the CPE device type.

        The operation returns configuration information for all tunnels in the single specified IPSecConnection object. Here are other similar operations:

        getTunnelCpeDeviceConfigContent returns CPE configuration content for a specific tunnel within an IPSec connection. * getCpeDeviceConfigContent returns CPE configuration content for *all* IPSec connections that use a specific CPE.

        Specified by:
        getIpsecCpeDeviceConfigContent in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getIpv6

        public Future<GetIpv6Response> getIpv6​(GetIpv6Request request,
                                               AsyncHandler<GetIpv6Request,​GetIpv6Response> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified IPv6.

        You must specify the object’s OCID. Alternatively, you can get the object by using listIpv6s with the IPv6 address (for example, 2001:0db8:0123:1111:98fe:dcba:9876:4321) and subnet OCID.

        Specified by:
        getIpv6 in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getNatGateway

        public Future<GetNatGatewayResponse> getNatGateway​(GetNatGatewayRequest request,
                                                           AsyncHandler<GetNatGatewayRequest,​GetNatGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified NAT gateway’s information.
        Specified by:
        getNatGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getPrivateIp

        public Future<GetPrivateIpResponse> getPrivateIp​(GetPrivateIpRequest request,
                                                         AsyncHandler<GetPrivateIpRequest,​GetPrivateIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified private IP.

        You must specify the object’s OCID. Alternatively, you can get the object by using listPrivateIps with the private IP address (for example, 10.0.3.3) and subnet OCID.

        Specified by:
        getPrivateIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getPublicIp

        public Future<GetPublicIpResponse> getPublicIp​(GetPublicIpRequest request,
                                                       AsyncHandler<GetPublicIpRequest,​GetPublicIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified public IP.

        You must specify the object’s OCID.

        Alternatively, you can get the object by using getPublicIpByIpAddress with the public IP address (for example, 203.0.113.2).

        Or you can use getPublicIpByPrivateIpId with the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private IP that the public IP is assigned to.

        *Note:** If you're fetching a reserved public IP that is in the process of being moved to a different private IP, the service returns the public IP object with `lifecycleState` = ASSIGNING and `assignedEntityId` = [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target private IP.

        Specified by:
        getPublicIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getPublicIpByIpAddress

        public Future<GetPublicIpByIpAddressResponse> getPublicIpByIpAddress​(GetPublicIpByIpAddressRequest request,
                                                                             AsyncHandler<GetPublicIpByIpAddressRequest,​GetPublicIpByIpAddressResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the public IP based on the public IP address (for example, 203.0.113.2).

        *Note:** If you're fetching a reserved public IP that is in the process of being moved to a different private IP, the service returns the public IP object with `lifecycleState` = ASSIGNING and `assignedEntityId` = [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target private IP.

        Specified by:
        getPublicIpByIpAddress in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getPublicIpByPrivateIpId

        public Future<GetPublicIpByPrivateIpIdResponse> getPublicIpByPrivateIpId​(GetPublicIpByPrivateIpIdRequest request,
                                                                                 AsyncHandler<GetPublicIpByPrivateIpIdRequest,​GetPublicIpByPrivateIpIdResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the public IP assigned to the specified private IP.

        You must specify the OCID of the private IP. If no public IP is assigned, a 404 is returned.

        *Note:** If you're fetching a reserved public IP that is in the process of being moved to a different private IP, and you provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the original private IP, this operation returns a 404. If you instead provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target private IP, or if you instead call getPublicIp or getPublicIpByIpAddress, the service returns the public IP object with `lifecycleState` = ASSIGNING and `assignedEntityId` = [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target private IP.

        Specified by:
        getPublicIpByPrivateIpId in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getRouteTable

        public Future<GetRouteTableResponse> getRouteTable​(GetRouteTableRequest request,
                                                           AsyncHandler<GetRouteTableRequest,​GetRouteTableResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified route table’s information.
        Specified by:
        getRouteTable in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getService

        public Future<GetServiceResponse> getService​(GetServiceRequest request,
                                                     AsyncHandler<GetServiceRequest,​GetServiceResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified Service object.
        Specified by:
        getService in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getSubnet

        public Future<GetSubnetResponse> getSubnet​(GetSubnetRequest request,
                                                   AsyncHandler<GetSubnetRequest,​GetSubnetResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified subnet’s information.
        Specified by:
        getSubnet in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getTunnelCpeDeviceConfig

        public Future<GetTunnelCpeDeviceConfigResponse> getTunnelCpeDeviceConfig​(GetTunnelCpeDeviceConfigRequest request,
                                                                                 AsyncHandler<GetTunnelCpeDeviceConfigRequest,​GetTunnelCpeDeviceConfigResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the set of CPE configuration answers for the tunnel, which the customer provided in updateTunnelCpeDeviceConfig.

        To get the full set of content for the tunnel (any answers merged with the template of other information specific to the CPE device type), use getTunnelCpeDeviceConfigContent.

        Specified by:
        getTunnelCpeDeviceConfig in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getTunnelCpeDeviceConfigContent

        public Future<GetTunnelCpeDeviceConfigContentResponse> getTunnelCpeDeviceConfigContent​(GetTunnelCpeDeviceConfigContentRequest request,
                                                                                               AsyncHandler<GetTunnelCpeDeviceConfigContentRequest,​GetTunnelCpeDeviceConfigContentResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Renders a set of CPE configuration content for the specified IPSec tunnel.

        The content helps a network engineer configure the actual CPE device (for example, a hardware router) that the specified IPSec tunnel terminates on.

        The rendered content is specific to the type of CPE device (for example, Cisco ASA). Therefore the Cpe used by the specified IPSecConnection must have the CPE's device type specified by the `cpeDeviceShapeId` attribute. The content optionally includes answers that the customer provides (see updateTunnelCpeDeviceConfig), merged with a template of other information specific to the CPE device type.

        The operation returns configuration information for only the specified IPSec tunnel. Here are other similar operations:

        getIpsecCpeDeviceConfigContent returns CPE configuration content for all tunnels in a single IPSec connection. * getCpeDeviceConfigContent returns CPE configuration content for *all* IPSec connections that use a specific CPE.

        Specified by:
        getTunnelCpeDeviceConfigContent in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getUpgradeStatus

        public Future<GetUpgradeStatusResponse> getUpgradeStatus​(GetUpgradeStatusRequest request,
                                                                 AsyncHandler<GetUpgradeStatusRequest,​GetUpgradeStatusResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Returns the DRG upgrade status.

        The status can be not updated, in progress, or updated. Also indicates how much of the upgrade is completed.

        Specified by:
        getUpgradeStatus in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getVcn

        public Future<GetVcnResponse> getVcn​(GetVcnRequest request,
                                             AsyncHandler<GetVcnRequest,​GetVcnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified VCN’s information.
        Specified by:
        getVcn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getVcnOverlap

        public Future<GetVcnOverlapResponse> getVcnOverlap​(GetVcnOverlapRequest request,
                                                           AsyncHandler<GetVcnOverlapRequest,​GetVcnOverlapResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the CIDR overlap information of the specified VCN in selected compartments.

        Specify the OCID.

        Specified by:
        getVcnOverlap in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getVlan

        public Future<GetVlanResponse> getVlan​(GetVlanRequest request,
                                               AsyncHandler<GetVlanRequest,​GetVlanResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified VLAN’s information.
        Specified by:
        getVlan in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getVnic

        public Future<GetVnicResponse> getVnic​(GetVnicRequest request,
                                               AsyncHandler<GetVnicRequest,​GetVnicResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the information for the specified virtual network interface card (VNIC).

        You can get the VNIC OCID from the listVnicAttachments operation.

        Specified by:
        getVnic in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getVtap

        public Future<GetVtapResponse> getVtap​(GetVtapRequest request,
                                               AsyncHandler<GetVtapRequest,​GetVtapResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Gets the specified Vtap resource.
        Specified by:
        getVtap in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • ipv6VnicDetach

        public Future<Ipv6VnicDetachResponse> ipv6VnicDetach​(Ipv6VnicDetachRequest request,
                                                             AsyncHandler<Ipv6VnicDetachRequest,​Ipv6VnicDetachResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Unassign the specified IPv6 address from Virtual Network Interface Card (VNIC).

        You must specify the IPv6 OCID.

        Specified by:
        ipv6VnicDetach in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listByoasns

        public Future<ListByoasnsResponse> listByoasns​(ListByoasnsRequest request,
                                                       AsyncHandler<ListByoasnsRequest,​ListByoasnsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the Byoasn resources in the specified compartment.

        You can filter the list using query parameters.

        Specified by:
        listByoasns in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listByoipRanges

        public Future<ListByoipRangesResponse> listByoipRanges​(ListByoipRangesRequest request,
                                                               AsyncHandler<ListByoipRangesRequest,​ListByoipRangesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the ByoipRange resources in the specified compartment.

        You can filter the list using query parameters.

        Specified by:
        listByoipRanges in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listCpeDeviceShapes

        public Future<ListCpeDeviceShapesResponse> listCpeDeviceShapes​(ListCpeDeviceShapesRequest request,
                                                                       AsyncHandler<ListCpeDeviceShapesRequest,​ListCpeDeviceShapesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the CPE device types that the Networking service provides CPE configuration content for (example: Cisco ASA).

        The content helps a network engineer configure the actual CPE device represented by a Cpe object.

        If you want to generate CPE configuration content for one of the returned CPE device types, ensure that the Cpe object's `cpeDeviceShapeId` attribute is set to the CPE device type's [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) (returned by this operation).

        For information about generating CPE configuration content, see these operations:

        getCpeDeviceConfigContent * getIpsecCpeDeviceConfigContent * getTunnelCpeDeviceConfigContent

        Specified by:
        listCpeDeviceShapes in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listCpes

        public Future<ListCpesResponse> listCpes​(ListCpesRequest request,
                                                 AsyncHandler<ListCpesRequest,​ListCpesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the customer-premises equipment objects (CPEs) in the specified compartment.
        Specified by:
        listCpes in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listCrossConnects

        public Future<ListCrossConnectsResponse> listCrossConnects​(ListCrossConnectsRequest request,
                                                                   AsyncHandler<ListCrossConnectsRequest,​ListCrossConnectsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the cross-connects in the specified compartment.

        You can filter the list by specifying the OCID of a cross-connect group.

        Specified by:
        listCrossConnects in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDhcpOptions

        public Future<ListDhcpOptionsResponse> listDhcpOptions​(ListDhcpOptionsRequest request,
                                                               AsyncHandler<ListDhcpOptionsRequest,​ListDhcpOptionsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the sets of DHCP options in the specified VCN and specified compartment.

        If the VCN ID is not provided, then the list includes the sets of DHCP options from all VCNs in the specified compartment. The response includes the default set of options that automatically comes with each VCN, plus any other sets you’ve created.

        Specified by:
        listDhcpOptions in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDrgAttachments

        public Future<ListDrgAttachmentsResponse> listDrgAttachments​(ListDrgAttachmentsRequest request,
                                                                     AsyncHandler<ListDrgAttachmentsRequest,​ListDrgAttachmentsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the DrgAttachment resource for the specified compartment.

        You can filter the results by DRG, attached network, attachment type, DRG route table or VCN route table.

        The LIST API lists DRG attachments by attachment type. It will default to list VCN attachments, but you may request to list ALL attachments of ALL types.

        Specified by:
        listDrgAttachments in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDrgRouteTables

        public Future<ListDrgRouteTablesResponse> listDrgRouteTables​(ListDrgRouteTablesRequest request,
                                                                     AsyncHandler<ListDrgRouteTablesRequest,​ListDrgRouteTablesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the DRG route tables for the specified DRG.

        Use the `ListDrgRouteRules` operation to retrieve the route rules in a table.

        Specified by:
        listDrgRouteTables in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listDrgs

        public Future<ListDrgsResponse> listDrgs​(ListDrgsRequest request,
                                                 AsyncHandler<ListDrgsRequest,​ListDrgsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the DRGs in the specified compartment.
        Specified by:
        listDrgs in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listFastConnectProviderServices

        public Future<ListFastConnectProviderServicesResponse> listFastConnectProviderServices​(ListFastConnectProviderServicesRequest request,
                                                                                               AsyncHandler<ListFastConnectProviderServicesRequest,​ListFastConnectProviderServicesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the service offerings from supported providers.

        You need this information so you can specify your desired provider and service offering when you create a virtual circuit.

        For the compartment ID, provide the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of your tenancy (the root compartment).

        For more information, see [FastConnect Overview](https://docs.oracle.com/iaas/Content/Network/Concepts/fastconnect.htm).

        Specified by:
        listFastConnectProviderServices in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listInternetGateways

        public Future<ListInternetGatewaysResponse> listInternetGateways​(ListInternetGatewaysRequest request,
                                                                         AsyncHandler<ListInternetGatewaysRequest,​ListInternetGatewaysResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the internet gateways in the specified VCN and the specified compartment.

        If the VCN ID is not provided, then the list includes the internet gateways from all VCNs in the specified compartment.

        Specified by:
        listInternetGateways in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listIpv6s

        public Future<ListIpv6sResponse> listIpv6s​(ListIpv6sRequest request,
                                                   AsyncHandler<ListIpv6sRequest,​ListIpv6sResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the Ipv6 objects based on one of these filters:

        Subnet [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * VNIC [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * Both IPv6 address and subnet OCID: This lets you get an `Ipv6` object based on its private IPv6 address (for example, 2001:0db8:0123:1111:abcd:ef01:2345:6789) and not its [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). For comparison, getIpv6 requires the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        Specified by:
        listIpv6s in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listNatGateways

        public Future<ListNatGatewaysResponse> listNatGateways​(ListNatGatewaysRequest request,
                                                               AsyncHandler<ListNatGatewaysRequest,​ListNatGatewaysResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the NAT gateways in the specified compartment.

        You may optionally specify a VCN OCID to filter the results by VCN.

        Specified by:
        listNatGateways in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listPrivateIps

        public Future<ListPrivateIpsResponse> listPrivateIps​(ListPrivateIpsRequest request,
                                                             AsyncHandler<ListPrivateIpsRequest,​ListPrivateIpsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the PrivateIp objects based on one of these filters:

        - Subnet [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). - VNIC [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). - Both private IP address and subnet OCID: This lets you get a `privateIP` object based on its private IP address (for example, 10.0.3.3) and not its [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). For comparison, getPrivateIp requires the [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).

        If you're listing all the private IPs associated with a given subnet or VNIC, the response includes both primary and secondary private IPs.

        If you are an Oracle Cloud VMware Solution customer and have VLANs in your VCN, you can filter the list by VLAN [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). See Vlan.

        Specified by:
        listPrivateIps in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listPublicIps

        public Future<ListPublicIpsResponse> listPublicIps​(ListPublicIpsRequest request,
                                                           AsyncHandler<ListPublicIpsRequest,​ListPublicIpsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the PublicIp objects in the specified compartment.

        You can filter the list by using query parameters.

        To list your reserved public IPs: * Set `scope` = `REGION` (required) * Leave the `availabilityDomain` parameter empty * Set `lifetime` = `RESERVED`

        To list the ephemeral public IPs assigned to a regional entity such as a NAT gateway: * Set `scope` = `REGION` (required) * Leave the `availabilityDomain` parameter empty * Set `lifetime` = `EPHEMERAL`

        To list the ephemeral public IPs assigned to private IPs: * Set `scope` = `AVAILABILITY_DOMAIN` (required) * Set the `availabilityDomain` parameter to the desired availability domain (required) * Set `lifetime` = `EPHEMERAL`

        *Note:** An ephemeral public IP assigned to a private IP is always in the same availability domain and compartment as the private IP.

        Specified by:
        listPublicIps in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listRouteTables

        public Future<ListRouteTablesResponse> listRouteTables​(ListRouteTablesRequest request,
                                                               AsyncHandler<ListRouteTablesRequest,​ListRouteTablesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the route tables in the specified VCN and specified compartment.

        If the VCN ID is not provided, then the list includes the route tables from all VCNs in the specified compartment. The response includes the default route table that automatically comes with each VCN in the specified compartment, plus any route tables you’ve created.

        Specified by:
        listRouteTables in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listSecurityLists

        public Future<ListSecurityListsResponse> listSecurityLists​(ListSecurityListsRequest request,
                                                                   AsyncHandler<ListSecurityListsRequest,​ListSecurityListsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the security lists in the specified VCN and compartment.

        If the VCN ID is not provided, then the list includes the security lists from all VCNs in the specified compartment.

        Specified by:
        listSecurityLists in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listServices

        public Future<ListServicesResponse> listServices​(ListServicesRequest request,
                                                         AsyncHandler<ListServicesRequest,​ListServicesResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the available Service objects that you can enable for a service gateway in this region.
        Specified by:
        listServices in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listSubnets

        public Future<ListSubnetsResponse> listSubnets​(ListSubnetsRequest request,
                                                       AsyncHandler<ListSubnetsRequest,​ListSubnetsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the subnets in the specified VCN and the specified compartment.

        If the VCN ID is not provided, then the list includes the subnets from all VCNs in the specified compartment.

        Specified by:
        listSubnets in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listVcns

        public Future<ListVcnsResponse> listVcns​(ListVcnsRequest request,
                                                 AsyncHandler<ListVcnsRequest,​ListVcnsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the virtual cloud networks (VCNs) in the specified compartment.
        Specified by:
        listVcns in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listVlans

        public Future<ListVlansResponse> listVlans​(ListVlansRequest request,
                                                   AsyncHandler<ListVlansRequest,​ListVlansResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the VLANs in the specified VCN and the specified compartment.
        Specified by:
        listVlans in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listVtaps

        public Future<ListVtapsResponse> listVtaps​(ListVtapsRequest request,
                                                   AsyncHandler<ListVtapsRequest,​ListVtapsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Lists the virtual test access points (VTAPs) in the specified compartment.
        Specified by:
        listVtaps in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • modifyVcnCidr

        public Future<ModifyVcnCidrResponse> modifyVcnCidr​(ModifyVcnCidrRequest request,
                                                           AsyncHandler<ModifyVcnCidrRequest,​ModifyVcnCidrResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified CIDR block of a VCN.

        The new CIDR IP range must meet the following criteria:

        - Must be valid. - Must not overlap with another CIDR block in the VCN, a CIDR block of a peered VCN, or the on-premises network CIDR block. - Must not exceed the limit of CIDR blocks allowed per VCN. - Must include IP addresses from the original CIDR block that are used in the VCN's existing route rules. - No IP address in an existing subnet should be outside of the new CIDR block range.

        *Note:** Modifying a CIDR block places your VCN in an updating state until the changes are complete. You cannot create or update the VCN's subnets, VLANs, LPGs, or route tables during this operation. The time to completion can vary depending on the size of your network. Updating a small network could take about a minute, and updating a large network could take up to an hour. You can use the `GetWorkRequest` operation to check the status of the update.

        Specified by:
        modifyVcnCidr in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • removeVcnCidr

        public Future<RemoveVcnCidrResponse> removeVcnCidr​(RemoveVcnCidrRequest request,
                                                           AsyncHandler<RemoveVcnCidrRequest,​RemoveVcnCidrResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Removes a specified CIDR block from a VCN.

        *Notes:** - You cannot remove a CIDR block if an IP address in its range is in use. - Removing a CIDR block places your VCN in an updating state until the changes are complete. You cannot create or update the VCN's subnets, VLANs, LPGs, or route tables during this operation. The time to completion can take a few minutes. You can use the `GetWorkRequest` operation to check the status of the update.

        Specified by:
        removeVcnCidr in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • setOriginAsn

        public Future<SetOriginAsnResponse> setOriginAsn​(SetOriginAsnRequest request,
                                                         AsyncHandler<SetOriginAsnRequest,​SetOriginAsnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Update BYOIP’s origin ASN to byoasn.
        Specified by:
        setOriginAsn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateByoasn

        public Future<UpdateByoasnResponse> updateByoasn​(UpdateByoasnRequest request,
                                                         AsyncHandler<UpdateByoasnRequest,​UpdateByoasnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the tags or display name associated with the specified BYOASN Resource.
        Specified by:
        updateByoasn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateCpe

        public Future<UpdateCpeResponse> updateCpe​(UpdateCpeRequest request,
                                                   AsyncHandler<UpdateCpeRequest,​UpdateCpeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified CPE’s display name or tags.

        Avoid entering confidential information.

        Specified by:
        updateCpe in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateDhcpOptions

        public Future<UpdateDhcpOptionsResponse> updateDhcpOptions​(UpdateDhcpOptionsRequest request,
                                                                   AsyncHandler<UpdateDhcpOptionsRequest,​UpdateDhcpOptionsResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified set of DHCP options.

        You can update the display name or the options themselves. Avoid entering confidential information.

        Note that the `options` object you provide replaces the entire existing set of options.

        Specified by:
        updateDhcpOptions in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateDrg

        public Future<UpdateDrgResponse> updateDrg​(UpdateDrgRequest request,
                                                   AsyncHandler<UpdateDrgRequest,​UpdateDrgResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified DRG’s display name or tags.

        Avoid entering confidential information.

        Specified by:
        updateDrg in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateIPSecConnectionTunnel

        public Future<UpdateIPSecConnectionTunnelResponse> updateIPSecConnectionTunnel​(UpdateIPSecConnectionTunnelRequest request,
                                                                                       AsyncHandler<UpdateIPSecConnectionTunnelRequest,​UpdateIPSecConnectionTunnelResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified tunnel.

        This operation lets you change tunnel attributes such as the routing type (BGP dynamic routing or static routing). Here are some important notes:

        If you change the tunnel's routing type or BGP session configuration, the tunnel will go down while it's reprovisioned.

        If you want to switch the tunnel's `routing` from `STATIC` to `BGP`, make sure the tunnel's BGP session configuration attributes have been set (bgpSessionInfo).

        If you want to switch the tunnel's `routing` from `BGP` to `STATIC`, make sure the IPSecConnection already has at least one valid CIDR static route.

        Specified by:
        updateIPSecConnectionTunnel in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateInternetGateway

        public Future<UpdateInternetGatewayResponse> updateInternetGateway​(UpdateInternetGatewayRequest request,
                                                                           AsyncHandler<UpdateInternetGatewayRequest,​UpdateInternetGatewayResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified internet gateway.

        You can disable/enable it, or change its display name or tags. Avoid entering confidential information.

        If the gateway is disabled, that means no traffic will flow to/from the internet even if there's a route rule that enables that traffic.

        Specified by:
        updateInternetGateway in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateIpv6

        public Future<UpdateIpv6Response> updateIpv6​(UpdateIpv6Request request,
                                                     AsyncHandler<UpdateIpv6Request,​UpdateIpv6Response> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified IPv6.

        You must specify the object’s OCID. Use this operation if you want to:

        Move an IPv6 to a different VNIC in the same subnet. * Enable/disable internet access for an IPv6. * Change the display name for an IPv6. * Update resource tags for an IPv6.

        Specified by:
        updateIpv6 in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateNetworkSecurityGroup

        public Future<UpdateNetworkSecurityGroupResponse> updateNetworkSecurityGroup​(UpdateNetworkSecurityGroupRequest request,
                                                                                     AsyncHandler<UpdateNetworkSecurityGroupRequest,​UpdateNetworkSecurityGroupResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified network security group.

        To add or remove an existing VNIC from the group, use updateVnic.

        To add a VNIC to the group *when you create the VNIC*, specify the NSG's [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) during creation. For example, see the `nsgIds` attribute in createVnicDetails.

        To add or remove security rules from the group, use addNetworkSecurityGroupSecurityRules or removeNetworkSecurityGroupSecurityRules.

        To edit the contents of existing security rules in the group, use updateNetworkSecurityGroupSecurityRules.

        Specified by:
        updateNetworkSecurityGroup in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updatePrivateIp

        public Future<UpdatePrivateIpResponse> updatePrivateIp​(UpdatePrivateIpRequest request,
                                                               AsyncHandler<UpdatePrivateIpRequest,​UpdatePrivateIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified private IP.

        You must specify the object’s OCID. Use this operation if you want to:

        - Move a secondary private IP to a different VNIC in the same subnet. - Change the display name for a secondary private IP. - Change the hostname for a secondary private IP.

        This operation cannot be used with primary private IPs. To update the hostname for the primary IP on a VNIC, use updateVnic.

        Specified by:
        updatePrivateIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updatePublicIp

        public Future<UpdatePublicIpResponse> updatePublicIp​(UpdatePublicIpRequest request,
                                                             AsyncHandler<UpdatePublicIpRequest,​UpdatePublicIpResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified public IP.

        You must specify the object’s OCID. Use this operation if you want to:

        Assign a reserved public IP in your pool to a private IP. * Move a reserved public IP to a different private IP. * Unassign a reserved public IP from a private IP (which returns it to your pool of reserved public IPs). * Change the display name or tags for a public IP.

        Assigning, moving, and unassigning a reserved public IP are asynchronous operations. Poll the public IP's `lifecycleState` to determine if the operation succeeded.

        *Note:** When moving a reserved public IP, the target private IP must not already have a public IP with `lifecycleState` = ASSIGNING or ASSIGNED. If it does, an error is returned. Also, the initial unassignment from the original private IP always succeeds, but the assignment to the target private IP is asynchronous and could fail silently (for example, if the target private IP is deleted or has a different public IP assigned to it in the interim). If that occurs, the public IP remains unassigned and its `lifecycleState` switches to AVAILABLE (it is not reassigned to its original private IP). You must poll the public IP's `lifecycleState` to determine if the move succeeded.

        Regarding ephemeral public IPs:

        If you want to assign an ephemeral public IP to a primary private IP, use createPublicIp. * You can't move an ephemeral public IP to a different private IP. * If you want to unassign an ephemeral public IP from its private IP, use deletePublicIp, which unassigns and deletes the ephemeral public IP.

        *Note:** If a public IP is assigned to a secondary private IP (see PrivateIp), and you move that secondary private IP to another VNIC, the public IP moves with it.

        *Note:** There's a limit to the number of PublicIp a VNIC or instance can have. If you try to move a reserved public IP to a VNIC or instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see [Public IP Addresses](https://docs.oracle.com/iaas/Content/Network/Tasks/managingpublicIPs.htm).

        Specified by:
        updatePublicIp in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateRouteTable

        public Future<UpdateRouteTableResponse> updateRouteTable​(UpdateRouteTableRequest request,
                                                                 AsyncHandler<UpdateRouteTableRequest,​UpdateRouteTableResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified route table’s display name or route rules.

        Avoid entering confidential information.

        Note that the `routeRules` object you provide replaces the entire existing set of rules.

        Specified by:
        updateRouteTable in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateSecurityList

        public Future<UpdateSecurityListResponse> updateSecurityList​(UpdateSecurityListRequest request,
                                                                     AsyncHandler<UpdateSecurityListRequest,​UpdateSecurityListResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified security list’s display name or rules.

        Avoid entering confidential information.

        Note that the `egressSecurityRules` or `ingressSecurityRules` objects you provide replace the entire existing objects.

        Specified by:
        updateSecurityList in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateSubnet

        public Future<UpdateSubnetResponse> updateSubnet​(UpdateSubnetRequest request,
                                                         AsyncHandler<UpdateSubnetRequest,​UpdateSubnetResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified subnet.
        Specified by:
        updateSubnet in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateVcn

        public Future<UpdateVcnResponse> updateVcn​(UpdateVcnRequest request,
                                                   AsyncHandler<UpdateVcnRequest,​UpdateVcnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified VCN.
        Specified by:
        updateVcn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateVirtualCircuit

        public Future<UpdateVirtualCircuitResponse> updateVirtualCircuit​(UpdateVirtualCircuitRequest request,
                                                                         AsyncHandler<UpdateVirtualCircuitRequest,​UpdateVirtualCircuitResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified virtual circuit.

        This can be called by either the customer who owns the virtual circuit, or the provider (when provisioning or de-provisioning the virtual circuit from their end). The documentation for updateVirtualCircuitDetails indicates who can update each property of the virtual circuit.

        *Important:** If the virtual circuit is working and in the PROVISIONED state, updating any of the network-related properties (such as the DRG being used, the BGP ASN, and so on) will cause the virtual circuit's state to switch to PROVISIONING and the related BGP session to go down. After Oracle re-provisions the virtual circuit, its state will return to PROVISIONED. Make sure you confirm that the associated BGP session is back up. For more information about the various states and how to test connectivity, see [FastConnect Overview](https://docs.oracle.com/iaas/Content/Network/Concepts/fastconnect.htm).

        To change the list of public IP prefixes for a public virtual circuit, use bulkAddVirtualCircuitPublicPrefixes and bulkDeleteVirtualCircuitPublicPrefixes. Updating the list of prefixes does NOT cause the BGP session to go down. However, Oracle must verify the customer's ownership of each added prefix before traffic for that prefix will flow across the virtual circuit.

        Specified by:
        updateVirtualCircuit in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateVlan

        public Future<UpdateVlanResponse> updateVlan​(UpdateVlanRequest request,
                                                     AsyncHandler<UpdateVlanRequest,​UpdateVlanResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified VLAN.

        Note that this operation might require changes to all the VNICs in the VLAN, which can take a while. The VLAN will be in the UPDATING state until the changes are complete.

        Specified by:
        updateVlan in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateVnic

        public Future<UpdateVnicResponse> updateVnic​(UpdateVnicRequest request,
                                                     AsyncHandler<UpdateVnicRequest,​UpdateVnicResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified VNIC.
        Specified by:
        updateVnic in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateVtap

        public Future<UpdateVtapResponse> updateVtap​(UpdateVtapRequest request,
                                                     AsyncHandler<UpdateVtapRequest,​UpdateVtapResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Updates the specified VTAP’s display name or tags.
        Specified by:
        updateVtap in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • upgradeDrg

        public Future<UpgradeDrgResponse> upgradeDrg​(UpgradeDrgRequest request,
                                                     AsyncHandler<UpgradeDrgRequest,​UpgradeDrgResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Upgrades the DRG.

        After upgrade, you can control routing inside your DRG via DRG attachments, route distributions, and DRG route tables.

        Specified by:
        upgradeDrg in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • validateByoasn

        public Future<ValidateByoasnResponse> validateByoasn​(ValidateByoasnRequest request,
                                                             AsyncHandler<ValidateByoasnRequest,​ValidateByoasnResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Submits the BYOASN for validation.

        Please do not submit to Oracle for validation if the information for the BYOASN is not already modified in the Regional Internet Registry. See To import a BYOASN for details.

        Specified by:
        validateByoasn in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • validateByoipRange

        public Future<ValidateByoipRangeResponse> validateByoipRange​(ValidateByoipRangeRequest request,
                                                                     AsyncHandler<ValidateByoipRangeRequest,​ValidateByoipRangeResponse> handler)
        Description copied from interface: VirtualNetworkAsync
        Submits the BYOIP CIDR block you are importing for validation.

        Do not submit to Oracle for validation if you have not already modified the information for the BYOIP CIDR block with your Regional Internet Registry. See To import a CIDR block for details.

        Specified by:
        validateByoipRange in interface VirtualNetworkAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • useRealmSpecificEndpointTemplate

        public void useRealmSpecificEndpointTemplate​(boolean useOfRealmSpecificEndpointTemplateEnabled)
        This method should be used to enable or disable the use of realm-specific endpoint template.

        The default value is null. To enable the use of endpoint template defined for the realm in use, set the flag to true To disable the use of endpoint template defined for the realm in use, set the flag to false

        Parameters:
        useOfRealmSpecificEndpointTemplateEnabled - This flag can be set to true or false to enable or disable the use of realm-specific endpoint template respectively
      • populateServiceParametersInEndpoint

        public final void populateServiceParametersInEndpoint​(String endpoint,
                                                              Map<String,​Object> requiredParametersMap)
        Populate the parameters in the endpoint with its corresponding value and update the base endpoint.

        The value will be populated iff the parameter in endpoint is a required request path parameter or a required request query parameter. If not, the parameter in the endpoint will be ignored and left blank.

        Parameters:
        endpoint - The endpoint template in use
        requiredParametersMap - Map of parameter name as key and value set in request path or query parameter as value
      • updateBaseEndpoint

        public final void updateBaseEndpoint​(String endpoint)
        This method should be used for parameterized endpoint templates only.

        This does not include {region} and {secondLevelDomain} parameters.

        Parameters:
        endpoint - The updated endpoint to use
      • setEndpoint

        public final void setEndpoint​(String endpoint)
      • getEndpoint

        public final String getEndpoint()
      • refreshClient

        public final void refreshClient()
        Rebuild the backing HttpClient.

        This will call ClientConfigurators again, and can be used to e.g. refresh the SSL certificate.

      • getClientCommonLibraryVersion

        public String getClientCommonLibraryVersion()
      • getMinimumClientCommonLibraryVersionFromClient

        public Optional<String> getMinimumClientCommonLibraryVersionFromClient()