Class DnsAsyncClient

  • All Implemented Interfaces:
    DnsAsync, AutoCloseable

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20180115")
    public class DnsAsyncClient
    extends BaseAsyncClient
    implements DnsAsync
    Async client implementation for Dns 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 Dns.
      • 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: DnsAsync
        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 DnsAsync
        Parameters:
        region - The region of the service.
      • setRegion

        public void setRegion​(String regionId)
        Description copied from interface: DnsAsync
        Sets the region to call (ex, ‘us-phoenix-1’).

        Note, this will first try to map the region ID to a known Region and call setRegion.

        If no known Region could be determined, it will create an endpoint based on the default endpoint format (Region.formatDefaultRegionEndpoint(Service, String) and then call setEndpoint.

        Specified by:
        setRegion in interface DnsAsync
        Parameters:
        regionId - The public region ID.
      • changeResolverCompartment

        public Future<ChangeResolverCompartmentResponse> changeResolverCompartment​(ChangeResolverCompartmentRequest request,
                                                                                   AsyncHandler<ChangeResolverCompartmentRequest,​ChangeResolverCompartmentResponse> handler)
        Description copied from interface: DnsAsync
        Moves a resolver into a different compartment along with its protected default view and any endpoints.

        Zones in the default view are not moved. VCN-dedicated resolvers are initially created in the same compartment as their corresponding VCN, but can then be moved to a different compartment.

        Specified by:
        changeResolverCompartment in interface DnsAsync
        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.
      • changeViewCompartment

        public Future<ChangeViewCompartmentResponse> changeViewCompartment​(ChangeViewCompartmentRequest request,
                                                                           AsyncHandler<ChangeViewCompartmentRequest,​ChangeViewCompartmentResponse> handler)
        Description copied from interface: DnsAsync
        Moves a view into a different compartment.

        To change the compartment of a protected view, change the compartment of its corresponding resolver.

        Specified by:
        changeViewCompartment in interface DnsAsync
        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.
      • changeZoneCompartment

        public Future<ChangeZoneCompartmentResponse> changeZoneCompartment​(ChangeZoneCompartmentRequest request,
                                                                           AsyncHandler<ChangeZoneCompartmentRequest,​ChangeZoneCompartmentResponse> handler)
        Description copied from interface: DnsAsync
        Moves a zone into a different compartment.

        Protected zones cannot have their compartment changed. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        *Note:** All SteeringPolicyAttachment objects associated with this zone will also be moved into the provided compartment.

        Specified by:
        changeZoneCompartment in interface DnsAsync
        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.
      • createSteeringPolicyAttachment

        public Future<CreateSteeringPolicyAttachmentResponse> createSteeringPolicyAttachment​(CreateSteeringPolicyAttachmentRequest request,
                                                                                             AsyncHandler<CreateSteeringPolicyAttachmentRequest,​CreateSteeringPolicyAttachmentResponse> handler)
        Description copied from interface: DnsAsync
        Creates a new attachment between a steering policy and a domain, giving the policy permission to answer queries for the specified domain.

        A steering policy must be attached to a domain for the policy to answer DNS queries for that domain.

        For the purposes of access control, the attachment is automatically placed into the same compartment as the domain's zone.

        Specified by:
        createSteeringPolicyAttachment in interface DnsAsync
        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.
      • createTsigKey

        public Future<CreateTsigKeyResponse> createTsigKey​(CreateTsigKeyRequest request,
                                                           AsyncHandler<CreateTsigKeyRequest,​CreateTsigKeyResponse> handler)
        Description copied from interface: DnsAsync
        Creates a new TSIG key in the specified compartment.

        There is no opc-retry-token header since TSIG key names must be globally unique.

        Specified by:
        createTsigKey in interface DnsAsync
        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.
      • createView

        public Future<CreateViewResponse> createView​(CreateViewRequest request,
                                                     AsyncHandler<CreateViewRequest,​CreateViewResponse> handler)
        Description copied from interface: DnsAsync
        Creates a new view in the specified compartment.
        Specified by:
        createView in interface DnsAsync
        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.
      • createZone

        public Future<CreateZoneResponse> createZone​(CreateZoneRequest request,
                                                     AsyncHandler<CreateZoneRequest,​CreateZoneResponse> handler)
        Description copied from interface: DnsAsync
        Creates a new zone in the specified compartment.

        Private zones must have a zone type of `PRIMARY`. Creating a private zone at or under `oraclevcn.com` within the default protected view of a VCN-dedicated resolver is not permitted.

        Specified by:
        createZone in interface DnsAsync
        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.
      • deleteDomainRecords

        public Future<DeleteDomainRecordsResponse> deleteDomainRecords​(DeleteDomainRecordsRequest request,
                                                                       AsyncHandler<DeleteDomainRecordsRequest,​DeleteDomainRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Deletes all records at the specified zone and domain.

        When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        deleteDomainRecords in interface DnsAsync
        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.
      • deleteRRSet

        public Future<DeleteRRSetResponse> deleteRRSet​(DeleteRRSetRequest request,
                                                       AsyncHandler<DeleteRRSetRequest,​DeleteRRSetResponse> handler)
        Description copied from interface: DnsAsync
        Deletes all records in the specified RRSet.

        When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        deleteRRSet in interface DnsAsync
        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.
      • deleteResolverEndpoint

        public Future<DeleteResolverEndpointResponse> deleteResolverEndpoint​(DeleteResolverEndpointRequest request,
                                                                             AsyncHandler<DeleteResolverEndpointRequest,​DeleteResolverEndpointResponse> handler)
        Description copied from interface: DnsAsync
        Deletes the specified resolver endpoint.

        Note that attempting to delete a resolver endpoint in the DELETED lifecycle state will result in a `404` response to be consistent with other operations of the API. Resolver endpoints may not be deleted if they are referenced by a resolver rule.

        Specified by:
        deleteResolverEndpoint in interface DnsAsync
        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.
      • deleteSteeringPolicy

        public Future<DeleteSteeringPolicyResponse> deleteSteeringPolicy​(DeleteSteeringPolicyRequest request,
                                                                         AsyncHandler<DeleteSteeringPolicyRequest,​DeleteSteeringPolicyResponse> handler)
        Description copied from interface: DnsAsync
        Deletes the specified steering policy.

        A `204` response indicates that the delete has been successful. Deletion will fail if the policy is attached to any zones. To detach a policy from a zone, see `DeleteSteeringPolicyAttachment`.

        Specified by:
        deleteSteeringPolicy in interface DnsAsync
        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.
      • deleteTsigKey

        public Future<DeleteTsigKeyResponse> deleteTsigKey​(DeleteTsigKeyRequest request,
                                                           AsyncHandler<DeleteTsigKeyRequest,​DeleteTsigKeyResponse> handler)
        Description copied from interface: DnsAsync
        Deletes the specified TSIG key.
        Specified by:
        deleteTsigKey in interface DnsAsync
        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.
      • deleteView

        public Future<DeleteViewResponse> deleteView​(DeleteViewRequest request,
                                                     AsyncHandler<DeleteViewRequest,​DeleteViewResponse> handler)
        Description copied from interface: DnsAsync
        Deletes the specified view.

        Note that attempting to delete a view in the DELETED lifecycleState will result in a `404` response to be consistent with other operations of the API. Views cannot be deleted if they are referenced by non-deleted zones or resolvers. Protected views cannot be deleted.

        Specified by:
        deleteView in interface DnsAsync
        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.
      • deleteZone

        public Future<DeleteZoneResponse> deleteZone​(DeleteZoneRequest request,
                                                     AsyncHandler<DeleteZoneRequest,​DeleteZoneResponse> handler)
        Description copied from interface: DnsAsync
        Deletes the specified zone and all its steering policy attachments.

        A `204` response indicates that the zone has been successfully deleted. Protected zones cannot be deleted. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        deleteZone in interface DnsAsync
        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.
      • getDomainRecords

        public Future<GetDomainRecordsResponse> getDomainRecords​(GetDomainRecordsRequest request,
                                                                 AsyncHandler<GetDomainRecordsRequest,​GetDomainRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all records at the specified zone and domain.

        The results are sorted by `rtype` in alphabetical order by default. You can optionally filter and/or sort the results using the listed parameters. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        getDomainRecords in interface DnsAsync
        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.
      • getRRSet

        public Future<GetRRSetResponse> getRRSet​(GetRRSetRequest request,
                                                 AsyncHandler<GetRRSetRequest,​GetRRSetResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all records in the specified RRSet.

        The results are sorted by `recordHash` by default. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        getRRSet in interface DnsAsync
        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.
      • getResolver

        public Future<GetResolverResponse> getResolver​(GetResolverRequest request,
                                                       AsyncHandler<GetResolverRequest,​GetResolverResponse> handler)
        Description copied from interface: DnsAsync
        Gets information about a specific resolver.

        Note that attempting to get a resolver in the DELETED lifecycleState will result in a `404` response to be consistent with other operations of the API.

        Specified by:
        getResolver in interface DnsAsync
        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.
      • getResolverEndpoint

        public Future<GetResolverEndpointResponse> getResolverEndpoint​(GetResolverEndpointRequest request,
                                                                       AsyncHandler<GetResolverEndpointRequest,​GetResolverEndpointResponse> handler)
        Description copied from interface: DnsAsync
        Gets information about a specific resolver endpoint.

        Note that attempting to get a resolver endpoint in the DELETED lifecycle state will result in a `404` response to be consistent with other operations of the API.

        Specified by:
        getResolverEndpoint in interface DnsAsync
        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.
      • getSteeringPolicy

        public Future<GetSteeringPolicyResponse> getSteeringPolicy​(GetSteeringPolicyRequest request,
                                                                   AsyncHandler<GetSteeringPolicyRequest,​GetSteeringPolicyResponse> handler)
        Description copied from interface: DnsAsync
        Gets information about the specified steering policy.
        Specified by:
        getSteeringPolicy in interface DnsAsync
        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.
      • getTsigKey

        public Future<GetTsigKeyResponse> getTsigKey​(GetTsigKeyRequest request,
                                                     AsyncHandler<GetTsigKeyRequest,​GetTsigKeyResponse> handler)
        Description copied from interface: DnsAsync
        Gets information about the specified TSIG key.
        Specified by:
        getTsigKey in interface DnsAsync
        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.
      • getView

        public Future<GetViewResponse> getView​(GetViewRequest request,
                                               AsyncHandler<GetViewRequest,​GetViewResponse> handler)
        Description copied from interface: DnsAsync
        Gets information about a specific view.

        Note that attempting to get a view in the DELETED lifecycleState will result in a `404` response to be consistent with other operations of the API.

        Specified by:
        getView in interface DnsAsync
        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.
      • getZone

        public Future<GetZoneResponse> getZone​(GetZoneRequest request,
                                               AsyncHandler<GetZoneRequest,​GetZoneResponse> handler)
        Description copied from interface: DnsAsync
        Gets information about the specified zone, including its creation date, zone type, and serial.

        When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        getZone in interface DnsAsync
        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.
      • getZoneContent

        public Future<GetZoneContentResponse> getZoneContent​(GetZoneContentRequest request,
                                                             AsyncHandler<GetZoneContentRequest,​GetZoneContentResponse> handler)
        Description copied from interface: DnsAsync
        Gets the requested zone’s zone file.
        Specified by:
        getZoneContent in interface DnsAsync
        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.
      • getZoneRecords

        public Future<GetZoneRecordsResponse> getZoneRecords​(GetZoneRecordsRequest request,
                                                             AsyncHandler<GetZoneRecordsRequest,​GetZoneRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Gets all records in the specified zone.

        The results are sorted by `domain` in alphabetical order by default. For more information about records, see [Resource Record (RR) TYPEs](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4). When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        getZoneRecords in interface DnsAsync
        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.
      • listResolverEndpoints

        public Future<ListResolverEndpointsResponse> listResolverEndpoints​(ListResolverEndpointsRequest request,
                                                                           AsyncHandler<ListResolverEndpointsRequest,​ListResolverEndpointsResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all endpoints within a resolver.

        The collection can be filtered by name or lifecycle state. It can be sorted on creation time or name both in ASC or DESC order. Note that when no lifecycleState query parameter is provided, the collection does not include resolver endpoints in the DELETED lifecycle state to be consistent with other operations of the API.

        Specified by:
        listResolverEndpoints in interface DnsAsync
        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.
      • listResolvers

        public Future<ListResolversResponse> listResolvers​(ListResolversRequest request,
                                                           AsyncHandler<ListResolversRequest,​ListResolversResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all resolvers within a compartment.

        The collection can be filtered by display name, id, or lifecycle state. It can be sorted on creation time or displayName both in ASC or DESC order. Note that when no lifecycleState query parameter is provided, the collection does not include resolvers in the DELETED lifecycleState to be consistent with other operations of the API.

        Specified by:
        listResolvers in interface DnsAsync
        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.
      • listTsigKeys

        public Future<ListTsigKeysResponse> listTsigKeys​(ListTsigKeysRequest request,
                                                         AsyncHandler<ListTsigKeysRequest,​ListTsigKeysResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all TSIG keys in the specified compartment.
        Specified by:
        listTsigKeys in interface DnsAsync
        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.
      • listViews

        public Future<ListViewsResponse> listViews​(ListViewsRequest request,
                                                   AsyncHandler<ListViewsRequest,​ListViewsResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all views within a compartment.

        The collection can be filtered by display name, id, or lifecycle state. It can be sorted on creation time or displayName both in ASC or DESC order. Note that when no lifecycleState query parameter is provided, the collection does not include views in the DELETED lifecycleState to be consistent with other operations of the API.

        Specified by:
        listViews in interface DnsAsync
        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.
      • listZoneTransferServers

        public Future<ListZoneTransferServersResponse> listZoneTransferServers​(ListZoneTransferServersRequest request,
                                                                               AsyncHandler<ListZoneTransferServersRequest,​ListZoneTransferServersResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of IP addresses of OCI nameservers for inbound and outbound transfer of zones in the specified compartment (which must be the root compartment of a tenancy) that transfer zone data with external master or downstream nameservers.
        Specified by:
        listZoneTransferServers in interface DnsAsync
        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.
      • listZones

        public Future<ListZonesResponse> listZones​(ListZonesRequest request,
                                                   AsyncHandler<ListZonesRequest,​ListZonesResponse> handler)
        Description copied from interface: DnsAsync
        Gets a list of all zones in the specified compartment.

        The collection can be filtered by name, time created, scope, associated view, and zone type. Filtering by view is only supported for private zones.

        Specified by:
        listZones in interface DnsAsync
        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.
      • patchDomainRecords

        public Future<PatchDomainRecordsResponse> patchDomainRecords​(PatchDomainRecordsRequest request,
                                                                     AsyncHandler<PatchDomainRecordsRequest,​PatchDomainRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Updates records in the specified zone at a domain.

        You can update one record or all records for the specified zone depending on the changes provided in the request body. You can also add or remove records using this function. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        patchDomainRecords in interface DnsAsync
        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.
      • patchRRSet

        public Future<PatchRRSetResponse> patchRRSet​(PatchRRSetRequest request,
                                                     AsyncHandler<PatchRRSetRequest,​PatchRRSetResponse> handler)
        Description copied from interface: DnsAsync
        Updates records in the specified RRSet.

        When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        patchRRSet in interface DnsAsync
        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.
      • patchZoneRecords

        public Future<PatchZoneRecordsResponse> patchZoneRecords​(PatchZoneRecordsRequest request,
                                                                 AsyncHandler<PatchZoneRecordsRequest,​PatchZoneRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Updates a collection of records in the specified zone.

        You can update one record or all records for the specified zone depending on the changes provided in the request body. You can also add or remove records using this function. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        patchZoneRecords in interface DnsAsync
        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.
      • promoteZoneDnssecKeyVersion

        public Future<PromoteZoneDnssecKeyVersionResponse> promoteZoneDnssecKeyVersion​(PromoteZoneDnssecKeyVersionRequest request,
                                                                                       AsyncHandler<PromoteZoneDnssecKeyVersionRequest,​PromoteZoneDnssecKeyVersionResponse> handler)
        Description copied from interface: DnsAsync
        Promotes a specified DnssecKeyVersion on the zone.

        If the `DnssecKeyVersion` identified in the request body is a key signing key (KSK) that is replacing another `DnssecKeyVersion`, then the old `DnssecKeyVersion` is scheduled for removal from the zone.

        For key signing keys (KSKs), you must create the DS record with the new key information **before** promoting the new key to establish a chain of trust. To avoid a service disruption, remove the old DS record as soon as its TTL (time to live) expires.

        For more information, see [DNSSEC](https://docs.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).

        Specified by:
        promoteZoneDnssecKeyVersion in interface DnsAsync
        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.
      • stageZoneDnssecKeyVersion

        public Future<StageZoneDnssecKeyVersionResponse> stageZoneDnssecKeyVersion​(StageZoneDnssecKeyVersionRequest request,
                                                                                   AsyncHandler<StageZoneDnssecKeyVersionRequest,​StageZoneDnssecKeyVersionResponse> handler)
        Description copied from interface: DnsAsync
        Stages a new DnssecKeyVersion on the zone.

        Staging is a process that generates a new "successor" key version that replaces an existing "predecessor" key version. Note: A new key-signing key (KSK) version is inert until you update the parent zone DS records.

        For more information, see the [DNSSEC](https://docs.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm) documentation.

        Specified by:
        stageZoneDnssecKeyVersion in interface DnsAsync
        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.
      • updateDomainRecords

        public Future<UpdateDomainRecordsResponse> updateDomainRecords​(UpdateDomainRecordsRequest request,
                                                                       AsyncHandler<UpdateDomainRecordsRequest,​UpdateDomainRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Replaces records in the specified zone at a domain with the records specified in the request body.

        If a specified record does not exist, it will be created. If the record exists, then it will be updated to represent the record in the body of the request. If a record in the zone does not exist in the request body, the record will be removed from the zone. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        updateDomainRecords in interface DnsAsync
        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.
      • updateRRSet

        public Future<UpdateRRSetResponse> updateRRSet​(UpdateRRSetRequest request,
                                                       AsyncHandler<UpdateRRSetRequest,​UpdateRRSetResponse> handler)
        Description copied from interface: DnsAsync
        Replaces records in the specified RRSet.

        When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        updateRRSet in interface DnsAsync
        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.
      • updateResolver

        public Future<UpdateResolverResponse> updateResolver​(UpdateResolverRequest request,
                                                             AsyncHandler<UpdateResolverRequest,​UpdateResolverResponse> handler)
        Description copied from interface: DnsAsync
        Updates the specified resolver with your new information.
        Specified by:
        updateResolver in interface DnsAsync
        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.
      • updateTsigKey

        public Future<UpdateTsigKeyResponse> updateTsigKey​(UpdateTsigKeyRequest request,
                                                           AsyncHandler<UpdateTsigKeyRequest,​UpdateTsigKeyResponse> handler)
        Description copied from interface: DnsAsync
        Updates the specified TSIG key.
        Specified by:
        updateTsigKey in interface DnsAsync
        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.
      • updateView

        public Future<UpdateViewResponse> updateView​(UpdateViewRequest request,
                                                     AsyncHandler<UpdateViewRequest,​UpdateViewResponse> handler)
        Description copied from interface: DnsAsync
        Updates the specified view with your new information.
        Specified by:
        updateView in interface DnsAsync
        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.
      • updateZone

        public Future<UpdateZoneResponse> updateZone​(UpdateZoneRequest request,
                                                     AsyncHandler<UpdateZoneRequest,​UpdateZoneResponse> handler)
        Description copied from interface: DnsAsync
        Updates the zone with the specified information.

        Global secondary zones may have their external masters updated. For more information about secondary zones, see [Manage DNS Service Zone](https://docs.oracle.com/iaas/Content/DNS/Tasks/managingdnszones.htm). When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        updateZone in interface DnsAsync
        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.
      • updateZoneRecords

        public Future<UpdateZoneRecordsResponse> updateZoneRecords​(UpdateZoneRecordsRequest request,
                                                                   AsyncHandler<UpdateZoneRecordsRequest,​UpdateZoneRecordsResponse> handler)
        Description copied from interface: DnsAsync
        Replaces records in the specified zone with the records specified in the request body.

        If a specified record does not exist, it will be created. If the record exists, then it will be updated to represent the record in the body of the request. If a record in the zone does not exist in the request body, the record will be removed from the zone. When the zone name is provided as a path parameter and `PRIVATE` is used for the scope query parameter then the viewId query parameter is required.

        Specified by:
        updateZoneRecords in interface DnsAsync
        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()