backupNetworkNsgIds,
@@ -173,6 +185,7 @@ public CreateDataGuardAssociationWithNewDbSystemDetails(
super(databaseAdminPassword, protectionMode, transportType);
this.displayName = displayName;
this.availabilityDomain = availabilityDomain;
+ this.shape = shape;
this.subnetId = subnetId;
this.nsgIds = nsgIds;
this.backupNetworkNsgIds = backupNetworkNsgIds;
@@ -191,6 +204,16 @@ public CreateDataGuardAssociationWithNewDbSystemDetails(
@com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain")
String availabilityDomain;
+ /**
+ * The shape of the DB system to launch to set up the Data Guard association. The shape determines the number of CPU cores and the amount of memory available for the DB system.
+ * Only virtual machine shapes are valid shapes. If you do not supply this parameter, the default shape is the shape of the primary DB system.
+ *
+ * To get a list of all shapes, use the {@link #listDbSystemShapes(ListDbSystemShapesRequest) listDbSystemShapes} operation.
+ *
+ **/
+ @com.fasterxml.jackson.annotation.JsonProperty("shape")
+ String shape;
+
/**
* The OCID of the subnet the DB system is associated with.
* **Subnet Restrictions:**
diff --git a/bmc-datacatalog/pom.xml b/bmc-datacatalog/pom.xml
new file mode 100644
index 00000000000..9826175fa5a
--- /dev/null
+++ b/bmc-datacatalog/pom.xml
@@ -0,0 +1,21 @@
+
+
+ 4.0.0
+
+ com.oracle.oci.sdk
+ oci-java-sdk
+ 1.12.4
+ ../pom.xml
+
+ oci-java-sdk-datacatalog
+ Oracle Cloud Infrastructure SDK - Data Catalog
+ This project contains the SDK used for Oracle Cloud Infrastructure Data Catalog
+ https://docs.cloud.oracle.com/Content/API/SDKDocs/javasdk.htm
+
+
+ com.oracle.oci.sdk
+ oci-java-sdk-common
+ 1.12.4
+
+
+
\ No newline at end of file
diff --git a/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalog.java b/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalog.java
new file mode 100644
index 00000000000..e4dadc2267e
--- /dev/null
+++ b/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalog.java
@@ -0,0 +1,837 @@
+/**
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
+ */
+package com.oracle.bmc.datacatalog;
+
+import com.oracle.bmc.datacatalog.requests.*;
+import com.oracle.bmc.datacatalog.responses.*;
+
+@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190325")
+public interface DataCatalog extends AutoCloseable {
+
+ /**
+ * Sets the endpoint to call (ex, https://www.example.com).
+ * @param endpoint The endpoint of the service.
+ */
+ void setEndpoint(String endpoint);
+
+ /**
+ * Sets the region to call (ex, Region.US_PHOENIX_1).
+ *
+ * Note, this will call {@link #setEndpoint(String) setEndpoint} after resolving the endpoint. If the service is not available in this Region, however, an IllegalArgumentException will be raised.
+ * @param region The region of the service.
+ */
+ void setRegion(com.oracle.bmc.Region region);
+
+ /**
+ * 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
+ * {@link #setRegion(Region) setRegion}.
+ *
+ * If no known Region could be determined, it will create an endpoint based on the
+ * default endpoint format ({@link com.oracle.bmc.Region#formatDefaultRegionEndpoint(Service, String)}
+ * and then call {@link #setEndpoint(String) setEndpoint}.
+ * @param regionId The public region ID.
+ */
+ void setRegion(String regionId);
+
+ /**
+ * Moves a resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ChangeCatalogCompartmentResponse changeCatalogCompartment(
+ ChangeCatalogCompartmentRequest request);
+
+ /**
+ * Creates a new entity attribute.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateAttributeResponse createAttribute(CreateAttributeRequest request);
+
+ /**
+ * Creates a new entity attribute tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateAttributeTagResponse createAttributeTag(CreateAttributeTagRequest request);
+
+ /**
+ * Creates a new data catalog instance that includes a console and an API URL for managing metadata operations.
+ * For more information, please see the documentation.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateCatalogResponse createCatalog(CreateCatalogRequest request);
+
+ /**
+ * Creates a new connection.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateConnectionResponse createConnection(CreateConnectionRequest request);
+
+ /**
+ * Create a new data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateDataAssetResponse createDataAsset(CreateDataAssetRequest request);
+
+ /**
+ * Creates a new data asset tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateDataAssetTagResponse createDataAssetTag(CreateDataAssetTagRequest request);
+
+ /**
+ * Creates a new data entity.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateEntityResponse createEntity(CreateEntityRequest request);
+
+ /**
+ * Creates a new entity tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateEntityTagResponse createEntityTag(CreateEntityTagRequest request);
+
+ /**
+ * Creates a new folder.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateFolderResponse createFolder(CreateFolderRequest request);
+
+ /**
+ * Creates a new folder tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateFolderTagResponse createFolderTag(CreateFolderTagRequest request);
+
+ /**
+ * Creates a new glossary.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateGlossaryResponse createGlossary(CreateGlossaryRequest request);
+
+ /**
+ * Creates a new job.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateJobResponse createJob(CreateJobRequest request);
+
+ /**
+ * Creates a new job definition.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateJobDefinitionResponse createJobDefinition(CreateJobDefinitionRequest request);
+
+ /**
+ * Creates a new job execution.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateJobExecutionResponse createJobExecution(CreateJobExecutionRequest request);
+
+ /**
+ * Create a new term within a glossary.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateTermResponse createTerm(CreateTermRequest request);
+
+ /**
+ * Creates a new term relationship for this term within a glossary.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ CreateTermRelationshipResponse createTermRelationship(CreateTermRelationshipRequest request);
+
+ /**
+ * Deletes a specific entity attribute.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteAttributeResponse deleteAttribute(DeleteAttributeRequest request);
+
+ /**
+ * Deletes a specific entity attribute tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteAttributeTagResponse deleteAttributeTag(DeleteAttributeTagRequest request);
+
+ /**
+ * Deletes a data catalog resource by identifier.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteCatalogResponse deleteCatalog(DeleteCatalogRequest request);
+
+ /**
+ * Deletes a specific connection of a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteConnectionResponse deleteConnection(DeleteConnectionRequest request);
+
+ /**
+ * Deletes a specific data asset identified by it's key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteDataAssetResponse deleteDataAsset(DeleteDataAssetRequest request);
+
+ /**
+ * Deletes a specific data asset tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteDataAssetTagResponse deleteDataAssetTag(DeleteDataAssetTagRequest request);
+
+ /**
+ * Deletes a specific data entity.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteEntityResponse deleteEntity(DeleteEntityRequest request);
+
+ /**
+ * Deletes a specific entity tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteEntityTagResponse deleteEntityTag(DeleteEntityTagRequest request);
+
+ /**
+ * Deletes a specific folder of a data asset identified by it's key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteFolderResponse deleteFolder(DeleteFolderRequest request);
+
+ /**
+ * Deletes a specific folder tag.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteFolderTagResponse deleteFolderTag(DeleteFolderTagRequest request);
+
+ /**
+ * Deletes a specific glossary identified by it's key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteGlossaryResponse deleteGlossary(DeleteGlossaryRequest request);
+
+ /**
+ * Deletes a specific job identified by it's key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteJobResponse deleteJob(DeleteJobRequest request);
+
+ /**
+ * Deletes a specific job definition identified by it's key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteJobDefinitionResponse deleteJobDefinition(DeleteJobDefinitionRequest request);
+
+ /**
+ * Deletes a specific glossary term.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteTermResponse deleteTerm(DeleteTermRequest request);
+
+ /**
+ * Deletes a specific glossary term relationship.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ DeleteTermRelationshipResponse deleteTermRelationship(DeleteTermRelationshipRequest request);
+
+ /**
+ * Returns the fully expanded tree hierarchy of parent and child terms in this glossary.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ExpandTreeForGlossaryResponse expandTreeForGlossary(ExpandTreeForGlossaryRequest request);
+
+ /**
+ * Export the glossary and the terms and return the exported glossary as csv or json.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ExportGlossaryResponse exportGlossary(ExportGlossaryRequest request);
+
+ /**
+ * Gets a specific entity attribute by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetAttributeResponse getAttribute(GetAttributeRequest request);
+
+ /**
+ * Gets a specific entity attribute tag by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetAttributeTagResponse getAttributeTag(GetAttributeTagRequest request);
+
+ /**
+ * Gets a data catalog by identifier.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetCatalogResponse getCatalog(GetCatalogRequest request);
+
+ /**
+ * Gets a specific data asset connection by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetConnectionResponse getConnection(GetConnectionRequest request);
+
+ /**
+ * Gets a specific data asset for the given key within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetDataAssetResponse getDataAsset(GetDataAssetRequest request);
+
+ /**
+ * Gets a specific data asset tag by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetDataAssetTagResponse getDataAssetTag(GetDataAssetTagRequest request);
+
+ /**
+ * Gets a specific data entity by key for a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetEntityResponse getEntity(GetEntityRequest request);
+
+ /**
+ * Gets a specific entity tag by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetEntityTagResponse getEntityTag(GetEntityTagRequest request);
+
+ /**
+ * Gets a specific data asset folder by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetFolderResponse getFolder(GetFolderRequest request);
+
+ /**
+ * Gets a specific folder tag by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetFolderTagResponse getFolderTag(GetFolderTagRequest request);
+
+ /**
+ * Gets a specific glossary by key within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetGlossaryResponse getGlossary(GetGlossaryRequest request);
+
+ /**
+ * Gets a specific job by key within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetJobResponse getJob(GetJobRequest request);
+
+ /**
+ * Gets a specific job definition by key within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetJobDefinitionResponse getJobDefinition(GetJobDefinitionRequest request);
+
+ /**
+ * Gets a specific job execution by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetJobExecutionResponse getJobExecution(GetJobExecutionRequest request);
+
+ /**
+ * Gets a specific job log by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetJobLogResponse getJobLog(GetJobLogRequest request);
+
+ /**
+ * Gets a specific job metric by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetJobMetricsResponse getJobMetrics(GetJobMetricsRequest request);
+
+ /**
+ * Gets a specific glossary term by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetTermResponse getTerm(GetTermRequest request);
+
+ /**
+ * Gets a specific glossary term relationship by key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetTermRelationshipResponse getTermRelationship(GetTermRelationshipRequest request);
+
+ /**
+ * Gets a specific type by key within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetTypeResponse getType(GetTypeRequest request);
+
+ /**
+ * Gets the status of the work request with the given OCID.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ GetWorkRequestResponse getWorkRequest(GetWorkRequestRequest request);
+
+ /**
+ * Import new connection for this data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ImportConnectionResponse importConnection(ImportConnectionRequest request);
+
+ /**
+ * Import the glossary and the terms from csv or json files and return the imported glossary resource.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ImportGlossaryResponse importGlossary(ImportGlossaryRequest request);
+
+ /**
+ * Returns a list of all tags for an entity attribute.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListAttributeTagsResponse listAttributeTags(ListAttributeTagsRequest request);
+
+ /**
+ * Returns a list of all attributes of an data entity.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListAttributesResponse listAttributes(ListAttributesRequest request);
+
+ /**
+ * Returns a list of all the data catalogs in the specified compartment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListCatalogsResponse listCatalogs(ListCatalogsRequest request);
+
+ /**
+ * Returns a list of all Connections for a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListConnectionsResponse listConnections(ListConnectionsRequest request);
+
+ /**
+ * Returns a list of all tags for a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListDataAssetTagsResponse listDataAssetTags(ListDataAssetTagsRequest request);
+
+ /**
+ * Returns a list of data assets within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListDataAssetsResponse listDataAssets(ListDataAssetsRequest request);
+
+ /**
+ * Returns a list of all entities of a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListEntitiesResponse listEntities(ListEntitiesRequest request);
+
+ /**
+ * Returns a list of all tags for a data entity.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListEntityTagsResponse listEntityTags(ListEntityTagsRequest request);
+
+ /**
+ * Returns a list of all tags for a folder.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListFolderTagsResponse listFolderTags(ListFolderTagsRequest request);
+
+ /**
+ * Returns a list of all folders.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListFoldersResponse listFolders(ListFoldersRequest request);
+
+ /**
+ * Returns a list of all glossaries within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListGlossariesResponse listGlossaries(ListGlossariesRequest request);
+
+ /**
+ * Returns a list of job definitions within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListJobDefinitionsResponse listJobDefinitions(ListJobDefinitionsRequest request);
+
+ /**
+ * Returns a list of job executions for a job.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListJobExecutionsResponse listJobExecutions(ListJobExecutionsRequest request);
+
+ /**
+ * Returns a list of job logs.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListJobLogsResponse listJobLogs(ListJobLogsRequest request);
+
+ /**
+ * Returns a list of job metrics.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListJobMetricsResponse listJobMetrics(ListJobMetricsRequest request);
+
+ /**
+ * Returns a list of jobs within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListJobsResponse listJobs(ListJobsRequest request);
+
+ /**
+ * Returns a list of all user created tags in the system.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListTagsResponse listTags(ListTagsRequest request);
+
+ /**
+ * Returns a list of all term relationships within a glossary.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListTermRelationshipsResponse listTermRelationships(ListTermRelationshipsRequest request);
+
+ /**
+ * Returns a list of all terms within a glossary.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListTermsResponse listTerms(ListTermsRequest request);
+
+ /**
+ * Returns a list of all types within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListTypesResponse listTypes(ListTypesRequest request);
+
+ /**
+ * Returns a (paginated) list of errors for a given work request.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListWorkRequestErrorsResponse listWorkRequestErrors(ListWorkRequestErrorsRequest request);
+
+ /**
+ * Returns a (paginated) list of logs for a given work request.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListWorkRequestLogsResponse listWorkRequestLogs(ListWorkRequestLogsRequest request);
+
+ /**
+ * Lists the work requests in a compartment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ListWorkRequestsResponse listWorkRequests(ListWorkRequestsRequest request);
+
+ /**
+ * Returns stats on objects by type in the repository.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ObjectStatsResponse objectStats(ObjectStatsRequest request);
+
+ /**
+ * Parse data asset references through connections from this data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ParseConnectionResponse parseConnection(ParseConnectionRequest request);
+
+ /**
+ * Returns a list of search results within a data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ SearchCriteriaResponse searchCriteria(SearchCriteriaRequest request);
+
+ /**
+ * Test the connection by connecting to the data asset using credentials in the metadata.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ TestConnectionResponse testConnection(TestConnectionRequest request);
+
+ /**
+ * Updates a specific data asset attribute.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateAttributeResponse updateAttribute(UpdateAttributeRequest request);
+
+ /**
+ * Updates the data catalog.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateCatalogResponse updateCatalog(UpdateCatalogRequest request);
+
+ /**
+ * Updates a specific connection of a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateConnectionResponse updateConnection(UpdateConnectionRequest request);
+
+ /**
+ * Updates a specific data asset identified by the given key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateDataAssetResponse updateDataAsset(UpdateDataAssetRequest request);
+
+ /**
+ * Updates a specific data entity.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateEntityResponse updateEntity(UpdateEntityRequest request);
+
+ /**
+ * Updates a specific folder of a data asset.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateFolderResponse updateFolder(UpdateFolderRequest request);
+
+ /**
+ * Updates a specific glossary identified by the given key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateGlossaryResponse updateGlossary(UpdateGlossaryRequest request);
+
+ /**
+ * Updates a specific job identified by the given key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateJobResponse updateJob(UpdateJobRequest request);
+
+ /**
+ * Update a specific job definition identified by the given key.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateJobDefinitionResponse updateJobDefinition(UpdateJobDefinitionRequest request);
+
+ /**
+ * Updates a specific glossary term.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateTermResponse updateTerm(UpdateTermRequest request);
+
+ /**
+ * Updates a specific glossary term relationship.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UpdateTermRelationshipResponse updateTermRelationship(UpdateTermRelationshipRequest request);
+
+ /**
+ * Upload connection credentails and metadata for this connection.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UploadCredentialsResponse uploadCredentials(UploadCredentialsRequest request);
+
+ /**
+ * Returns active users in the system.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ UsersResponse users(UsersRequest request);
+
+ /**
+ * Validate connection by connecting to the data asset using credentials in metadata.
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs.
+ */
+ ValidateConnectionResponse validateConnection(ValidateConnectionRequest request);
+
+ /**
+ * Gets the pre-configured waiters available for resources for this service.
+ *
+ * @return The service waiters.
+ */
+ DataCatalogWaiters getWaiters();
+
+ /**
+ * Gets the pre-configured paginators available for list operations in this service which may return multiple
+ * pages of data. These paginators provide an {@link java.lang.Iterable} interface so that service responses, or
+ * resources/records, can be iterated through without having to manually deal with pagination and page tokens.
+ *
+ * @return The service paginators.
+ */
+ DataCatalogPaginators getPaginators();
+}
diff --git a/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalogAsync.java b/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalogAsync.java
new file mode 100644
index 00000000000..3cbd57b11af
--- /dev/null
+++ b/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalogAsync.java
@@ -0,0 +1,1500 @@
+/**
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
+ */
+package com.oracle.bmc.datacatalog;
+
+import com.oracle.bmc.datacatalog.requests.*;
+import com.oracle.bmc.datacatalog.responses.*;
+
+@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190325")
+public interface DataCatalogAsync extends AutoCloseable {
+
+ /**
+ * Sets the endpoint to call (ex, https://www.example.com).
+ * @param endpoint The endpoint of the serice.
+ */
+ void setEndpoint(String endpoint);
+
+ /**
+ * Sets the region to call (ex, Region.US_PHOENIX_1).
+ *
+ * Note, this will call {@link #setEndpoint(String) setEndpoint} after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.
+ * @param region The region of the service.
+ */
+ void setRegion(com.oracle.bmc.Region region);
+
+ /**
+ * 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
+ * {@link #setRegion(Region) setRegion}.
+ *
+ * If no known Region could be determined, it will create an endpoint based on the
+ * default endpoint format ({@link com.oracle.bmc.Region#formatDefaultRegionEndpoint(Service, String)}
+ * and then call {@link #setEndpoint(String) setEndpoint}.
+ * @param regionId The public region ID.
+ */
+ void setRegion(String regionId);
+
+ /**
+ * Moves a resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future changeCatalogCompartment(
+ ChangeCatalogCompartmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeCatalogCompartmentRequest, ChangeCatalogCompartmentResponse>
+ handler);
+
+ /**
+ * Creates a new entity attribute.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createAttribute(
+ CreateAttributeRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new entity attribute tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createAttributeTag(
+ CreateAttributeTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateAttributeTagRequest, CreateAttributeTagResponse>
+ handler);
+
+ /**
+ * Creates a new data catalog instance that includes a console and an API URL for managing metadata operations.
+ * For more information, please see the documentation.
+ *
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createCatalog(
+ CreateCatalogRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new connection.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createConnection(
+ CreateConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Create a new data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createDataAsset(
+ CreateDataAssetRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new data asset tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createDataAssetTag(
+ CreateDataAssetTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateDataAssetTagRequest, CreateDataAssetTagResponse>
+ handler);
+
+ /**
+ * Creates a new data entity.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createEntity(
+ CreateEntityRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new entity tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createEntityTag(
+ CreateEntityTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new folder.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createFolder(
+ CreateFolderRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new folder tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createFolderTag(
+ CreateFolderTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new glossary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createGlossary(
+ CreateGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Creates a new job.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createJob(
+ CreateJobRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Creates a new job definition.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createJobDefinition(
+ CreateJobDefinitionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateJobDefinitionRequest, CreateJobDefinitionResponse>
+ handler);
+
+ /**
+ * Creates a new job execution.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createJobExecution(
+ CreateJobExecutionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateJobExecutionRequest, CreateJobExecutionResponse>
+ handler);
+
+ /**
+ * Create a new term within a glossary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createTerm(
+ CreateTermRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Creates a new term relationship for this term within a glossary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future createTermRelationship(
+ CreateTermRelationshipRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateTermRelationshipRequest, CreateTermRelationshipResponse>
+ handler);
+
+ /**
+ * Deletes a specific entity attribute.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteAttribute(
+ DeleteAttributeRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific entity attribute tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteAttributeTag(
+ DeleteAttributeTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteAttributeTagRequest, DeleteAttributeTagResponse>
+ handler);
+
+ /**
+ * Deletes a data catalog resource by identifier.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteCatalog(
+ DeleteCatalogRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific connection of a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteConnection(
+ DeleteConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific data asset identified by it's key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteDataAsset(
+ DeleteDataAssetRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific data asset tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteDataAssetTag(
+ DeleteDataAssetTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteDataAssetTagRequest, DeleteDataAssetTagResponse>
+ handler);
+
+ /**
+ * Deletes a specific data entity.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteEntity(
+ DeleteEntityRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific entity tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteEntityTag(
+ DeleteEntityTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific folder of a data asset identified by it's key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteFolder(
+ DeleteFolderRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific folder tag.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteFolderTag(
+ DeleteFolderTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific glossary identified by it's key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteGlossary(
+ DeleteGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Deletes a specific job identified by it's key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteJob(
+ DeleteJobRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Deletes a specific job definition identified by it's key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteJobDefinition(
+ DeleteJobDefinitionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteJobDefinitionRequest, DeleteJobDefinitionResponse>
+ handler);
+
+ /**
+ * Deletes a specific glossary term.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteTerm(
+ DeleteTermRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Deletes a specific glossary term relationship.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future deleteTermRelationship(
+ DeleteTermRelationshipRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteTermRelationshipRequest, DeleteTermRelationshipResponse>
+ handler);
+
+ /**
+ * Returns the fully expanded tree hierarchy of parent and child terms in this glossary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future expandTreeForGlossary(
+ ExpandTreeForGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ExpandTreeForGlossaryRequest, ExpandTreeForGlossaryResponse>
+ handler);
+
+ /**
+ * Export the glossary and the terms and return the exported glossary as csv or json.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future exportGlossary(
+ ExportGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific entity attribute by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getAttribute(
+ GetAttributeRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific entity attribute tag by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getAttributeTag(
+ GetAttributeTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a data catalog by identifier.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getCatalog(
+ GetCatalogRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific data asset connection by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getConnection(
+ GetConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific data asset for the given key within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getDataAsset(
+ GetDataAssetRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific data asset tag by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getDataAssetTag(
+ GetDataAssetTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific data entity by key for a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getEntity(
+ GetEntityRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific entity tag by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getEntityTag(
+ GetEntityTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific data asset folder by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getFolder(
+ GetFolderRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific folder tag by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getFolderTag(
+ GetFolderTagRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific glossary by key within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getGlossary(
+ GetGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific job by key within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getJob(
+ GetJobRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific job definition by key within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getJobDefinition(
+ GetJobDefinitionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific job execution by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getJobExecution(
+ GetJobExecutionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific job log by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getJobLog(
+ GetJobLogRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific job metric by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getJobMetrics(
+ GetJobMetricsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Gets a specific glossary term by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getTerm(
+ GetTermRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets a specific glossary term relationship by key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getTermRelationship(
+ GetTermRelationshipRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetTermRelationshipRequest, GetTermRelationshipResponse>
+ handler);
+
+ /**
+ * Gets a specific type by key within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getType(
+ GetTypeRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Gets the status of the work request with the given OCID.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future getWorkRequest(
+ GetWorkRequestRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Import new connection for this data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future importConnection(
+ ImportConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Import the glossary and the terms from csv or json files and return the imported glossary resource.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future importGlossary(
+ ImportGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all tags for an entity attribute.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listAttributeTags(
+ ListAttributeTagsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListAttributeTagsRequest, ListAttributeTagsResponse>
+ handler);
+
+ /**
+ * Returns a list of all attributes of an data entity.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listAttributes(
+ ListAttributesRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all the data catalogs in the specified compartment.
+ *
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listCatalogs(
+ ListCatalogsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all Connections for a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listConnections(
+ ListConnectionsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all tags for a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listDataAssetTags(
+ ListDataAssetTagsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListDataAssetTagsRequest, ListDataAssetTagsResponse>
+ handler);
+
+ /**
+ * Returns a list of data assets within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listDataAssets(
+ ListDataAssetsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all entities of a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listEntities(
+ ListEntitiesRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all tags for a data entity.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listEntityTags(
+ ListEntityTagsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all tags for a folder.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listFolderTags(
+ ListFolderTagsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of all folders.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listFolders(
+ ListFoldersRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Returns a list of all glossaries within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listGlossaries(
+ ListGlossariesRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of job definitions within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listJobDefinitions(
+ ListJobDefinitionsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListJobDefinitionsRequest, ListJobDefinitionsResponse>
+ handler);
+
+ /**
+ * Returns a list of job executions for a job.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listJobExecutions(
+ ListJobExecutionsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListJobExecutionsRequest, ListJobExecutionsResponse>
+ handler);
+
+ /**
+ * Returns a list of job logs.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listJobLogs(
+ ListJobLogsRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Returns a list of job metrics.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listJobMetrics(
+ ListJobMetricsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of jobs within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listJobs(
+ ListJobsRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Returns a list of all user created tags in the system.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listTags(
+ ListTagsRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Returns a list of all term relationships within a glossary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listTermRelationships(
+ ListTermRelationshipsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListTermRelationshipsRequest, ListTermRelationshipsResponse>
+ handler);
+
+ /**
+ * Returns a list of all terms within a glossary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listTerms(
+ ListTermsRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Returns a list of all types within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listTypes(
+ ListTypesRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Returns a (paginated) list of errors for a given work request.
+ *
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listWorkRequestErrors(
+ ListWorkRequestErrorsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListWorkRequestErrorsRequest, ListWorkRequestErrorsResponse>
+ handler);
+
+ /**
+ * Returns a (paginated) list of logs for a given work request.
+ *
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listWorkRequestLogs(
+ ListWorkRequestLogsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListWorkRequestLogsRequest, ListWorkRequestLogsResponse>
+ handler);
+
+ /**
+ * Lists the work requests in a compartment.
+ *
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future listWorkRequests(
+ ListWorkRequestsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns stats on objects by type in the repository.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future objectStats(
+ ObjectStatsRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Parse data asset references through connections from this data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future parseConnection(
+ ParseConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Returns a list of search results within a data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future searchCriteria(
+ SearchCriteriaRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Test the connection by connecting to the data asset using credentials in the metadata.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future testConnection(
+ TestConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific data asset attribute.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateAttribute(
+ UpdateAttributeRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates the data catalog.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateCatalog(
+ UpdateCatalogRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific connection of a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateConnection(
+ UpdateConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific data asset identified by the given key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateDataAsset(
+ UpdateDataAssetRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific data entity.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateEntity(
+ UpdateEntityRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific folder of a data asset.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateFolder(
+ UpdateFolderRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific glossary identified by the given key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateGlossary(
+ UpdateGlossaryRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Updates a specific job identified by the given key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateJob(
+ UpdateJobRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Update a specific job definition identified by the given key.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateJobDefinition(
+ UpdateJobDefinitionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateJobDefinitionRequest, UpdateJobDefinitionResponse>
+ handler);
+
+ /**
+ * Updates a specific glossary term.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateTerm(
+ UpdateTermRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Updates a specific glossary term relationship.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future updateTermRelationship(
+ UpdateTermRelationshipRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateTermRelationshipRequest, UpdateTermRelationshipResponse>
+ handler);
+
+ /**
+ * Upload connection credentails and metadata for this connection.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future uploadCredentials(
+ UploadCredentialsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UploadCredentialsRequest, UploadCredentialsResponse>
+ handler);
+
+ /**
+ * Returns active users in the system.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future users(
+ UsersRequest request,
+ com.oracle.bmc.responses.AsyncHandler handler);
+
+ /**
+ * Validate connection by connecting to the data asset using credentials in metadata.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return 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.
+ */
+ java.util.concurrent.Future validateConnection(
+ ValidateConnectionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ValidateConnectionRequest, ValidateConnectionResponse>
+ handler);
+}
diff --git a/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalogAsyncClient.java b/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalogAsyncClient.java
new file mode 100644
index 00000000000..0211d2f4b47
--- /dev/null
+++ b/bmc-datacatalog/src/main/java/com/oracle/bmc/datacatalog/DataCatalogAsyncClient.java
@@ -0,0 +1,7953 @@
+/**
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
+ */
+package com.oracle.bmc.datacatalog;
+
+import java.util.Locale;
+import com.oracle.bmc.datacatalog.internal.http.*;
+import com.oracle.bmc.datacatalog.requests.*;
+import com.oracle.bmc.datacatalog.responses.*;
+
+/**
+ * Async client implementation for DataCatalog service.
+ * There are two ways to use async client:
+ * 1. Use AsyncHandler: using AsyncHandler, if the response to the call is an {@link java.io.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
+ */
+@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190325")
+@lombok.extern.slf4j.Slf4j
+public class DataCatalogAsyncClient implements DataCatalogAsync {
+ /**
+ * Service instance for DataCatalog.
+ */
+ public static final com.oracle.bmc.Service SERVICE =
+ com.oracle.bmc.Services.serviceBuilder()
+ .serviceName("DATACATALOG")
+ .serviceEndpointPrefix("")
+ .serviceEndpointTemplate("https://datacatalog.{region}.oci.{secondLevelDomain}")
+ .build();
+
+ @lombok.Getter(value = lombok.AccessLevel.PACKAGE)
+ private final com.oracle.bmc.http.internal.RestClient client;
+
+ private final com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider
+ authenticationDetailsProvider;
+
+ /**
+ * Creates a new service instance using the given authentication provider.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) {
+ this(authenticationDetailsProvider, null);
+ }
+
+ /**
+ * Creates a new service instance using the given authentication provider and client configuration.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ * @param configuration The client configuration, optional.
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration) {
+ this(authenticationDetailsProvider, configuration, null);
+ }
+
+ /**
+ * Creates a new service instance using the given authentication provider and client configuration. Additionally,
+ * a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ * @param configuration The client configuration, optional.
+ * @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration,
+ com.oracle.bmc.http.ClientConfigurator clientConfigurator) {
+ this(
+ authenticationDetailsProvider,
+ configuration,
+ clientConfigurator,
+ new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory(
+ com.oracle.bmc.http.signing.SigningStrategy.STANDARD));
+ }
+
+ /**
+ * Creates a new service instance using the given authentication provider and client configuration. Additionally,
+ * a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
+ *
+ * This is an advanced constructor for clients that want to take control over how requests are signed.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ * @param configuration The client configuration, optional.
+ * @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration,
+ com.oracle.bmc.http.ClientConfigurator clientConfigurator,
+ com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) {
+ this(
+ authenticationDetailsProvider,
+ configuration,
+ clientConfigurator,
+ defaultRequestSignerFactory,
+ new java.util.ArrayList());
+ }
+
+ /**
+ * Creates a new service instance using the given authentication provider and client configuration. Additionally,
+ * a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
+ *
+ * This is an advanced constructor for clients that want to take control over how requests are signed.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ * @param configuration The client configuration, optional.
+ * @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
+ * @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration,
+ com.oracle.bmc.http.ClientConfigurator clientConfigurator,
+ com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
+ java.util.List additionalClientConfigurators) {
+ this(
+ authenticationDetailsProvider,
+ configuration,
+ clientConfigurator,
+ defaultRequestSignerFactory,
+ additionalClientConfigurators,
+ null);
+ }
+
+ /**
+ * Creates a new service instance using the given authentication provider and client configuration. Additionally,
+ * a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
+ *
+ * This is an advanced constructor for clients that want to take control over how requests are signed.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ * @param configuration The client configuration, optional.
+ * @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
+ * @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
+ * @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration,
+ com.oracle.bmc.http.ClientConfigurator clientConfigurator,
+ com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
+ java.util.List additionalClientConfigurators,
+ String endpoint) {
+ this(
+ authenticationDetailsProvider,
+ configuration,
+ clientConfigurator,
+ defaultRequestSignerFactory,
+ com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory
+ .createDefaultRequestSignerFactories(),
+ additionalClientConfigurators,
+ endpoint);
+ }
+
+ /**
+ * Creates a new service instance using the given authentication provider and client configuration. Additionally,
+ * a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
+ *
+ * This is an advanced constructor for clients that want to take control over how requests are signed.
+ * @param authenticationDetailsProvider The authentication details provider, required.
+ * @param configuration The client configuration, optional.
+ * @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
+ * @param signingStrategyRequestSignerFactories The request signer factories for each signing strategy used to create the request signer
+ * @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
+ * @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
+ */
+ public DataCatalogAsyncClient(
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration,
+ com.oracle.bmc.http.ClientConfigurator clientConfigurator,
+ com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
+ java.util.Map<
+ com.oracle.bmc.http.signing.SigningStrategy,
+ com.oracle.bmc.http.signing.RequestSignerFactory>
+ signingStrategyRequestSignerFactories,
+ java.util.List additionalClientConfigurators,
+ String endpoint) {
+ this.authenticationDetailsProvider = authenticationDetailsProvider;
+ com.oracle.bmc.http.internal.RestClientFactory restClientFactory =
+ com.oracle.bmc.http.internal.RestClientFactoryBuilder.builder()
+ .clientConfigurator(clientConfigurator)
+ .additionalClientConfigurators(additionalClientConfigurators)
+ .build();
+ com.oracle.bmc.http.signing.RequestSigner defaultRequestSigner =
+ defaultRequestSignerFactory.createRequestSigner(
+ SERVICE, this.authenticationDetailsProvider);
+ java.util.Map<
+ com.oracle.bmc.http.signing.SigningStrategy,
+ com.oracle.bmc.http.signing.RequestSigner>
+ requestSigners = new java.util.HashMap<>();
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.BasicAuthenticationDetailsProvider) {
+ for (com.oracle.bmc.http.signing.SigningStrategy s :
+ com.oracle.bmc.http.signing.SigningStrategy.values()) {
+ requestSigners.put(
+ s,
+ signingStrategyRequestSignerFactories
+ .get(s)
+ .createRequestSigner(SERVICE, authenticationDetailsProvider));
+ }
+ }
+ this.client = restClientFactory.create(defaultRequestSigner, requestSigners, configuration);
+
+ if (this.authenticationDetailsProvider instanceof com.oracle.bmc.auth.RegionProvider) {
+ com.oracle.bmc.auth.RegionProvider provider =
+ (com.oracle.bmc.auth.RegionProvider) this.authenticationDetailsProvider;
+
+ if (provider.getRegion() != null) {
+ this.setRegion(provider.getRegion());
+ if (endpoint != null) {
+ LOG.info(
+ "Authentication details provider configured for region '{}', but endpoint specifically set to '{}'. Using endpoint setting instead of region.",
+ provider.getRegion(),
+ endpoint);
+ }
+ }
+ }
+ if (endpoint != null) {
+ setEndpoint(endpoint);
+ }
+ }
+
+ /**
+ * Create a builder for this client.
+ * @return builder
+ */
+ public static Builder builder() {
+ return new Builder(SERVICE);
+ }
+
+ /**
+ * Builder class for this client. The "authenticationDetailsProvider" is required and must be passed to the
+ * {@link #build(AbstractAuthenticationDetailsProvider)} method.
+ */
+ public static class Builder
+ extends com.oracle.bmc.common.RegionalClientBuilder {
+ private Builder(com.oracle.bmc.Service service) {
+ super(service);
+ requestSignerFactory =
+ new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory(
+ com.oracle.bmc.http.signing.SigningStrategy.STANDARD);
+ }
+
+ /**
+ * Build the client.
+ * @param authenticationDetailsProvider authentication details provider
+ * @return the client
+ */
+ public DataCatalogAsyncClient build(
+ @lombok.NonNull
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider
+ authenticationDetailsProvider) {
+ return new DataCatalogAsyncClient(
+ authenticationDetailsProvider,
+ configuration,
+ clientConfigurator,
+ requestSignerFactory,
+ additionalClientConfigurators,
+ endpoint);
+ }
+ }
+
+ @Override
+ public void setEndpoint(String endpoint) {
+ LOG.info("Setting endpoint to {}", endpoint);
+ client.setEndpoint(endpoint);
+ }
+
+ @Override
+ public void setRegion(com.oracle.bmc.Region region) {
+ com.google.common.base.Optional endpoint = region.getEndpoint(SERVICE);
+ if (endpoint.isPresent()) {
+ setEndpoint(endpoint.get());
+ } else {
+ throw new IllegalArgumentException(
+ "Endpoint for " + SERVICE + " is not known in region " + region);
+ }
+ }
+
+ @Override
+ public void setRegion(String regionId) {
+ regionId = regionId.toLowerCase(Locale.ENGLISH);
+ try {
+ com.oracle.bmc.Region region = com.oracle.bmc.Region.fromRegionId(regionId);
+ setRegion(region);
+ } catch (IllegalArgumentException e) {
+ LOG.info("Unknown regionId '{}', falling back to default endpoint format", regionId);
+ String endpoint = com.oracle.bmc.Region.formatDefaultRegionEndpoint(SERVICE, regionId);
+ setEndpoint(endpoint);
+ }
+ }
+
+ @Override
+ public void close() {
+ client.close();
+ }
+
+ @Override
+ public java.util.concurrent.Future changeCatalogCompartment(
+ final ChangeCatalogCompartmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ChangeCatalogCompartmentRequest, ChangeCatalogCompartmentResponse>
+ handler) {
+ LOG.trace("Called async changeCatalogCompartment");
+ final ChangeCatalogCompartmentRequest interceptedRequest =
+ ChangeCatalogCompartmentConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ ChangeCatalogCompartmentConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function<
+ javax.ws.rs.core.Response, ChangeCatalogCompartmentResponse>
+ transformer = ChangeCatalogCompartmentConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeCatalogCompartmentRequest, ChangeCatalogCompartmentResponse>
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ ChangeCatalogCompartmentRequest, ChangeCatalogCompartmentResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getChangeCatalogCompartmentDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getChangeCatalogCompartmentDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, ChangeCatalogCompartmentResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getChangeCatalogCompartmentDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createAttribute(
+ final CreateAttributeRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateAttributeRequest, CreateAttributeResponse>
+ handler) {
+ LOG.trace("Called async createAttribute");
+ final CreateAttributeRequest interceptedRequest =
+ CreateAttributeConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ CreateAttributeConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function
+ transformer = CreateAttributeConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ CreateAttributeRequest, CreateAttributeResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getCreateAttributeDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getCreateAttributeDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, CreateAttributeResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getCreateAttributeDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createAttributeTag(
+ final CreateAttributeTagRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateAttributeTagRequest, CreateAttributeTagResponse>
+ handler) {
+ LOG.trace("Called async createAttributeTag");
+ final CreateAttributeTagRequest interceptedRequest =
+ CreateAttributeTagConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ CreateAttributeTagConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function
+ transformer = CreateAttributeTagConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ CreateAttributeTagRequest, CreateAttributeTagResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getCreateAttributeTagDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getCreateAttributeTagDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, CreateAttributeTagResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getCreateAttributeTagDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createCatalog(
+ final CreateCatalogRequest request,
+ final com.oracle.bmc.responses.AsyncHandler
+ handler) {
+ LOG.trace("Called async createCatalog");
+ final CreateCatalogRequest interceptedRequest =
+ CreateCatalogConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ CreateCatalogConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function
+ transformer = CreateCatalogConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ CreateCatalogRequest, CreateCatalogResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getCreateCatalogDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getCreateCatalogDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, CreateCatalogResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getCreateCatalogDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createConnection(
+ final CreateConnectionRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateConnectionRequest, CreateConnectionResponse>
+ handler) {
+ LOG.trace("Called async createConnection");
+ final CreateConnectionRequest interceptedRequest =
+ CreateConnectionConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ CreateConnectionConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function
+ transformer = CreateConnectionConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ CreateConnectionRequest, CreateConnectionResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getCreateConnectionDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getCreateConnectionDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, CreateConnectionResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getCreateConnectionDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createDataAsset(
+ final CreateDataAssetRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateDataAssetRequest, CreateDataAssetResponse>
+ handler) {
+ LOG.trace("Called async createDataAsset");
+ final CreateDataAssetRequest interceptedRequest =
+ CreateDataAssetConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ CreateDataAssetConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function
+ transformer = CreateDataAssetConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ CreateDataAssetRequest, CreateDataAssetResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getCreateDataAssetDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getCreateDataAssetDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, CreateDataAssetResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getCreateDataAssetDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createDataAssetTag(
+ final CreateDataAssetTagRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateDataAssetTagRequest, CreateDataAssetTagResponse>
+ handler) {
+ LOG.trace("Called async createDataAssetTag");
+ final CreateDataAssetTagRequest interceptedRequest =
+ CreateDataAssetTagConverter.interceptRequest(request);
+ final com.oracle.bmc.http.internal.WrappedInvocationBuilder ib =
+ CreateDataAssetTagConverter.fromRequest(client, interceptedRequest);
+ final com.google.common.base.Function
+ transformer = CreateDataAssetTagConverter.fromResponse();
+
+ com.oracle.bmc.responses.AsyncHandler
+ handlerToUse = handler;
+ if (handler != null
+ && this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ handlerToUse =
+ new com.oracle.bmc.util.internal.RefreshAuthTokenWrappingAsyncHandler<
+ CreateDataAssetTagRequest, CreateDataAssetTagResponse>(
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ handler) {
+ @Override
+ public void retryCall() {
+ final com.oracle.bmc.util.internal.Consumer
+ onSuccess =
+ new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ this, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ this, interceptedRequest);
+ client.post(
+ ib,
+ interceptedRequest.getCreateDataAssetTagDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ };
+ }
+
+ final com.oracle.bmc.util.internal.Consumer onSuccess =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.SuccessConsumer<>(
+ handlerToUse, transformer, interceptedRequest);
+ final com.oracle.bmc.util.internal.Consumer onError =
+ (handler == null)
+ ? null
+ : new com.oracle.bmc.http.internal.ErrorConsumer<>(
+ handlerToUse, interceptedRequest);
+
+ java.util.concurrent.Future responseFuture =
+ client.post(
+ ib,
+ interceptedRequest.getCreateDataAssetTagDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+
+ if (this.authenticationDetailsProvider
+ instanceof com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider) {
+ return new com.oracle.bmc.util.internal.RefreshAuthTokenTransformingFuture<
+ javax.ws.rs.core.Response, CreateDataAssetTagResponse>(
+ responseFuture,
+ transformer,
+ (com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider)
+ this.authenticationDetailsProvider,
+ new com.google.common.base.Supplier<
+ java.util.concurrent.Future>() {
+ @Override
+ public java.util.concurrent.Future get() {
+ return client.post(
+ ib,
+ interceptedRequest.getCreateDataAssetTagDetails(),
+ interceptedRequest,
+ onSuccess,
+ onError);
+ }
+ });
+ } else {
+ return new com.oracle.bmc.util.internal.TransformingFuture<>(
+ responseFuture, transformer);
+ }
+ }
+
+ @Override
+ public java.util.concurrent.Future createEntity(
+ final CreateEntityRequest request,
+ final com.oracle.bmc.responses.AsyncHandler