All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.glue.DefaultGlueAsyncClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Glue module holds the client classes that are used for communicating with AWS Glue Service

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.glue;

import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Function;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.handler.AwsAsyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.awscore.internal.AwsProtocolMetadata;
import software.amazon.awssdk.awscore.internal.AwsServiceProtocol;
import software.amazon.awssdk.awscore.retry.AwsRetryStrategy;
import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkPlugin;
import software.amazon.awssdk.core.SdkRequest;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.AsyncClientHandler;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.metrics.MetricCollector;
import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.metrics.NoOpMetricCollector;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.retries.api.RetryStrategy;
import software.amazon.awssdk.services.glue.internal.GlueServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.glue.model.AccessDeniedException;
import software.amazon.awssdk.services.glue.model.AlreadyExistsException;
import software.amazon.awssdk.services.glue.model.BatchCreatePartitionRequest;
import software.amazon.awssdk.services.glue.model.BatchCreatePartitionResponse;
import software.amazon.awssdk.services.glue.model.BatchDeleteConnectionRequest;
import software.amazon.awssdk.services.glue.model.BatchDeleteConnectionResponse;
import software.amazon.awssdk.services.glue.model.BatchDeletePartitionRequest;
import software.amazon.awssdk.services.glue.model.BatchDeletePartitionResponse;
import software.amazon.awssdk.services.glue.model.BatchDeleteTableRequest;
import software.amazon.awssdk.services.glue.model.BatchDeleteTableResponse;
import software.amazon.awssdk.services.glue.model.BatchDeleteTableVersionRequest;
import software.amazon.awssdk.services.glue.model.BatchDeleteTableVersionResponse;
import software.amazon.awssdk.services.glue.model.BatchGetBlueprintsRequest;
import software.amazon.awssdk.services.glue.model.BatchGetBlueprintsResponse;
import software.amazon.awssdk.services.glue.model.BatchGetCrawlersRequest;
import software.amazon.awssdk.services.glue.model.BatchGetCrawlersResponse;
import software.amazon.awssdk.services.glue.model.BatchGetCustomEntityTypesRequest;
import software.amazon.awssdk.services.glue.model.BatchGetCustomEntityTypesResponse;
import software.amazon.awssdk.services.glue.model.BatchGetDataQualityResultRequest;
import software.amazon.awssdk.services.glue.model.BatchGetDataQualityResultResponse;
import software.amazon.awssdk.services.glue.model.BatchGetDevEndpointsRequest;
import software.amazon.awssdk.services.glue.model.BatchGetDevEndpointsResponse;
import software.amazon.awssdk.services.glue.model.BatchGetJobsRequest;
import software.amazon.awssdk.services.glue.model.BatchGetJobsResponse;
import software.amazon.awssdk.services.glue.model.BatchGetPartitionRequest;
import software.amazon.awssdk.services.glue.model.BatchGetPartitionResponse;
import software.amazon.awssdk.services.glue.model.BatchGetTableOptimizerRequest;
import software.amazon.awssdk.services.glue.model.BatchGetTableOptimizerResponse;
import software.amazon.awssdk.services.glue.model.BatchGetTriggersRequest;
import software.amazon.awssdk.services.glue.model.BatchGetTriggersResponse;
import software.amazon.awssdk.services.glue.model.BatchGetWorkflowsRequest;
import software.amazon.awssdk.services.glue.model.BatchGetWorkflowsResponse;
import software.amazon.awssdk.services.glue.model.BatchPutDataQualityStatisticAnnotationRequest;
import software.amazon.awssdk.services.glue.model.BatchPutDataQualityStatisticAnnotationResponse;
import software.amazon.awssdk.services.glue.model.BatchStopJobRunRequest;
import software.amazon.awssdk.services.glue.model.BatchStopJobRunResponse;
import software.amazon.awssdk.services.glue.model.BatchUpdatePartitionRequest;
import software.amazon.awssdk.services.glue.model.BatchUpdatePartitionResponse;
import software.amazon.awssdk.services.glue.model.CancelDataQualityRuleRecommendationRunRequest;
import software.amazon.awssdk.services.glue.model.CancelDataQualityRuleRecommendationRunResponse;
import software.amazon.awssdk.services.glue.model.CancelDataQualityRulesetEvaluationRunRequest;
import software.amazon.awssdk.services.glue.model.CancelDataQualityRulesetEvaluationRunResponse;
import software.amazon.awssdk.services.glue.model.CancelMlTaskRunRequest;
import software.amazon.awssdk.services.glue.model.CancelMlTaskRunResponse;
import software.amazon.awssdk.services.glue.model.CancelStatementRequest;
import software.amazon.awssdk.services.glue.model.CancelStatementResponse;
import software.amazon.awssdk.services.glue.model.CheckSchemaVersionValidityRequest;
import software.amazon.awssdk.services.glue.model.CheckSchemaVersionValidityResponse;
import software.amazon.awssdk.services.glue.model.ColumnStatisticsTaskNotRunningException;
import software.amazon.awssdk.services.glue.model.ColumnStatisticsTaskRunningException;
import software.amazon.awssdk.services.glue.model.ColumnStatisticsTaskStoppingException;
import software.amazon.awssdk.services.glue.model.ConcurrentModificationException;
import software.amazon.awssdk.services.glue.model.ConcurrentRunsExceededException;
import software.amazon.awssdk.services.glue.model.ConditionCheckFailureException;
import software.amazon.awssdk.services.glue.model.ConflictException;
import software.amazon.awssdk.services.glue.model.CrawlerNotRunningException;
import software.amazon.awssdk.services.glue.model.CrawlerRunningException;
import software.amazon.awssdk.services.glue.model.CrawlerStoppingException;
import software.amazon.awssdk.services.glue.model.CreateBlueprintRequest;
import software.amazon.awssdk.services.glue.model.CreateBlueprintResponse;
import software.amazon.awssdk.services.glue.model.CreateCatalogRequest;
import software.amazon.awssdk.services.glue.model.CreateCatalogResponse;
import software.amazon.awssdk.services.glue.model.CreateClassifierRequest;
import software.amazon.awssdk.services.glue.model.CreateClassifierResponse;
import software.amazon.awssdk.services.glue.model.CreateColumnStatisticsTaskSettingsRequest;
import software.amazon.awssdk.services.glue.model.CreateColumnStatisticsTaskSettingsResponse;
import software.amazon.awssdk.services.glue.model.CreateConnectionRequest;
import software.amazon.awssdk.services.glue.model.CreateConnectionResponse;
import software.amazon.awssdk.services.glue.model.CreateCrawlerRequest;
import software.amazon.awssdk.services.glue.model.CreateCrawlerResponse;
import software.amazon.awssdk.services.glue.model.CreateCustomEntityTypeRequest;
import software.amazon.awssdk.services.glue.model.CreateCustomEntityTypeResponse;
import software.amazon.awssdk.services.glue.model.CreateDataQualityRulesetRequest;
import software.amazon.awssdk.services.glue.model.CreateDataQualityRulesetResponse;
import software.amazon.awssdk.services.glue.model.CreateDatabaseRequest;
import software.amazon.awssdk.services.glue.model.CreateDatabaseResponse;
import software.amazon.awssdk.services.glue.model.CreateDevEndpointRequest;
import software.amazon.awssdk.services.glue.model.CreateDevEndpointResponse;
import software.amazon.awssdk.services.glue.model.CreateIntegrationRequest;
import software.amazon.awssdk.services.glue.model.CreateIntegrationResourcePropertyRequest;
import software.amazon.awssdk.services.glue.model.CreateIntegrationResourcePropertyResponse;
import software.amazon.awssdk.services.glue.model.CreateIntegrationResponse;
import software.amazon.awssdk.services.glue.model.CreateIntegrationTablePropertiesRequest;
import software.amazon.awssdk.services.glue.model.CreateIntegrationTablePropertiesResponse;
import software.amazon.awssdk.services.glue.model.CreateJobRequest;
import software.amazon.awssdk.services.glue.model.CreateJobResponse;
import software.amazon.awssdk.services.glue.model.CreateMlTransformRequest;
import software.amazon.awssdk.services.glue.model.CreateMlTransformResponse;
import software.amazon.awssdk.services.glue.model.CreatePartitionIndexRequest;
import software.amazon.awssdk.services.glue.model.CreatePartitionIndexResponse;
import software.amazon.awssdk.services.glue.model.CreatePartitionRequest;
import software.amazon.awssdk.services.glue.model.CreatePartitionResponse;
import software.amazon.awssdk.services.glue.model.CreateRegistryRequest;
import software.amazon.awssdk.services.glue.model.CreateRegistryResponse;
import software.amazon.awssdk.services.glue.model.CreateSchemaRequest;
import software.amazon.awssdk.services.glue.model.CreateSchemaResponse;
import software.amazon.awssdk.services.glue.model.CreateScriptRequest;
import software.amazon.awssdk.services.glue.model.CreateScriptResponse;
import software.amazon.awssdk.services.glue.model.CreateSecurityConfigurationRequest;
import software.amazon.awssdk.services.glue.model.CreateSecurityConfigurationResponse;
import software.amazon.awssdk.services.glue.model.CreateSessionRequest;
import software.amazon.awssdk.services.glue.model.CreateSessionResponse;
import software.amazon.awssdk.services.glue.model.CreateTableOptimizerRequest;
import software.amazon.awssdk.services.glue.model.CreateTableOptimizerResponse;
import software.amazon.awssdk.services.glue.model.CreateTableRequest;
import software.amazon.awssdk.services.glue.model.CreateTableResponse;
import software.amazon.awssdk.services.glue.model.CreateTriggerRequest;
import software.amazon.awssdk.services.glue.model.CreateTriggerResponse;
import software.amazon.awssdk.services.glue.model.CreateUsageProfileRequest;
import software.amazon.awssdk.services.glue.model.CreateUsageProfileResponse;
import software.amazon.awssdk.services.glue.model.CreateUserDefinedFunctionRequest;
import software.amazon.awssdk.services.glue.model.CreateUserDefinedFunctionResponse;
import software.amazon.awssdk.services.glue.model.CreateWorkflowRequest;
import software.amazon.awssdk.services.glue.model.CreateWorkflowResponse;
import software.amazon.awssdk.services.glue.model.DeleteBlueprintRequest;
import software.amazon.awssdk.services.glue.model.DeleteBlueprintResponse;
import software.amazon.awssdk.services.glue.model.DeleteCatalogRequest;
import software.amazon.awssdk.services.glue.model.DeleteCatalogResponse;
import software.amazon.awssdk.services.glue.model.DeleteClassifierRequest;
import software.amazon.awssdk.services.glue.model.DeleteClassifierResponse;
import software.amazon.awssdk.services.glue.model.DeleteColumnStatisticsForPartitionRequest;
import software.amazon.awssdk.services.glue.model.DeleteColumnStatisticsForPartitionResponse;
import software.amazon.awssdk.services.glue.model.DeleteColumnStatisticsForTableRequest;
import software.amazon.awssdk.services.glue.model.DeleteColumnStatisticsForTableResponse;
import software.amazon.awssdk.services.glue.model.DeleteColumnStatisticsTaskSettingsRequest;
import software.amazon.awssdk.services.glue.model.DeleteColumnStatisticsTaskSettingsResponse;
import software.amazon.awssdk.services.glue.model.DeleteConnectionRequest;
import software.amazon.awssdk.services.glue.model.DeleteConnectionResponse;
import software.amazon.awssdk.services.glue.model.DeleteCrawlerRequest;
import software.amazon.awssdk.services.glue.model.DeleteCrawlerResponse;
import software.amazon.awssdk.services.glue.model.DeleteCustomEntityTypeRequest;
import software.amazon.awssdk.services.glue.model.DeleteCustomEntityTypeResponse;
import software.amazon.awssdk.services.glue.model.DeleteDataQualityRulesetRequest;
import software.amazon.awssdk.services.glue.model.DeleteDataQualityRulesetResponse;
import software.amazon.awssdk.services.glue.model.DeleteDatabaseRequest;
import software.amazon.awssdk.services.glue.model.DeleteDatabaseResponse;
import software.amazon.awssdk.services.glue.model.DeleteDevEndpointRequest;
import software.amazon.awssdk.services.glue.model.DeleteDevEndpointResponse;
import software.amazon.awssdk.services.glue.model.DeleteIntegrationRequest;
import software.amazon.awssdk.services.glue.model.DeleteIntegrationResponse;
import software.amazon.awssdk.services.glue.model.DeleteIntegrationTablePropertiesRequest;
import software.amazon.awssdk.services.glue.model.DeleteIntegrationTablePropertiesResponse;
import software.amazon.awssdk.services.glue.model.DeleteJobRequest;
import software.amazon.awssdk.services.glue.model.DeleteJobResponse;
import software.amazon.awssdk.services.glue.model.DeleteMlTransformRequest;
import software.amazon.awssdk.services.glue.model.DeleteMlTransformResponse;
import software.amazon.awssdk.services.glue.model.DeletePartitionIndexRequest;
import software.amazon.awssdk.services.glue.model.DeletePartitionIndexResponse;
import software.amazon.awssdk.services.glue.model.DeletePartitionRequest;
import software.amazon.awssdk.services.glue.model.DeletePartitionResponse;
import software.amazon.awssdk.services.glue.model.DeleteRegistryRequest;
import software.amazon.awssdk.services.glue.model.DeleteRegistryResponse;
import software.amazon.awssdk.services.glue.model.DeleteResourcePolicyRequest;
import software.amazon.awssdk.services.glue.model.DeleteResourcePolicyResponse;
import software.amazon.awssdk.services.glue.model.DeleteSchemaRequest;
import software.amazon.awssdk.services.glue.model.DeleteSchemaResponse;
import software.amazon.awssdk.services.glue.model.DeleteSchemaVersionsRequest;
import software.amazon.awssdk.services.glue.model.DeleteSchemaVersionsResponse;
import software.amazon.awssdk.services.glue.model.DeleteSecurityConfigurationRequest;
import software.amazon.awssdk.services.glue.model.DeleteSecurityConfigurationResponse;
import software.amazon.awssdk.services.glue.model.DeleteSessionRequest;
import software.amazon.awssdk.services.glue.model.DeleteSessionResponse;
import software.amazon.awssdk.services.glue.model.DeleteTableOptimizerRequest;
import software.amazon.awssdk.services.glue.model.DeleteTableOptimizerResponse;
import software.amazon.awssdk.services.glue.model.DeleteTableRequest;
import software.amazon.awssdk.services.glue.model.DeleteTableResponse;
import software.amazon.awssdk.services.glue.model.DeleteTableVersionRequest;
import software.amazon.awssdk.services.glue.model.DeleteTableVersionResponse;
import software.amazon.awssdk.services.glue.model.DeleteTriggerRequest;
import software.amazon.awssdk.services.glue.model.DeleteTriggerResponse;
import software.amazon.awssdk.services.glue.model.DeleteUsageProfileRequest;
import software.amazon.awssdk.services.glue.model.DeleteUsageProfileResponse;
import software.amazon.awssdk.services.glue.model.DeleteUserDefinedFunctionRequest;
import software.amazon.awssdk.services.glue.model.DeleteUserDefinedFunctionResponse;
import software.amazon.awssdk.services.glue.model.DeleteWorkflowRequest;
import software.amazon.awssdk.services.glue.model.DeleteWorkflowResponse;
import software.amazon.awssdk.services.glue.model.DescribeConnectionTypeRequest;
import software.amazon.awssdk.services.glue.model.DescribeConnectionTypeResponse;
import software.amazon.awssdk.services.glue.model.DescribeEntityRequest;
import software.amazon.awssdk.services.glue.model.DescribeEntityResponse;
import software.amazon.awssdk.services.glue.model.DescribeInboundIntegrationsRequest;
import software.amazon.awssdk.services.glue.model.DescribeInboundIntegrationsResponse;
import software.amazon.awssdk.services.glue.model.DescribeIntegrationsRequest;
import software.amazon.awssdk.services.glue.model.DescribeIntegrationsResponse;
import software.amazon.awssdk.services.glue.model.EntityNotFoundException;
import software.amazon.awssdk.services.glue.model.FederatedResourceAlreadyExistsException;
import software.amazon.awssdk.services.glue.model.FederationSourceException;
import software.amazon.awssdk.services.glue.model.FederationSourceRetryableException;
import software.amazon.awssdk.services.glue.model.GetBlueprintRequest;
import software.amazon.awssdk.services.glue.model.GetBlueprintResponse;
import software.amazon.awssdk.services.glue.model.GetBlueprintRunRequest;
import software.amazon.awssdk.services.glue.model.GetBlueprintRunResponse;
import software.amazon.awssdk.services.glue.model.GetBlueprintRunsRequest;
import software.amazon.awssdk.services.glue.model.GetBlueprintRunsResponse;
import software.amazon.awssdk.services.glue.model.GetCatalogImportStatusRequest;
import software.amazon.awssdk.services.glue.model.GetCatalogImportStatusResponse;
import software.amazon.awssdk.services.glue.model.GetCatalogRequest;
import software.amazon.awssdk.services.glue.model.GetCatalogResponse;
import software.amazon.awssdk.services.glue.model.GetCatalogsRequest;
import software.amazon.awssdk.services.glue.model.GetCatalogsResponse;
import software.amazon.awssdk.services.glue.model.GetClassifierRequest;
import software.amazon.awssdk.services.glue.model.GetClassifierResponse;
import software.amazon.awssdk.services.glue.model.GetClassifiersRequest;
import software.amazon.awssdk.services.glue.model.GetClassifiersResponse;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsForPartitionRequest;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsForPartitionResponse;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsForTableRequest;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsForTableResponse;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsTaskRunRequest;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsTaskRunResponse;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsTaskRunsRequest;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsTaskRunsResponse;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsTaskSettingsRequest;
import software.amazon.awssdk.services.glue.model.GetColumnStatisticsTaskSettingsResponse;
import software.amazon.awssdk.services.glue.model.GetConnectionRequest;
import software.amazon.awssdk.services.glue.model.GetConnectionResponse;
import software.amazon.awssdk.services.glue.model.GetConnectionsRequest;
import software.amazon.awssdk.services.glue.model.GetConnectionsResponse;
import software.amazon.awssdk.services.glue.model.GetCrawlerMetricsRequest;
import software.amazon.awssdk.services.glue.model.GetCrawlerMetricsResponse;
import software.amazon.awssdk.services.glue.model.GetCrawlerRequest;
import software.amazon.awssdk.services.glue.model.GetCrawlerResponse;
import software.amazon.awssdk.services.glue.model.GetCrawlersRequest;
import software.amazon.awssdk.services.glue.model.GetCrawlersResponse;
import software.amazon.awssdk.services.glue.model.GetCustomEntityTypeRequest;
import software.amazon.awssdk.services.glue.model.GetCustomEntityTypeResponse;
import software.amazon.awssdk.services.glue.model.GetDataCatalogEncryptionSettingsRequest;
import software.amazon.awssdk.services.glue.model.GetDataCatalogEncryptionSettingsResponse;
import software.amazon.awssdk.services.glue.model.GetDataQualityModelRequest;
import software.amazon.awssdk.services.glue.model.GetDataQualityModelResponse;
import software.amazon.awssdk.services.glue.model.GetDataQualityModelResultRequest;
import software.amazon.awssdk.services.glue.model.GetDataQualityModelResultResponse;
import software.amazon.awssdk.services.glue.model.GetDataQualityResultRequest;
import software.amazon.awssdk.services.glue.model.GetDataQualityResultResponse;
import software.amazon.awssdk.services.glue.model.GetDataQualityRuleRecommendationRunRequest;
import software.amazon.awssdk.services.glue.model.GetDataQualityRuleRecommendationRunResponse;
import software.amazon.awssdk.services.glue.model.GetDataQualityRulesetEvaluationRunRequest;
import software.amazon.awssdk.services.glue.model.GetDataQualityRulesetEvaluationRunResponse;
import software.amazon.awssdk.services.glue.model.GetDataQualityRulesetRequest;
import software.amazon.awssdk.services.glue.model.GetDataQualityRulesetResponse;
import software.amazon.awssdk.services.glue.model.GetDatabaseRequest;
import software.amazon.awssdk.services.glue.model.GetDatabaseResponse;
import software.amazon.awssdk.services.glue.model.GetDatabasesRequest;
import software.amazon.awssdk.services.glue.model.GetDatabasesResponse;
import software.amazon.awssdk.services.glue.model.GetDataflowGraphRequest;
import software.amazon.awssdk.services.glue.model.GetDataflowGraphResponse;
import software.amazon.awssdk.services.glue.model.GetDevEndpointRequest;
import software.amazon.awssdk.services.glue.model.GetDevEndpointResponse;
import software.amazon.awssdk.services.glue.model.GetDevEndpointsRequest;
import software.amazon.awssdk.services.glue.model.GetDevEndpointsResponse;
import software.amazon.awssdk.services.glue.model.GetEntityRecordsRequest;
import software.amazon.awssdk.services.glue.model.GetEntityRecordsResponse;
import software.amazon.awssdk.services.glue.model.GetIntegrationResourcePropertyRequest;
import software.amazon.awssdk.services.glue.model.GetIntegrationResourcePropertyResponse;
import software.amazon.awssdk.services.glue.model.GetIntegrationTablePropertiesRequest;
import software.amazon.awssdk.services.glue.model.GetIntegrationTablePropertiesResponse;
import software.amazon.awssdk.services.glue.model.GetJobBookmarkRequest;
import software.amazon.awssdk.services.glue.model.GetJobBookmarkResponse;
import software.amazon.awssdk.services.glue.model.GetJobRequest;
import software.amazon.awssdk.services.glue.model.GetJobResponse;
import software.amazon.awssdk.services.glue.model.GetJobRunRequest;
import software.amazon.awssdk.services.glue.model.GetJobRunResponse;
import software.amazon.awssdk.services.glue.model.GetJobRunsRequest;
import software.amazon.awssdk.services.glue.model.GetJobRunsResponse;
import software.amazon.awssdk.services.glue.model.GetJobsRequest;
import software.amazon.awssdk.services.glue.model.GetJobsResponse;
import software.amazon.awssdk.services.glue.model.GetMappingRequest;
import software.amazon.awssdk.services.glue.model.GetMappingResponse;
import software.amazon.awssdk.services.glue.model.GetMlTaskRunRequest;
import software.amazon.awssdk.services.glue.model.GetMlTaskRunResponse;
import software.amazon.awssdk.services.glue.model.GetMlTaskRunsRequest;
import software.amazon.awssdk.services.glue.model.GetMlTaskRunsResponse;
import software.amazon.awssdk.services.glue.model.GetMlTransformRequest;
import software.amazon.awssdk.services.glue.model.GetMlTransformResponse;
import software.amazon.awssdk.services.glue.model.GetMlTransformsRequest;
import software.amazon.awssdk.services.glue.model.GetMlTransformsResponse;
import software.amazon.awssdk.services.glue.model.GetPartitionIndexesRequest;
import software.amazon.awssdk.services.glue.model.GetPartitionIndexesResponse;
import software.amazon.awssdk.services.glue.model.GetPartitionRequest;
import software.amazon.awssdk.services.glue.model.GetPartitionResponse;
import software.amazon.awssdk.services.glue.model.GetPartitionsRequest;
import software.amazon.awssdk.services.glue.model.GetPartitionsResponse;
import software.amazon.awssdk.services.glue.model.GetPlanRequest;
import software.amazon.awssdk.services.glue.model.GetPlanResponse;
import software.amazon.awssdk.services.glue.model.GetRegistryRequest;
import software.amazon.awssdk.services.glue.model.GetRegistryResponse;
import software.amazon.awssdk.services.glue.model.GetResourcePoliciesRequest;
import software.amazon.awssdk.services.glue.model.GetResourcePoliciesResponse;
import software.amazon.awssdk.services.glue.model.GetResourcePolicyRequest;
import software.amazon.awssdk.services.glue.model.GetResourcePolicyResponse;
import software.amazon.awssdk.services.glue.model.GetSchemaByDefinitionRequest;
import software.amazon.awssdk.services.glue.model.GetSchemaByDefinitionResponse;
import software.amazon.awssdk.services.glue.model.GetSchemaRequest;
import software.amazon.awssdk.services.glue.model.GetSchemaResponse;
import software.amazon.awssdk.services.glue.model.GetSchemaVersionRequest;
import software.amazon.awssdk.services.glue.model.GetSchemaVersionResponse;
import software.amazon.awssdk.services.glue.model.GetSchemaVersionsDiffRequest;
import software.amazon.awssdk.services.glue.model.GetSchemaVersionsDiffResponse;
import software.amazon.awssdk.services.glue.model.GetSecurityConfigurationRequest;
import software.amazon.awssdk.services.glue.model.GetSecurityConfigurationResponse;
import software.amazon.awssdk.services.glue.model.GetSecurityConfigurationsRequest;
import software.amazon.awssdk.services.glue.model.GetSecurityConfigurationsResponse;
import software.amazon.awssdk.services.glue.model.GetSessionRequest;
import software.amazon.awssdk.services.glue.model.GetSessionResponse;
import software.amazon.awssdk.services.glue.model.GetStatementRequest;
import software.amazon.awssdk.services.glue.model.GetStatementResponse;
import software.amazon.awssdk.services.glue.model.GetTableOptimizerRequest;
import software.amazon.awssdk.services.glue.model.GetTableOptimizerResponse;
import software.amazon.awssdk.services.glue.model.GetTableRequest;
import software.amazon.awssdk.services.glue.model.GetTableResponse;
import software.amazon.awssdk.services.glue.model.GetTableVersionRequest;
import software.amazon.awssdk.services.glue.model.GetTableVersionResponse;
import software.amazon.awssdk.services.glue.model.GetTableVersionsRequest;
import software.amazon.awssdk.services.glue.model.GetTableVersionsResponse;
import software.amazon.awssdk.services.glue.model.GetTablesRequest;
import software.amazon.awssdk.services.glue.model.GetTablesResponse;
import software.amazon.awssdk.services.glue.model.GetTagsRequest;
import software.amazon.awssdk.services.glue.model.GetTagsResponse;
import software.amazon.awssdk.services.glue.model.GetTriggerRequest;
import software.amazon.awssdk.services.glue.model.GetTriggerResponse;
import software.amazon.awssdk.services.glue.model.GetTriggersRequest;
import software.amazon.awssdk.services.glue.model.GetTriggersResponse;
import software.amazon.awssdk.services.glue.model.GetUnfilteredPartitionMetadataRequest;
import software.amazon.awssdk.services.glue.model.GetUnfilteredPartitionMetadataResponse;
import software.amazon.awssdk.services.glue.model.GetUnfilteredPartitionsMetadataRequest;
import software.amazon.awssdk.services.glue.model.GetUnfilteredPartitionsMetadataResponse;
import software.amazon.awssdk.services.glue.model.GetUnfilteredTableMetadataRequest;
import software.amazon.awssdk.services.glue.model.GetUnfilteredTableMetadataResponse;
import software.amazon.awssdk.services.glue.model.GetUsageProfileRequest;
import software.amazon.awssdk.services.glue.model.GetUsageProfileResponse;
import software.amazon.awssdk.services.glue.model.GetUserDefinedFunctionRequest;
import software.amazon.awssdk.services.glue.model.GetUserDefinedFunctionResponse;
import software.amazon.awssdk.services.glue.model.GetUserDefinedFunctionsRequest;
import software.amazon.awssdk.services.glue.model.GetUserDefinedFunctionsResponse;
import software.amazon.awssdk.services.glue.model.GetWorkflowRequest;
import software.amazon.awssdk.services.glue.model.GetWorkflowResponse;
import software.amazon.awssdk.services.glue.model.GetWorkflowRunPropertiesRequest;
import software.amazon.awssdk.services.glue.model.GetWorkflowRunPropertiesResponse;
import software.amazon.awssdk.services.glue.model.GetWorkflowRunRequest;
import software.amazon.awssdk.services.glue.model.GetWorkflowRunResponse;
import software.amazon.awssdk.services.glue.model.GetWorkflowRunsRequest;
import software.amazon.awssdk.services.glue.model.GetWorkflowRunsResponse;
import software.amazon.awssdk.services.glue.model.GlueEncryptionException;
import software.amazon.awssdk.services.glue.model.GlueException;
import software.amazon.awssdk.services.glue.model.IdempotentParameterMismatchException;
import software.amazon.awssdk.services.glue.model.IllegalBlueprintStateException;
import software.amazon.awssdk.services.glue.model.IllegalSessionStateException;
import software.amazon.awssdk.services.glue.model.IllegalWorkflowStateException;
import software.amazon.awssdk.services.glue.model.ImportCatalogToGlueRequest;
import software.amazon.awssdk.services.glue.model.ImportCatalogToGlueResponse;
import software.amazon.awssdk.services.glue.model.IntegrationConflictOperationException;
import software.amazon.awssdk.services.glue.model.IntegrationNotFoundException;
import software.amazon.awssdk.services.glue.model.IntegrationQuotaExceededException;
import software.amazon.awssdk.services.glue.model.InternalServerException;
import software.amazon.awssdk.services.glue.model.InternalServiceException;
import software.amazon.awssdk.services.glue.model.InvalidInputException;
import software.amazon.awssdk.services.glue.model.InvalidIntegrationStateException;
import software.amazon.awssdk.services.glue.model.InvalidStateException;
import software.amazon.awssdk.services.glue.model.KmsKeyNotAccessibleException;
import software.amazon.awssdk.services.glue.model.ListBlueprintsRequest;
import software.amazon.awssdk.services.glue.model.ListBlueprintsResponse;
import software.amazon.awssdk.services.glue.model.ListColumnStatisticsTaskRunsRequest;
import software.amazon.awssdk.services.glue.model.ListColumnStatisticsTaskRunsResponse;
import software.amazon.awssdk.services.glue.model.ListConnectionTypesRequest;
import software.amazon.awssdk.services.glue.model.ListConnectionTypesResponse;
import software.amazon.awssdk.services.glue.model.ListCrawlersRequest;
import software.amazon.awssdk.services.glue.model.ListCrawlersResponse;
import software.amazon.awssdk.services.glue.model.ListCrawlsRequest;
import software.amazon.awssdk.services.glue.model.ListCrawlsResponse;
import software.amazon.awssdk.services.glue.model.ListCustomEntityTypesRequest;
import software.amazon.awssdk.services.glue.model.ListCustomEntityTypesResponse;
import software.amazon.awssdk.services.glue.model.ListDataQualityResultsRequest;
import software.amazon.awssdk.services.glue.model.ListDataQualityResultsResponse;
import software.amazon.awssdk.services.glue.model.ListDataQualityRuleRecommendationRunsRequest;
import software.amazon.awssdk.services.glue.model.ListDataQualityRuleRecommendationRunsResponse;
import software.amazon.awssdk.services.glue.model.ListDataQualityRulesetEvaluationRunsRequest;
import software.amazon.awssdk.services.glue.model.ListDataQualityRulesetEvaluationRunsResponse;
import software.amazon.awssdk.services.glue.model.ListDataQualityRulesetsRequest;
import software.amazon.awssdk.services.glue.model.ListDataQualityRulesetsResponse;
import software.amazon.awssdk.services.glue.model.ListDataQualityStatisticAnnotationsRequest;
import software.amazon.awssdk.services.glue.model.ListDataQualityStatisticAnnotationsResponse;
import software.amazon.awssdk.services.glue.model.ListDataQualityStatisticsRequest;
import software.amazon.awssdk.services.glue.model.ListDataQualityStatisticsResponse;
import software.amazon.awssdk.services.glue.model.ListDevEndpointsRequest;
import software.amazon.awssdk.services.glue.model.ListDevEndpointsResponse;
import software.amazon.awssdk.services.glue.model.ListEntitiesRequest;
import software.amazon.awssdk.services.glue.model.ListEntitiesResponse;
import software.amazon.awssdk.services.glue.model.ListJobsRequest;
import software.amazon.awssdk.services.glue.model.ListJobsResponse;
import software.amazon.awssdk.services.glue.model.ListMlTransformsRequest;
import software.amazon.awssdk.services.glue.model.ListMlTransformsResponse;
import software.amazon.awssdk.services.glue.model.ListRegistriesRequest;
import software.amazon.awssdk.services.glue.model.ListRegistriesResponse;
import software.amazon.awssdk.services.glue.model.ListSchemaVersionsRequest;
import software.amazon.awssdk.services.glue.model.ListSchemaVersionsResponse;
import software.amazon.awssdk.services.glue.model.ListSchemasRequest;
import software.amazon.awssdk.services.glue.model.ListSchemasResponse;
import software.amazon.awssdk.services.glue.model.ListSessionsRequest;
import software.amazon.awssdk.services.glue.model.ListSessionsResponse;
import software.amazon.awssdk.services.glue.model.ListStatementsRequest;
import software.amazon.awssdk.services.glue.model.ListStatementsResponse;
import software.amazon.awssdk.services.glue.model.ListTableOptimizerRunsRequest;
import software.amazon.awssdk.services.glue.model.ListTableOptimizerRunsResponse;
import software.amazon.awssdk.services.glue.model.ListTriggersRequest;
import software.amazon.awssdk.services.glue.model.ListTriggersResponse;
import software.amazon.awssdk.services.glue.model.ListUsageProfilesRequest;
import software.amazon.awssdk.services.glue.model.ListUsageProfilesResponse;
import software.amazon.awssdk.services.glue.model.ListWorkflowsRequest;
import software.amazon.awssdk.services.glue.model.ListWorkflowsResponse;
import software.amazon.awssdk.services.glue.model.MlTransformNotReadyException;
import software.amazon.awssdk.services.glue.model.ModifyIntegrationRequest;
import software.amazon.awssdk.services.glue.model.ModifyIntegrationResponse;
import software.amazon.awssdk.services.glue.model.NoScheduleException;
import software.amazon.awssdk.services.glue.model.OperationNotSupportedException;
import software.amazon.awssdk.services.glue.model.OperationTimeoutException;
import software.amazon.awssdk.services.glue.model.PermissionTypeMismatchException;
import software.amazon.awssdk.services.glue.model.PutDataCatalogEncryptionSettingsRequest;
import software.amazon.awssdk.services.glue.model.PutDataCatalogEncryptionSettingsResponse;
import software.amazon.awssdk.services.glue.model.PutDataQualityProfileAnnotationRequest;
import software.amazon.awssdk.services.glue.model.PutDataQualityProfileAnnotationResponse;
import software.amazon.awssdk.services.glue.model.PutResourcePolicyRequest;
import software.amazon.awssdk.services.glue.model.PutResourcePolicyResponse;
import software.amazon.awssdk.services.glue.model.PutSchemaVersionMetadataRequest;
import software.amazon.awssdk.services.glue.model.PutSchemaVersionMetadataResponse;
import software.amazon.awssdk.services.glue.model.PutWorkflowRunPropertiesRequest;
import software.amazon.awssdk.services.glue.model.PutWorkflowRunPropertiesResponse;
import software.amazon.awssdk.services.glue.model.QuerySchemaVersionMetadataRequest;
import software.amazon.awssdk.services.glue.model.QuerySchemaVersionMetadataResponse;
import software.amazon.awssdk.services.glue.model.RegisterSchemaVersionRequest;
import software.amazon.awssdk.services.glue.model.RegisterSchemaVersionResponse;
import software.amazon.awssdk.services.glue.model.RemoveSchemaVersionMetadataRequest;
import software.amazon.awssdk.services.glue.model.RemoveSchemaVersionMetadataResponse;
import software.amazon.awssdk.services.glue.model.ResetJobBookmarkRequest;
import software.amazon.awssdk.services.glue.model.ResetJobBookmarkResponse;
import software.amazon.awssdk.services.glue.model.ResourceNotFoundException;
import software.amazon.awssdk.services.glue.model.ResourceNotReadyException;
import software.amazon.awssdk.services.glue.model.ResourceNumberLimitExceededException;
import software.amazon.awssdk.services.glue.model.ResumeWorkflowRunRequest;
import software.amazon.awssdk.services.glue.model.ResumeWorkflowRunResponse;
import software.amazon.awssdk.services.glue.model.RunStatementRequest;
import software.amazon.awssdk.services.glue.model.RunStatementResponse;
import software.amazon.awssdk.services.glue.model.SchedulerNotRunningException;
import software.amazon.awssdk.services.glue.model.SchedulerRunningException;
import software.amazon.awssdk.services.glue.model.SchedulerTransitioningException;
import software.amazon.awssdk.services.glue.model.SearchTablesRequest;
import software.amazon.awssdk.services.glue.model.SearchTablesResponse;
import software.amazon.awssdk.services.glue.model.StartBlueprintRunRequest;
import software.amazon.awssdk.services.glue.model.StartBlueprintRunResponse;
import software.amazon.awssdk.services.glue.model.StartColumnStatisticsTaskRunRequest;
import software.amazon.awssdk.services.glue.model.StartColumnStatisticsTaskRunResponse;
import software.amazon.awssdk.services.glue.model.StartColumnStatisticsTaskRunScheduleRequest;
import software.amazon.awssdk.services.glue.model.StartColumnStatisticsTaskRunScheduleResponse;
import software.amazon.awssdk.services.glue.model.StartCrawlerRequest;
import software.amazon.awssdk.services.glue.model.StartCrawlerResponse;
import software.amazon.awssdk.services.glue.model.StartCrawlerScheduleRequest;
import software.amazon.awssdk.services.glue.model.StartCrawlerScheduleResponse;
import software.amazon.awssdk.services.glue.model.StartDataQualityRuleRecommendationRunRequest;
import software.amazon.awssdk.services.glue.model.StartDataQualityRuleRecommendationRunResponse;
import software.amazon.awssdk.services.glue.model.StartDataQualityRulesetEvaluationRunRequest;
import software.amazon.awssdk.services.glue.model.StartDataQualityRulesetEvaluationRunResponse;
import software.amazon.awssdk.services.glue.model.StartExportLabelsTaskRunRequest;
import software.amazon.awssdk.services.glue.model.StartExportLabelsTaskRunResponse;
import software.amazon.awssdk.services.glue.model.StartImportLabelsTaskRunRequest;
import software.amazon.awssdk.services.glue.model.StartImportLabelsTaskRunResponse;
import software.amazon.awssdk.services.glue.model.StartJobRunRequest;
import software.amazon.awssdk.services.glue.model.StartJobRunResponse;
import software.amazon.awssdk.services.glue.model.StartMlEvaluationTaskRunRequest;
import software.amazon.awssdk.services.glue.model.StartMlEvaluationTaskRunResponse;
import software.amazon.awssdk.services.glue.model.StartMlLabelingSetGenerationTaskRunRequest;
import software.amazon.awssdk.services.glue.model.StartMlLabelingSetGenerationTaskRunResponse;
import software.amazon.awssdk.services.glue.model.StartTriggerRequest;
import software.amazon.awssdk.services.glue.model.StartTriggerResponse;
import software.amazon.awssdk.services.glue.model.StartWorkflowRunRequest;
import software.amazon.awssdk.services.glue.model.StartWorkflowRunResponse;
import software.amazon.awssdk.services.glue.model.StopColumnStatisticsTaskRunRequest;
import software.amazon.awssdk.services.glue.model.StopColumnStatisticsTaskRunResponse;
import software.amazon.awssdk.services.glue.model.StopColumnStatisticsTaskRunScheduleRequest;
import software.amazon.awssdk.services.glue.model.StopColumnStatisticsTaskRunScheduleResponse;
import software.amazon.awssdk.services.glue.model.StopCrawlerRequest;
import software.amazon.awssdk.services.glue.model.StopCrawlerResponse;
import software.amazon.awssdk.services.glue.model.StopCrawlerScheduleRequest;
import software.amazon.awssdk.services.glue.model.StopCrawlerScheduleResponse;
import software.amazon.awssdk.services.glue.model.StopSessionRequest;
import software.amazon.awssdk.services.glue.model.StopSessionResponse;
import software.amazon.awssdk.services.glue.model.StopTriggerRequest;
import software.amazon.awssdk.services.glue.model.StopTriggerResponse;
import software.amazon.awssdk.services.glue.model.StopWorkflowRunRequest;
import software.amazon.awssdk.services.glue.model.StopWorkflowRunResponse;
import software.amazon.awssdk.services.glue.model.TagResourceRequest;
import software.amazon.awssdk.services.glue.model.TagResourceResponse;
import software.amazon.awssdk.services.glue.model.TargetResourceNotFoundException;
import software.amazon.awssdk.services.glue.model.TestConnectionRequest;
import software.amazon.awssdk.services.glue.model.TestConnectionResponse;
import software.amazon.awssdk.services.glue.model.ThrottlingException;
import software.amazon.awssdk.services.glue.model.UntagResourceRequest;
import software.amazon.awssdk.services.glue.model.UntagResourceResponse;
import software.amazon.awssdk.services.glue.model.UpdateBlueprintRequest;
import software.amazon.awssdk.services.glue.model.UpdateBlueprintResponse;
import software.amazon.awssdk.services.glue.model.UpdateCatalogRequest;
import software.amazon.awssdk.services.glue.model.UpdateCatalogResponse;
import software.amazon.awssdk.services.glue.model.UpdateClassifierRequest;
import software.amazon.awssdk.services.glue.model.UpdateClassifierResponse;
import software.amazon.awssdk.services.glue.model.UpdateColumnStatisticsForPartitionRequest;
import software.amazon.awssdk.services.glue.model.UpdateColumnStatisticsForPartitionResponse;
import software.amazon.awssdk.services.glue.model.UpdateColumnStatisticsForTableRequest;
import software.amazon.awssdk.services.glue.model.UpdateColumnStatisticsForTableResponse;
import software.amazon.awssdk.services.glue.model.UpdateColumnStatisticsTaskSettingsRequest;
import software.amazon.awssdk.services.glue.model.UpdateColumnStatisticsTaskSettingsResponse;
import software.amazon.awssdk.services.glue.model.UpdateConnectionRequest;
import software.amazon.awssdk.services.glue.model.UpdateConnectionResponse;
import software.amazon.awssdk.services.glue.model.UpdateCrawlerRequest;
import software.amazon.awssdk.services.glue.model.UpdateCrawlerResponse;
import software.amazon.awssdk.services.glue.model.UpdateCrawlerScheduleRequest;
import software.amazon.awssdk.services.glue.model.UpdateCrawlerScheduleResponse;
import software.amazon.awssdk.services.glue.model.UpdateDataQualityRulesetRequest;
import software.amazon.awssdk.services.glue.model.UpdateDataQualityRulesetResponse;
import software.amazon.awssdk.services.glue.model.UpdateDatabaseRequest;
import software.amazon.awssdk.services.glue.model.UpdateDatabaseResponse;
import software.amazon.awssdk.services.glue.model.UpdateDevEndpointRequest;
import software.amazon.awssdk.services.glue.model.UpdateDevEndpointResponse;
import software.amazon.awssdk.services.glue.model.UpdateIntegrationResourcePropertyRequest;
import software.amazon.awssdk.services.glue.model.UpdateIntegrationResourcePropertyResponse;
import software.amazon.awssdk.services.glue.model.UpdateIntegrationTablePropertiesRequest;
import software.amazon.awssdk.services.glue.model.UpdateIntegrationTablePropertiesResponse;
import software.amazon.awssdk.services.glue.model.UpdateJobFromSourceControlRequest;
import software.amazon.awssdk.services.glue.model.UpdateJobFromSourceControlResponse;
import software.amazon.awssdk.services.glue.model.UpdateJobRequest;
import software.amazon.awssdk.services.glue.model.UpdateJobResponse;
import software.amazon.awssdk.services.glue.model.UpdateMlTransformRequest;
import software.amazon.awssdk.services.glue.model.UpdateMlTransformResponse;
import software.amazon.awssdk.services.glue.model.UpdatePartitionRequest;
import software.amazon.awssdk.services.glue.model.UpdatePartitionResponse;
import software.amazon.awssdk.services.glue.model.UpdateRegistryRequest;
import software.amazon.awssdk.services.glue.model.UpdateRegistryResponse;
import software.amazon.awssdk.services.glue.model.UpdateSchemaRequest;
import software.amazon.awssdk.services.glue.model.UpdateSchemaResponse;
import software.amazon.awssdk.services.glue.model.UpdateSourceControlFromJobRequest;
import software.amazon.awssdk.services.glue.model.UpdateSourceControlFromJobResponse;
import software.amazon.awssdk.services.glue.model.UpdateTableOptimizerRequest;
import software.amazon.awssdk.services.glue.model.UpdateTableOptimizerResponse;
import software.amazon.awssdk.services.glue.model.UpdateTableRequest;
import software.amazon.awssdk.services.glue.model.UpdateTableResponse;
import software.amazon.awssdk.services.glue.model.UpdateTriggerRequest;
import software.amazon.awssdk.services.glue.model.UpdateTriggerResponse;
import software.amazon.awssdk.services.glue.model.UpdateUsageProfileRequest;
import software.amazon.awssdk.services.glue.model.UpdateUsageProfileResponse;
import software.amazon.awssdk.services.glue.model.UpdateUserDefinedFunctionRequest;
import software.amazon.awssdk.services.glue.model.UpdateUserDefinedFunctionResponse;
import software.amazon.awssdk.services.glue.model.UpdateWorkflowRequest;
import software.amazon.awssdk.services.glue.model.UpdateWorkflowResponse;
import software.amazon.awssdk.services.glue.model.ValidationException;
import software.amazon.awssdk.services.glue.model.VersionMismatchException;
import software.amazon.awssdk.services.glue.transform.BatchCreatePartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchDeleteConnectionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchDeletePartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchDeleteTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchDeleteTableVersionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetBlueprintsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetCrawlersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetCustomEntityTypesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetDataQualityResultRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetDevEndpointsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetJobsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetPartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetTableOptimizerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetTriggersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchGetWorkflowsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchPutDataQualityStatisticAnnotationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchStopJobRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.BatchUpdatePartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CancelDataQualityRuleRecommendationRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CancelDataQualityRulesetEvaluationRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CancelMlTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CancelStatementRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CheckSchemaVersionValidityRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateBlueprintRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateCatalogRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateClassifierRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateColumnStatisticsTaskSettingsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateConnectionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateCrawlerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateCustomEntityTypeRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateDataQualityRulesetRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateDatabaseRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateDevEndpointRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateIntegrationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateIntegrationResourcePropertyRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateIntegrationTablePropertiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateJobRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateMlTransformRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreatePartitionIndexRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreatePartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateRegistryRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateSchemaRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateScriptRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateSecurityConfigurationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateSessionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateTableOptimizerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateTriggerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateUsageProfileRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateUserDefinedFunctionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.CreateWorkflowRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteBlueprintRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteCatalogRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteClassifierRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteColumnStatisticsForPartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteColumnStatisticsForTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteColumnStatisticsTaskSettingsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteConnectionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteCrawlerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteCustomEntityTypeRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteDataQualityRulesetRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteDatabaseRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteDevEndpointRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteIntegrationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteIntegrationTablePropertiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteJobRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteMlTransformRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeletePartitionIndexRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeletePartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteRegistryRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteSchemaRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteSchemaVersionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteSecurityConfigurationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteSessionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteTableOptimizerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteTableVersionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteTriggerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteUsageProfileRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteUserDefinedFunctionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DeleteWorkflowRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DescribeConnectionTypeRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DescribeEntityRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DescribeInboundIntegrationsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.DescribeIntegrationsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetBlueprintRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetBlueprintRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetBlueprintRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCatalogImportStatusRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCatalogRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCatalogsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetClassifierRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetClassifiersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetColumnStatisticsForPartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetColumnStatisticsForTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetColumnStatisticsTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetColumnStatisticsTaskRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetColumnStatisticsTaskSettingsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetConnectionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetConnectionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCrawlerMetricsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCrawlerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCrawlersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetCustomEntityTypeRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataCatalogEncryptionSettingsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataQualityModelRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataQualityModelResultRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataQualityResultRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataQualityRuleRecommendationRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataQualityRulesetEvaluationRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataQualityRulesetRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDatabaseRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDatabasesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDataflowGraphRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDevEndpointRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetDevEndpointsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetEntityRecordsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetIntegrationResourcePropertyRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetIntegrationTablePropertiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetJobBookmarkRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetJobRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetJobRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetJobRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetJobsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetMappingRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetMlTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetMlTaskRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetMlTransformRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetMlTransformsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetPartitionIndexesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetPartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetPartitionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetPlanRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetRegistryRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetResourcePoliciesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSchemaByDefinitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSchemaRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSchemaVersionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSchemaVersionsDiffRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSecurityConfigurationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSecurityConfigurationsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetSessionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetStatementRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTableOptimizerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTableVersionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTableVersionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTablesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTagsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTriggerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetTriggersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetUnfilteredPartitionMetadataRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetUnfilteredPartitionsMetadataRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetUnfilteredTableMetadataRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetUsageProfileRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetUserDefinedFunctionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetUserDefinedFunctionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetWorkflowRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetWorkflowRunPropertiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetWorkflowRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.GetWorkflowRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ImportCatalogToGlueRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListBlueprintsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListColumnStatisticsTaskRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListConnectionTypesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListCrawlersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListCrawlsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListCustomEntityTypesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDataQualityResultsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDataQualityRuleRecommendationRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDataQualityRulesetEvaluationRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDataQualityRulesetsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDataQualityStatisticAnnotationsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDataQualityStatisticsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListDevEndpointsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListEntitiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListJobsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListMlTransformsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListRegistriesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListSchemaVersionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListSchemasRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListSessionsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListStatementsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListTableOptimizerRunsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListTriggersRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListUsageProfilesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ListWorkflowsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ModifyIntegrationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.PutDataCatalogEncryptionSettingsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.PutDataQualityProfileAnnotationRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.PutResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.PutSchemaVersionMetadataRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.PutWorkflowRunPropertiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.QuerySchemaVersionMetadataRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.RegisterSchemaVersionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.RemoveSchemaVersionMetadataRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ResetJobBookmarkRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.ResumeWorkflowRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.RunStatementRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.SearchTablesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartBlueprintRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartColumnStatisticsTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartColumnStatisticsTaskRunScheduleRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartCrawlerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartCrawlerScheduleRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartDataQualityRuleRecommendationRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartDataQualityRulesetEvaluationRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartExportLabelsTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartImportLabelsTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartJobRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartMlEvaluationTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartMlLabelingSetGenerationTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartTriggerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StartWorkflowRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopColumnStatisticsTaskRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopColumnStatisticsTaskRunScheduleRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopCrawlerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopCrawlerScheduleRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopSessionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopTriggerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.StopWorkflowRunRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.TestConnectionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateBlueprintRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateCatalogRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateClassifierRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateColumnStatisticsForPartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateColumnStatisticsForTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateColumnStatisticsTaskSettingsRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateConnectionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateCrawlerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateCrawlerScheduleRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateDataQualityRulesetRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateDatabaseRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateDevEndpointRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateIntegrationResourcePropertyRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateIntegrationTablePropertiesRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateJobFromSourceControlRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateJobRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateMlTransformRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdatePartitionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateRegistryRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateSchemaRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateSourceControlFromJobRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateTableOptimizerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateTableRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateTriggerRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateUsageProfileRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateUserDefinedFunctionRequestMarshaller;
import software.amazon.awssdk.services.glue.transform.UpdateWorkflowRequestMarshaller;
import software.amazon.awssdk.utils.CompletableFutureUtils;

/**
 * Internal implementation of {@link GlueAsyncClient}.
 *
 * @see GlueAsyncClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultGlueAsyncClient implements GlueAsyncClient {
    private static final Logger log = LoggerFactory.getLogger(DefaultGlueAsyncClient.class);

    private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata.builder()
            .serviceProtocol(AwsServiceProtocol.AWS_JSON).build();

    private final AsyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultGlueAsyncClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsAsyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    /**
     * 

* Creates one or more partitions in a batch operation. *

* * @param batchCreatePartitionRequest * @return A Java Future containing the result of the BatchCreatePartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchCreatePartition * @see AWS API * Documentation */ @Override public CompletableFuture batchCreatePartition( BatchCreatePartitionRequest batchCreatePartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchCreatePartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchCreatePartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchCreatePartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchCreatePartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchCreatePartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchCreatePartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchCreatePartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a list of connection definitions from the Data Catalog. *

* * @param batchDeleteConnectionRequest * @return A Java Future containing the result of the BatchDeleteConnection operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchDeleteConnection * @see AWS * API Documentation */ @Override public CompletableFuture batchDeleteConnection( BatchDeleteConnectionRequest batchDeleteConnectionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchDeleteConnectionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchDeleteConnectionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchDeleteConnection"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchDeleteConnectionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchDeleteConnection").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchDeleteConnectionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchDeleteConnectionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes one or more partitions in a batch operation. *

* * @param batchDeletePartitionRequest * @return A Java Future containing the result of the BatchDeletePartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchDeletePartition * @see AWS API * Documentation */ @Override public CompletableFuture batchDeletePartition( BatchDeletePartitionRequest batchDeletePartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchDeletePartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchDeletePartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchDeletePartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchDeletePartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchDeletePartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchDeletePartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchDeletePartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes multiple tables at once. *

* *

* After completing this operation, you no longer have access to the table versions and partitions that belong to * the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion * of the service. *

*

* To ensure the immediate deletion of all related resources, before calling BatchDeleteTable, use * DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or * BatchDeletePartition, to delete any resources that belong to the table. *

*
* * @param batchDeleteTableRequest * @return A Java Future containing the result of the BatchDeleteTable operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ResourceNotReadyException A resource was not ready for a transaction.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchDeleteTable * @see AWS API * Documentation */ @Override public CompletableFuture batchDeleteTable(BatchDeleteTableRequest batchDeleteTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchDeleteTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchDeleteTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchDeleteTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchDeleteTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchDeleteTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchDeleteTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchDeleteTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified batch of versions of a table. *

* * @param batchDeleteTableVersionRequest * @return A Java Future containing the result of the BatchDeleteTableVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchDeleteTableVersion * @see AWS * API Documentation */ @Override public CompletableFuture batchDeleteTableVersion( BatchDeleteTableVersionRequest batchDeleteTableVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchDeleteTableVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchDeleteTableVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchDeleteTableVersion"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchDeleteTableVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchDeleteTableVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchDeleteTableVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchDeleteTableVersionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about a list of blueprints. *

* * @param batchGetBlueprintsRequest * @return A Java Future containing the result of the BatchGetBlueprints operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetBlueprints * @see AWS API * Documentation */ @Override public CompletableFuture batchGetBlueprints(BatchGetBlueprintsRequest batchGetBlueprintsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetBlueprintsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetBlueprintsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetBlueprints"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetBlueprintsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetBlueprints").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetBlueprintsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetBlueprintsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of resource metadata for a given list of crawler names. After calling the * ListCrawlers operation, you can call this operation to access the data to which you have been * granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. *

* * @param batchGetCrawlersRequest * @return A Java Future containing the result of the BatchGetCrawlers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetCrawlers * @see AWS API * Documentation */ @Override public CompletableFuture batchGetCrawlers(BatchGetCrawlersRequest batchGetCrawlersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetCrawlersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetCrawlersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetCrawlers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetCrawlersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetCrawlers").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetCrawlersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetCrawlersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the details for the custom patterns specified by a list of names. *

* * @param batchGetCustomEntityTypesRequest * @return A Java Future containing the result of the BatchGetCustomEntityTypes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetCustomEntityTypes * @see AWS API Documentation */ @Override public CompletableFuture batchGetCustomEntityTypes( BatchGetCustomEntityTypesRequest batchGetCustomEntityTypesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetCustomEntityTypesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetCustomEntityTypesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetCustomEntityTypes"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetCustomEntityTypesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetCustomEntityTypes").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetCustomEntityTypesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetCustomEntityTypesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of data quality results for the specified result IDs. *

* * @param batchGetDataQualityResultRequest * @return A Java Future containing the result of the BatchGetDataQualityResult operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetDataQualityResult * @see AWS API Documentation */ @Override public CompletableFuture batchGetDataQualityResult( BatchGetDataQualityResultRequest batchGetDataQualityResultRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetDataQualityResultRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetDataQualityResultRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetDataQualityResult"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetDataQualityResultResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetDataQualityResult").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetDataQualityResultRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetDataQualityResultRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of resource metadata for a given list of development endpoint names. After calling the * ListDevEndpoints operation, you can call this operation to access the data to which you have been * granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. *

* * @param batchGetDevEndpointsRequest * @return A Java Future containing the result of the BatchGetDevEndpoints operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetDevEndpoints * @see AWS API * Documentation */ @Override public CompletableFuture batchGetDevEndpoints( BatchGetDevEndpointsRequest batchGetDevEndpointsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetDevEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetDevEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetDevEndpoints"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetDevEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetDevEndpoints").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetDevEndpointsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetDevEndpointsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of resource metadata for a given list of job names. After calling the ListJobs * operation, you can call this operation to access the data to which you have been granted permissions. This * operation supports all IAM permissions, including permission conditions that uses tags. *

* * @param batchGetJobsRequest * @return A Java Future containing the result of the BatchGetJobs operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetJobs * @see AWS API * Documentation */ @Override public CompletableFuture batchGetJobs(BatchGetJobsRequest batchGetJobsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetJobsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetJobsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetJobs"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, BatchGetJobsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetJobs").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetJobsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetJobsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves partitions in a batch request. *

* * @param batchGetPartitionRequest * @return A Java Future containing the result of the BatchGetPartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • InvalidStateException An error that indicates your data is in an invalid state.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetPartition * @see AWS API * Documentation */ @Override public CompletableFuture batchGetPartition(BatchGetPartitionRequest batchGetPartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetPartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetPartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetPartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetPartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetPartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetPartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetPartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the configuration for the specified table optimizers. *

* * @param batchGetTableOptimizerRequest * @return A Java Future containing the result of the BatchGetTableOptimizer operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ThrottlingException The throttling threshhold was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetTableOptimizer * @see AWS * API Documentation */ @Override public CompletableFuture batchGetTableOptimizer( BatchGetTableOptimizerRequest batchGetTableOptimizerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetTableOptimizerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetTableOptimizerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetTableOptimizer"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetTableOptimizerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetTableOptimizer").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetTableOptimizerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetTableOptimizerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of resource metadata for a given list of trigger names. After calling the * ListTriggers operation, you can call this operation to access the data to which you have been * granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. *

* * @param batchGetTriggersRequest * @return A Java Future containing the result of the BatchGetTriggers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetTriggers * @see AWS API * Documentation */ @Override public CompletableFuture batchGetTriggers(BatchGetTriggersRequest batchGetTriggersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetTriggersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetTriggersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetTriggers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetTriggersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetTriggers").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetTriggersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetTriggersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of resource metadata for a given list of workflow names. After calling the * ListWorkflows operation, you can call this operation to access the data to which you have been * granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags. *

* * @param batchGetWorkflowsRequest * @return A Java Future containing the result of the BatchGetWorkflows operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchGetWorkflows * @see AWS API * Documentation */ @Override public CompletableFuture batchGetWorkflows(BatchGetWorkflowsRequest batchGetWorkflowsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetWorkflowsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetWorkflowsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetWorkflows"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetWorkflowsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetWorkflows").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchGetWorkflowsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchGetWorkflowsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Annotate datapoints over time for a specific data quality statistic. *

* * @param batchPutDataQualityStatisticAnnotationRequest * @return A Java Future containing the result of the BatchPutDataQualityStatisticAnnotation operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchPutDataQualityStatisticAnnotation * @see AWS API Documentation */ @Override public CompletableFuture batchPutDataQualityStatisticAnnotation( BatchPutDataQualityStatisticAnnotationRequest batchPutDataQualityStatisticAnnotationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchPutDataQualityStatisticAnnotationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchPutDataQualityStatisticAnnotationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchPutDataQualityStatisticAnnotation"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, BatchPutDataQualityStatisticAnnotationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchPutDataQualityStatisticAnnotation").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchPutDataQualityStatisticAnnotationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchPutDataQualityStatisticAnnotationRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops one or more job runs for a specified job definition. *

* * @param batchStopJobRunRequest * @return A Java Future containing the result of the BatchStopJobRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchStopJobRun * @see AWS API * Documentation */ @Override public CompletableFuture batchStopJobRun(BatchStopJobRunRequest batchStopJobRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchStopJobRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchStopJobRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchStopJobRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchStopJobRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchStopJobRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchStopJobRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchStopJobRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates one or more partitions in a batch operation. *

* * @param batchUpdatePartitionRequest * @return A Java Future containing the result of the BatchUpdatePartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.BatchUpdatePartition * @see AWS API * Documentation */ @Override public CompletableFuture batchUpdatePartition( BatchUpdatePartitionRequest batchUpdatePartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchUpdatePartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchUpdatePartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchUpdatePartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchUpdatePartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchUpdatePartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new BatchUpdatePartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(batchUpdatePartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Cancels the specified recommendation run that was being used to generate rules. *

* * @param cancelDataQualityRuleRecommendationRunRequest * @return A Java Future containing the result of the CancelDataQualityRuleRecommendationRun operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CancelDataQualityRuleRecommendationRun * @see AWS API Documentation */ @Override public CompletableFuture cancelDataQualityRuleRecommendationRun( CancelDataQualityRuleRecommendationRunRequest cancelDataQualityRuleRecommendationRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelDataQualityRuleRecommendationRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelDataQualityRuleRecommendationRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelDataQualityRuleRecommendationRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CancelDataQualityRuleRecommendationRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CancelDataQualityRuleRecommendationRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new CancelDataQualityRuleRecommendationRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(cancelDataQualityRuleRecommendationRunRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Cancels a run where a ruleset is being evaluated against a data source. *

* * @param cancelDataQualityRulesetEvaluationRunRequest * @return A Java Future containing the result of the CancelDataQualityRulesetEvaluationRun operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CancelDataQualityRulesetEvaluationRun * @see AWS API Documentation */ @Override public CompletableFuture cancelDataQualityRulesetEvaluationRun( CancelDataQualityRulesetEvaluationRunRequest cancelDataQualityRulesetEvaluationRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelDataQualityRulesetEvaluationRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelDataQualityRulesetEvaluationRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelDataQualityRulesetEvaluationRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CancelDataQualityRulesetEvaluationRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CancelDataQualityRulesetEvaluationRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new CancelDataQualityRulesetEvaluationRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(cancelDataQualityRulesetEvaluationRunRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Cancels (stops) a task run. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as * part of various machine learning workflows. You can cancel a machine learning task run at any time by calling * CancelMLTaskRun with a task run's parent transform's TransformID and the task run's * TaskRunId. *

* * @param cancelMlTaskRunRequest * @return A Java Future containing the result of the CancelMLTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CancelMLTaskRun * @see AWS API * Documentation */ @Override public CompletableFuture cancelMLTaskRun(CancelMlTaskRunRequest cancelMlTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelMlTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelMlTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelMLTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CancelMlTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CancelMLTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new CancelMlTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(cancelMlTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Cancels the statement. *

* * @param cancelStatementRequest * @return A Java Future containing the result of the CancelStatement operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • IllegalSessionStateException The session is in an invalid state to perform a requested operation.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CancelStatement * @see AWS API * Documentation */ @Override public CompletableFuture cancelStatement(CancelStatementRequest cancelStatementRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelStatementRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelStatementRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelStatement"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CancelStatementResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CancelStatement").withProtocolMetadata(protocolMetadata) .withMarshaller(new CancelStatementRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(cancelStatementRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Validates the supplied schema. This call has no side effects, it simply validates using the supplied schema using * DataFormat as the format. Since it does not take a schema set name, no compatibility checks are * performed. *

* * @param checkSchemaVersionValidityRequest * @return A Java Future containing the result of the CheckSchemaVersionValidity operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CheckSchemaVersionValidity * @see AWS API Documentation */ @Override public CompletableFuture checkSchemaVersionValidity( CheckSchemaVersionValidityRequest checkSchemaVersionValidityRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(checkSchemaVersionValidityRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, checkSchemaVersionValidityRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CheckSchemaVersionValidity"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CheckSchemaVersionValidityResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CheckSchemaVersionValidity").withProtocolMetadata(protocolMetadata) .withMarshaller(new CheckSchemaVersionValidityRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(checkSchemaVersionValidityRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Registers a blueprint with Glue. *

* * @param createBlueprintRequest * @return A Java Future containing the result of the CreateBlueprint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateBlueprint * @see AWS API * Documentation */ @Override public CompletableFuture createBlueprint(CreateBlueprintRequest createBlueprintRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createBlueprintRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createBlueprintRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateBlueprint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateBlueprintResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateBlueprint").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateBlueprintRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createBlueprintRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new catalog in the Glue Data Catalog. *

* * @param createCatalogRequest * @return A Java Future containing the result of the CreateCatalog operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • FederatedResourceAlreadyExistsException A federated resource already exists.
  • *
  • FederationSourceException A federation source failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateCatalog * @see AWS API * Documentation */ @Override public CompletableFuture createCatalog(CreateCatalogRequest createCatalogRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCatalogRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCatalogRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCatalog"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateCatalogResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCatalog").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateCatalogRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createCatalogRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a classifier in the user's account. This can be a GrokClassifier, an * XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which * field of the request is present. *

* * @param createClassifierRequest * @return A Java Future containing the result of the CreateClassifier operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateClassifier * @see AWS API * Documentation */ @Override public CompletableFuture createClassifier(CreateClassifierRequest createClassifierRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createClassifierRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createClassifierRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateClassifier"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateClassifierResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateClassifier").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateClassifierRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createClassifierRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates settings for a column statistics task. *

* * @param createColumnStatisticsTaskSettingsRequest * @return A Java Future containing the result of the CreateColumnStatisticsTaskSettings operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ColumnStatisticsTaskRunningException An exception thrown when you try to start another job while * running a column stats generation job.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateColumnStatisticsTaskSettings * @see AWS API Documentation */ @Override public CompletableFuture createColumnStatisticsTaskSettings( CreateColumnStatisticsTaskSettingsRequest createColumnStatisticsTaskSettingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createColumnStatisticsTaskSettingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createColumnStatisticsTaskSettingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateColumnStatisticsTaskSettings"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CreateColumnStatisticsTaskSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateColumnStatisticsTaskSettings").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateColumnStatisticsTaskSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createColumnStatisticsTaskSettingsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a connection definition in the Data Catalog. *

*

* Connections used for creating federated resources require the IAM glue:PassConnection permission. *

* * @param createConnectionRequest * @return A Java Future containing the result of the CreateConnection operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateConnection * @see AWS API * Documentation */ @Override public CompletableFuture createConnection(CreateConnectionRequest createConnectionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createConnectionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConnectionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConnection"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateConnectionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateConnection").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateConnectionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createConnectionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl * target must be specified, in the s3Targets field, the jdbcTargets field, or the * DynamoDBTargets field. *

* * @param createCrawlerRequest * @return A Java Future containing the result of the CreateCrawler operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateCrawler * @see AWS API * Documentation */ @Override public CompletableFuture createCrawler(CreateCrawlerRequest createCrawlerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCrawlerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCrawlerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCrawler"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateCrawlerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCrawler").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateCrawlerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createCrawlerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a custom pattern that is used to detect sensitive data across the columns and rows of your structured * data. *

*

* Each custom pattern you create specifies a regular expression and an optional list of context words. If no * context words are passed only a regular expression is checked. *

* * @param createCustomEntityTypeRequest * @return A Java Future containing the result of the CreateCustomEntityType operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateCustomEntityType * @see AWS * API Documentation */ @Override public CompletableFuture createCustomEntityType( CreateCustomEntityTypeRequest createCustomEntityTypeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCustomEntityTypeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCustomEntityTypeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCustomEntityType"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateCustomEntityTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCustomEntityType").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateCustomEntityTypeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createCustomEntityTypeRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a data quality ruleset with DQDL rules applied to a specified Glue table. *

*

* You create the ruleset using the Data Quality Definition Language (DQDL). For more information, see the Glue * developer guide. *

* * @param createDataQualityRulesetRequest * @return A Java Future containing the result of the CreateDataQualityRuleset operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateDataQualityRuleset * @see AWS * API Documentation */ @Override public CompletableFuture createDataQualityRuleset( CreateDataQualityRulesetRequest createDataQualityRulesetRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDataQualityRulesetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDataQualityRulesetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDataQualityRuleset"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateDataQualityRulesetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDataQualityRuleset").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDataQualityRulesetRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDataQualityRulesetRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new database in a Data Catalog. *

* * @param createDatabaseRequest * @return A Java Future containing the result of the CreateDatabase operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • FederatedResourceAlreadyExistsException A federated resource already exists.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateDatabase * @see AWS API * Documentation */ @Override public CompletableFuture createDatabase(CreateDatabaseRequest createDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDatabase"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDatabaseRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new development endpoint. *

* * @param createDevEndpointRequest * @return A Java Future containing the result of the CreateDevEndpoint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateDevEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture createDevEndpoint(CreateDevEndpointRequest createDevEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDevEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDevEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDevEndpoint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateDevEndpointResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDevEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDevEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDevEndpointRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a Zero-ETL integration in the caller's account between two resources with Amazon Resource Names (ARNs): * the SourceArn and TargetArn. *

* * @param createIntegrationRequest * @return A Java Future containing the result of the CreateIntegration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • IntegrationConflictOperationException The requested operation conflicts with another operation.
  • *
  • IntegrationQuotaExceededException The data processed through your integration exceeded your quota.
  • *
  • KmsKeyNotAccessibleException The KMS key specified is not accessible.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateIntegration * @see AWS API * Documentation */ @Override public CompletableFuture createIntegration(CreateIntegrationRequest createIntegrationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createIntegrationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createIntegrationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIntegration"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateIntegrationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateIntegration").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateIntegrationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createIntegrationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API can be used for setting up the ResourceProperty of the Glue connection (for the source) or * Glue database ARN (for the target). These properties can include the role to access the connection or database. * To set both source and target properties the same API needs to be invoked with the Glue connection ARN as * ResourceArn with SourceProcessingProperties and the Glue database ARN as * ResourceArn with TargetProcessingProperties respectively. *

* * @param createIntegrationResourcePropertyRequest * @return A Java Future containing the result of the CreateIntegrationResourceProperty operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateIntegrationResourceProperty * @see AWS API Documentation */ @Override public CompletableFuture createIntegrationResourceProperty( CreateIntegrationResourcePropertyRequest createIntegrationResourcePropertyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createIntegrationResourcePropertyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createIntegrationResourcePropertyRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIntegrationResourceProperty"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CreateIntegrationResourcePropertyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateIntegrationResourceProperty").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateIntegrationResourcePropertyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createIntegrationResourcePropertyRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API is used to provide optional override properties for the the tables that need to be replicated. These * properties can include properties for filtering and partitioning for the source and target tables. To set both * source and target properties the same API need to be invoked with the Glue connection ARN as * ResourceArn with SourceTableConfig, and the Glue database ARN as * ResourceArn with TargetTableConfig respectively. *

* * @param createIntegrationTablePropertiesRequest * @return A Java Future containing the result of the CreateIntegrationTableProperties operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateIntegrationTableProperties * @see AWS API Documentation */ @Override public CompletableFuture createIntegrationTableProperties( CreateIntegrationTablePropertiesRequest createIntegrationTablePropertiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createIntegrationTablePropertiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createIntegrationTablePropertiesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIntegrationTableProperties"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CreateIntegrationTablePropertiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateIntegrationTableProperties").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateIntegrationTablePropertiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createIntegrationTablePropertiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new job definition. *

* * @param createJobRequest * @return A Java Future containing the result of the CreateJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateJob * @see AWS API * Documentation */ @Override public CompletableFuture createJob(CreateJobRequest createJobRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createJobRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createJobRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateJob"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateJobResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("CreateJob") .withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateJobRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(createJobRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an Glue machine learning transform. This operation creates the transform and all the necessary parameters * to train it. *

*

* Call this operation as the first step in the process of using a machine learning transform (such as the * FindMatches transform) for deduplicating data. You can provide an optional Description, * in addition to the parameters that you want to use for your algorithm. *

*

* You must also specify certain parameters for the tasks that Glue runs on your behalf as part of learning from * your data and creating a high-quality machine learning transform. These parameters include Role, and * optionally, AllocatedCapacity, Timeout, and MaxRetries. For more * information, see Jobs. *

* * @param createMlTransformRequest * @return A Java Future containing the result of the CreateMLTransform operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateMLTransform * @see AWS API * Documentation */ @Override public CompletableFuture createMLTransform(CreateMlTransformRequest createMlTransformRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createMlTransformRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createMlTransformRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateMLTransform"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateMlTransformResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateMLTransform").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateMlTransformRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createMlTransformRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new partition. *

* * @param createPartitionRequest * @return A Java Future containing the result of the CreatePartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreatePartition * @see AWS API * Documentation */ @Override public CompletableFuture createPartition(CreatePartitionRequest createPartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreatePartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreatePartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createPartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a specified partition index in an existing table. *

* * @param createPartitionIndexRequest * @return A Java Future containing the result of the CreatePartitionIndex operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreatePartitionIndex * @see AWS API * Documentation */ @Override public CompletableFuture createPartitionIndex( CreatePartitionIndexRequest createPartitionIndexRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPartitionIndexRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPartitionIndexRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePartitionIndex"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreatePartitionIndexResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePartitionIndex").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreatePartitionIndexRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createPartitionIndexRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new registry which may be used to hold a collection of schemas. *

* * @param createRegistryRequest * @return A Java Future containing the result of the CreateRegistry operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateRegistry * @see AWS API * Documentation */ @Override public CompletableFuture createRegistry(CreateRegistryRequest createRegistryRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createRegistryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createRegistryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateRegistry"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateRegistryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateRegistry").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateRegistryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createRegistryRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists * without actually registering the version. *

*

* When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode * "DISABLED" restricts any additional schema versions from being added after the first schema version. For all * other compatibility modes, validation of compatibility settings will be applied only from the second version * onwards when the RegisterSchemaVersion API is used. *

*

* When this API is called without a RegistryId, this will create an entry for a "default-registry" in * the registry database tables, if it is not already present. *

* * @param createSchemaRequest * @return A Java Future containing the result of the CreateSchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateSchema * @see AWS API * Documentation */ @Override public CompletableFuture createSchema(CreateSchemaRequest createSchemaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createSchemaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createSchemaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSchema"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateSchemaResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateSchema").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateSchemaRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createSchemaRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Transforms a directed acyclic graph (DAG) into code. *

* * @param createScriptRequest * @return A Java Future containing the result of the CreateScript operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateScript * @see AWS API * Documentation */ @Override public CompletableFuture createScript(CreateScriptRequest createScriptRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createScriptRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createScriptRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateScript"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateScriptResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateScript").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateScriptRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createScriptRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new security configuration. A security configuration is a set of security properties that can be used * by Glue. You can use a security configuration to encrypt data at rest. For information about using security * configurations in Glue, see Encrypting Data Written * by Crawlers, Jobs, and Development Endpoints. *

* * @param createSecurityConfigurationRequest * @return A Java Future containing the result of the CreateSecurityConfiguration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateSecurityConfiguration * @see AWS API Documentation */ @Override public CompletableFuture createSecurityConfiguration( CreateSecurityConfigurationRequest createSecurityConfigurationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createSecurityConfigurationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createSecurityConfigurationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSecurityConfiguration"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateSecurityConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateSecurityConfiguration").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateSecurityConfigurationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createSecurityConfigurationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new session. *

* * @param createSessionRequest * Request to create a new session. * @return A Java Future containing the result of the CreateSession operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateSession * @see AWS API * Documentation */ @Override public CompletableFuture createSession(CreateSessionRequest createSessionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createSessionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createSessionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSession"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateSessionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateSession").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateSessionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createSessionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new table definition in the Data Catalog. *

* * @param createTableRequest * @return A Java Future containing the result of the CreateTable operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • ResourceNotReadyException A resource was not ready for a transaction.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateTable * @see AWS API * Documentation */ @Override public CompletableFuture createTable(CreateTableRequest createTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new table optimizer for a specific function. *

* * @param createTableOptimizerRequest * @return A Java Future containing the result of the CreateTableOptimizer operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ValidationException A value could not be validated.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ThrottlingException The throttling threshhold was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateTableOptimizer * @see AWS API * Documentation */ @Override public CompletableFuture createTableOptimizer( CreateTableOptimizerRequest createTableOptimizerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTableOptimizerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createTableOptimizerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTableOptimizer"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateTableOptimizerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateTableOptimizer").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateTableOptimizerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createTableOptimizerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new trigger. *

*

* Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, * Amazon Web Services Secrets Manager or other secret management mechanism if you intend to keep them within the * Job. *

* * @param createTriggerRequest * @return A Java Future containing the result of the CreateTrigger operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateTrigger * @see AWS API * Documentation */ @Override public CompletableFuture createTrigger(CreateTriggerRequest createTriggerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTriggerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createTriggerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTrigger"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateTriggerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateTrigger").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateTriggerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createTriggerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an Glue usage profile. *

* * @param createUsageProfileRequest * @return A Java Future containing the result of the CreateUsageProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • OperationNotSupportedException The operation is not available in the region.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateUsageProfile * @see AWS API * Documentation */ @Override public CompletableFuture createUsageProfile(CreateUsageProfileRequest createUsageProfileRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createUsageProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createUsageProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUsageProfile"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateUsageProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateUsageProfile").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateUsageProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createUsageProfileRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new function definition in the Data Catalog. *

* * @param createUserDefinedFunctionRequest * @return A Java Future containing the result of the CreateUserDefinedFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateUserDefinedFunction * @see AWS API Documentation */ @Override public CompletableFuture createUserDefinedFunction( CreateUserDefinedFunctionRequest createUserDefinedFunctionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createUserDefinedFunctionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createUserDefinedFunctionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUserDefinedFunction"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateUserDefinedFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateUserDefinedFunction").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateUserDefinedFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createUserDefinedFunctionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new workflow. *

* * @param createWorkflowRequest * @return A Java Future containing the result of the CreateWorkflow operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.CreateWorkflow * @see AWS API * Documentation */ @Override public CompletableFuture createWorkflow(CreateWorkflowRequest createWorkflowRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createWorkflowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createWorkflowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateWorkflow"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateWorkflowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateWorkflow").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateWorkflowRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createWorkflowRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an existing blueprint. *

* * @param deleteBlueprintRequest * @return A Java Future containing the result of the DeleteBlueprint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteBlueprint * @see AWS API * Documentation */ @Override public CompletableFuture deleteBlueprint(DeleteBlueprintRequest deleteBlueprintRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteBlueprintRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteBlueprintRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteBlueprint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteBlueprintResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteBlueprint").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteBlueprintRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteBlueprintRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified catalog from the Glue Data Catalog. *

*

* After completing this operation, you no longer have access to the databases, tables (and all table versions and * partitions that might belong to the tables) and the user-defined functions in the deleted catalog. Glue deletes * these "orphaned" resources asynchronously in a timely manner, at the discretion of the service. *

*

* To ensure the immediate deletion of all related resources before calling the DeleteCatalog * operation, use DeleteTableVersion (or BatchDeleteTableVersion), * DeletePartition (or BatchDeletePartition), DeleteTable (or * BatchDeleteTable), DeleteUserDefinedFunction and DeleteDatabase to delete * any resources that belong to the catalog. *

* * @param deleteCatalogRequest * @return A Java Future containing the result of the DeleteCatalog operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • FederationSourceException A federation source failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteCatalog * @see AWS API * Documentation */ @Override public CompletableFuture deleteCatalog(DeleteCatalogRequest deleteCatalogRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCatalogRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCatalogRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCatalog"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteCatalogResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCatalog").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteCatalogRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteCatalogRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a classifier from the Data Catalog. *

* * @param deleteClassifierRequest * @return A Java Future containing the result of the DeleteClassifier operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteClassifier * @see AWS API * Documentation */ @Override public CompletableFuture deleteClassifier(DeleteClassifierRequest deleteClassifierRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteClassifierRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteClassifierRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteClassifier"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteClassifierResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteClassifier").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteClassifierRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteClassifierRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Delete the partition column statistics of a column. *

*

* The Identity and Access Management (IAM) permission required for this operation is DeletePartition. *

* * @param deleteColumnStatisticsForPartitionRequest * @return A Java Future containing the result of the DeleteColumnStatisticsForPartition operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteColumnStatisticsForPartition * @see AWS API Documentation */ @Override public CompletableFuture deleteColumnStatisticsForPartition( DeleteColumnStatisticsForPartitionRequest deleteColumnStatisticsForPartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteColumnStatisticsForPartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteColumnStatisticsForPartitionRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteColumnStatisticsForPartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DeleteColumnStatisticsForPartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteColumnStatisticsForPartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteColumnStatisticsForPartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteColumnStatisticsForPartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves table statistics of columns. *

*

* The Identity and Access Management (IAM) permission required for this operation is DeleteTable. *

* * @param deleteColumnStatisticsForTableRequest * @return A Java Future containing the result of the DeleteColumnStatisticsForTable operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteColumnStatisticsForTable * @see AWS API Documentation */ @Override public CompletableFuture deleteColumnStatisticsForTable( DeleteColumnStatisticsForTableRequest deleteColumnStatisticsForTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteColumnStatisticsForTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteColumnStatisticsForTableRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteColumnStatisticsForTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteColumnStatisticsForTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteColumnStatisticsForTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteColumnStatisticsForTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteColumnStatisticsForTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes settings for a column statistics task. *

* * @param deleteColumnStatisticsTaskSettingsRequest * @return A Java Future containing the result of the DeleteColumnStatisticsTaskSettings operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteColumnStatisticsTaskSettings * @see AWS API Documentation */ @Override public CompletableFuture deleteColumnStatisticsTaskSettings( DeleteColumnStatisticsTaskSettingsRequest deleteColumnStatisticsTaskSettingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteColumnStatisticsTaskSettingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteColumnStatisticsTaskSettingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteColumnStatisticsTaskSettings"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DeleteColumnStatisticsTaskSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteColumnStatisticsTaskSettings").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteColumnStatisticsTaskSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteColumnStatisticsTaskSettingsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a connection from the Data Catalog. *

* * @param deleteConnectionRequest * @return A Java Future containing the result of the DeleteConnection operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteConnection * @see AWS API * Documentation */ @Override public CompletableFuture deleteConnection(DeleteConnectionRequest deleteConnectionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteConnectionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConnectionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConnection"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteConnectionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteConnection").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteConnectionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteConnectionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a specified crawler from the Glue Data Catalog, unless the crawler state is RUNNING. *

* * @param deleteCrawlerRequest * @return A Java Future containing the result of the DeleteCrawler operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • CrawlerRunningException The operation cannot be performed because the crawler is already running.
  • *
  • SchedulerTransitioningException The specified scheduler is transitioning.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteCrawler * @see AWS API * Documentation */ @Override public CompletableFuture deleteCrawler(DeleteCrawlerRequest deleteCrawlerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCrawlerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCrawlerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCrawler"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteCrawlerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCrawler").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteCrawlerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteCrawlerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a custom pattern by specifying its name. *

* * @param deleteCustomEntityTypeRequest * @return A Java Future containing the result of the DeleteCustomEntityType operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteCustomEntityType * @see AWS * API Documentation */ @Override public CompletableFuture deleteCustomEntityType( DeleteCustomEntityTypeRequest deleteCustomEntityTypeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCustomEntityTypeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCustomEntityTypeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCustomEntityType"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteCustomEntityTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCustomEntityType").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteCustomEntityTypeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteCustomEntityTypeRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a data quality ruleset. *

* * @param deleteDataQualityRulesetRequest * @return A Java Future containing the result of the DeleteDataQualityRuleset operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteDataQualityRuleset * @see AWS * API Documentation */ @Override public CompletableFuture deleteDataQualityRuleset( DeleteDataQualityRulesetRequest deleteDataQualityRulesetRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDataQualityRulesetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDataQualityRulesetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDataQualityRuleset"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteDataQualityRulesetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDataQualityRuleset").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDataQualityRulesetRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDataQualityRulesetRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a specified database from a Data Catalog. *

* *

* After completing this operation, you no longer have access to the tables (and all table versions and partitions * that might belong to the tables) and the user-defined functions in the deleted database. Glue deletes these * "orphaned" resources asynchronously in a timely manner, at the discretion of the service. *

*

* To ensure the immediate deletion of all related resources, before calling DeleteDatabase, use * DeleteTableVersion or BatchDeleteTableVersion, DeletePartition or * BatchDeletePartition, DeleteUserDefinedFunction, and DeleteTable or * BatchDeleteTable, to delete any resources that belong to the database. *

*
* * @param deleteDatabaseRequest * @return A Java Future containing the result of the DeleteDatabase operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteDatabase * @see AWS API * Documentation */ @Override public CompletableFuture deleteDatabase(DeleteDatabaseRequest deleteDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDatabase"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDatabaseRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified development endpoint. *

* * @param deleteDevEndpointRequest * @return A Java Future containing the result of the DeleteDevEndpoint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteDevEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture deleteDevEndpoint(DeleteDevEndpointRequest deleteDevEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDevEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDevEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDevEndpoint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteDevEndpointResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDevEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDevEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDevEndpointRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified Zero-ETL integration. *

* * @param deleteIntegrationRequest * @return A Java Future containing the result of the DeleteIntegration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • IntegrationConflictOperationException The requested operation conflicts with another operation.
  • *
  • InvalidIntegrationStateException The integration is in an invalid state.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • InvalidStateException An error that indicates your data is in an invalid state.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteIntegration * @see AWS API * Documentation */ @Override public CompletableFuture deleteIntegration(DeleteIntegrationRequest deleteIntegrationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteIntegrationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteIntegrationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteIntegration"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteIntegrationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteIntegration").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteIntegrationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteIntegrationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the table properties that have been created for the tables that need to be replicated. *

* * @param deleteIntegrationTablePropertiesRequest * @return A Java Future containing the result of the DeleteIntegrationTableProperties operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteIntegrationTableProperties * @see AWS API Documentation */ @Override public CompletableFuture deleteIntegrationTableProperties( DeleteIntegrationTablePropertiesRequest deleteIntegrationTablePropertiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteIntegrationTablePropertiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteIntegrationTablePropertiesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteIntegrationTableProperties"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DeleteIntegrationTablePropertiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteIntegrationTableProperties").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteIntegrationTablePropertiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteIntegrationTablePropertiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified job definition. If the job definition is not found, no exception is thrown. *

* * @param deleteJobRequest * @return A Java Future containing the result of the DeleteJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteJob * @see AWS API * Documentation */ @Override public CompletableFuture deleteJob(DeleteJobRequest deleteJobRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteJobRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteJobRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteJob"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteJobResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("DeleteJob") .withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteJobRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(deleteJobRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an Glue machine learning transform. Machine learning transforms are a special type of transform that use * machine learning to learn the details of the transformation to be performed by learning from examples provided by * humans. These transformations are then saved by Glue. If you no longer need a transform, you can delete it by * calling DeleteMLTransforms. However, any Glue jobs that still reference the deleted transform will * no longer succeed. *

* * @param deleteMlTransformRequest * @return A Java Future containing the result of the DeleteMLTransform operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteMLTransform * @see AWS API * Documentation */ @Override public CompletableFuture deleteMLTransform(DeleteMlTransformRequest deleteMlTransformRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteMlTransformRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteMlTransformRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteMLTransform"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteMlTransformResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteMLTransform").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteMlTransformRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteMlTransformRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified partition. *

* * @param deletePartitionRequest * @return A Java Future containing the result of the DeletePartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeletePartition * @see AWS API * Documentation */ @Override public CompletableFuture deletePartition(DeletePartitionRequest deletePartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeletePartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeletePartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeletePartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deletePartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified partition index from an existing table. *

* * @param deletePartitionIndexRequest * @return A Java Future containing the result of the DeletePartitionIndex operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeletePartitionIndex * @see AWS API * Documentation */ @Override public CompletableFuture deletePartitionIndex( DeletePartitionIndexRequest deletePartitionIndexRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePartitionIndexRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePartitionIndexRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePartitionIndex"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeletePartitionIndexResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeletePartitionIndex").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeletePartitionIndexRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deletePartitionIndexRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Delete the entire registry including schema and all of its versions. To get the status of the delete operation, * you can call the GetRegistry API after the asynchronous call. Deleting a registry will deactivate * all online operations for the registry such as the UpdateRegistry, CreateSchema, * UpdateSchema, and RegisterSchemaVersion APIs. *

* * @param deleteRegistryRequest * @return A Java Future containing the result of the DeleteRegistry operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteRegistry * @see AWS API * Documentation */ @Override public CompletableFuture deleteRegistry(DeleteRegistryRequest deleteRegistryRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteRegistryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteRegistryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteRegistry"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteRegistryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteRegistry").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteRegistryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteRegistryRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified policy. *

* * @param deleteResourcePolicyRequest * @return A Java Future containing the result of the DeleteResourcePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ConditionCheckFailureException A specified condition was not satisfied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteResourcePolicy * @see AWS API * Documentation */ @Override public CompletableFuture deleteResourcePolicy( DeleteResourcePolicyRequest deleteResourcePolicyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteResourcePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteResourcePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteResourcePolicy"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteResourcePolicy").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteResourcePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteResourcePolicyRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete * operation, you can call GetSchema API after the asynchronous call. Deleting a registry will * deactivate all online operations for the schema, such as the GetSchemaByDefinition, and * RegisterSchemaVersion APIs. *

* * @param deleteSchemaRequest * @return A Java Future containing the result of the DeleteSchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteSchema * @see AWS API * Documentation */ @Override public CompletableFuture deleteSchema(DeleteSchemaRequest deleteSchemaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSchemaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSchemaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSchema"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteSchemaResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSchema").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteSchemaRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteSchemaRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Remove versions from the specified schema. A version number or range may be supplied. If the compatibility mode * forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned. Calling the * GetSchemaVersions API after this call will list the status of the deleted versions. *

*

* When the range of version numbers contain check pointed version, the API will return a 409 conflict and will not * proceed with the deletion. You have to remove the checkpoint first using the DeleteSchemaCheckpoint * API before using this API. *

*

* You cannot use the DeleteSchemaVersions API to delete the first schema version in the schema set. * The first schema version can only be deleted by the DeleteSchema API. This operation will also * delete the attached SchemaVersionMetadata under the schema versions. Hard deletes will be enforced * on the database. *

*

* If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is * returned. *

* * @param deleteSchemaVersionsRequest * @return A Java Future containing the result of the DeleteSchemaVersions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteSchemaVersions * @see AWS API * Documentation */ @Override public CompletableFuture deleteSchemaVersions( DeleteSchemaVersionsRequest deleteSchemaVersionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSchemaVersionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSchemaVersionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSchemaVersions"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteSchemaVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSchemaVersions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteSchemaVersionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteSchemaVersionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified security configuration. *

* * @param deleteSecurityConfigurationRequest * @return A Java Future containing the result of the DeleteSecurityConfiguration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteSecurityConfiguration * @see AWS API Documentation */ @Override public CompletableFuture deleteSecurityConfiguration( DeleteSecurityConfigurationRequest deleteSecurityConfigurationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSecurityConfigurationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSecurityConfigurationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSecurityConfiguration"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteSecurityConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSecurityConfiguration").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteSecurityConfigurationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteSecurityConfigurationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the session. *

* * @param deleteSessionRequest * @return A Java Future containing the result of the DeleteSession operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • IllegalSessionStateException The session is in an invalid state to perform a requested operation.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteSession * @see AWS API * Documentation */ @Override public CompletableFuture deleteSession(DeleteSessionRequest deleteSessionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSessionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSessionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSession"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteSessionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSession").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteSessionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteSessionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a table definition from the Data Catalog. *

* *

* After completing this operation, you no longer have access to the table versions and partitions that belong to * the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion * of the service. *

*

* To ensure the immediate deletion of all related resources, before calling DeleteTable, use * DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or * BatchDeletePartition, to delete any resources that belong to the table. *

*
* * @param deleteTableRequest * @return A Java Future containing the result of the DeleteTable operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • ResourceNotReadyException A resource was not ready for a transaction.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteTable * @see AWS API * Documentation */ @Override public CompletableFuture deleteTable(DeleteTableRequest deleteTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an optimizer and all associated metadata for a table. The optimization will no longer be performed on the * table. *

* * @param deleteTableOptimizerRequest * @return A Java Future containing the result of the DeleteTableOptimizer operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ThrottlingException The throttling threshhold was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteTableOptimizer * @see AWS API * Documentation */ @Override public CompletableFuture deleteTableOptimizer( DeleteTableOptimizerRequest deleteTableOptimizerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTableOptimizerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTableOptimizerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTableOptimizer"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteTableOptimizerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteTableOptimizer").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteTableOptimizerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteTableOptimizerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified version of a table. *

* * @param deleteTableVersionRequest * @return A Java Future containing the result of the DeleteTableVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteTableVersion * @see AWS API * Documentation */ @Override public CompletableFuture deleteTableVersion(DeleteTableVersionRequest deleteTableVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTableVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTableVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTableVersion"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteTableVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteTableVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteTableVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteTableVersionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified trigger. If the trigger is not found, no exception is thrown. *

* * @param deleteTriggerRequest * @return A Java Future containing the result of the DeleteTrigger operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteTrigger * @see AWS API * Documentation */ @Override public CompletableFuture deleteTrigger(DeleteTriggerRequest deleteTriggerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTriggerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTriggerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTrigger"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteTriggerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteTrigger").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteTriggerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteTriggerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the Glue specified usage profile. *

* * @param deleteUsageProfileRequest * @return A Java Future containing the result of the DeleteUsageProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • OperationNotSupportedException The operation is not available in the region.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteUsageProfile * @see AWS API * Documentation */ @Override public CompletableFuture deleteUsageProfile(DeleteUsageProfileRequest deleteUsageProfileRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteUsageProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUsageProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUsageProfile"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteUsageProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteUsageProfile").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteUsageProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteUsageProfileRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an existing function definition from the Data Catalog. *

* * @param deleteUserDefinedFunctionRequest * @return A Java Future containing the result of the DeleteUserDefinedFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteUserDefinedFunction * @see AWS API Documentation */ @Override public CompletableFuture deleteUserDefinedFunction( DeleteUserDefinedFunctionRequest deleteUserDefinedFunctionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteUserDefinedFunctionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUserDefinedFunctionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUserDefinedFunction"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteUserDefinedFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteUserDefinedFunction").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteUserDefinedFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteUserDefinedFunctionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a workflow. *

* * @param deleteWorkflowRequest * @return A Java Future containing the result of the DeleteWorkflow operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DeleteWorkflow * @see AWS API * Documentation */ @Override public CompletableFuture deleteWorkflow(DeleteWorkflowRequest deleteWorkflowRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteWorkflowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteWorkflowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteWorkflow"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteWorkflowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteWorkflow").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteWorkflowRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteWorkflowRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* The DescribeConnectionType API provides full details of the supported options for a given connection * type in Glue. *

* * @param describeConnectionTypeRequest * @return A Java Future containing the result of the DescribeConnectionType operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DescribeConnectionType * @see AWS * API Documentation */ @Override public CompletableFuture describeConnectionType( DescribeConnectionTypeRequest describeConnectionTypeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeConnectionTypeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeConnectionTypeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeConnectionType"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeConnectionTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeConnectionType").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeConnectionTypeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeConnectionTypeRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Provides details regarding the entity used with the connection type, with a description of the data model for * each field in the selected entity. *

*

* The response includes all the fields which make up the entity. *

* * @param describeEntityRequest * @return A Java Future containing the result of the DescribeEntity operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ValidationException A value could not be validated.
  • *
  • FederationSourceException A federation source failed.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DescribeEntity * @see AWS API * Documentation */ @Override public CompletableFuture describeEntity(DescribeEntityRequest describeEntityRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEntityRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEntityRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEntity"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeEntityResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEntity").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeEntityRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeEntityRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of inbound integrations for the specified integration. *

* * @param describeInboundIntegrationsRequest * @return A Java Future containing the result of the DescribeInboundIntegrations operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • TargetResourceNotFoundException The target resource could not be found.
  • *
  • OperationNotSupportedException The operation is not available in the region.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DescribeInboundIntegrations * @see AWS API Documentation */ @Override public CompletableFuture describeInboundIntegrations( DescribeInboundIntegrationsRequest describeInboundIntegrationsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeInboundIntegrationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeInboundIntegrationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeInboundIntegrations"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeInboundIntegrationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeInboundIntegrations").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeInboundIntegrationsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeInboundIntegrationsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* The API is used to retrieve a list of integrations. *

* * @param describeIntegrationsRequest * @return A Java Future containing the result of the DescribeIntegrations operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.DescribeIntegrations * @see AWS API * Documentation */ @Override public CompletableFuture describeIntegrations( DescribeIntegrationsRequest describeIntegrationsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeIntegrationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeIntegrationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeIntegrations"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeIntegrationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeIntegrations").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeIntegrationsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeIntegrationsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the details of a blueprint. *

* * @param getBlueprintRequest * @return A Java Future containing the result of the GetBlueprint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetBlueprint * @see AWS API * Documentation */ @Override public CompletableFuture getBlueprint(GetBlueprintRequest getBlueprintRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getBlueprintRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getBlueprintRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetBlueprint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBlueprintResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetBlueprint").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetBlueprintRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getBlueprintRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the details of a blueprint run. *

* * @param getBlueprintRunRequest * @return A Java Future containing the result of the GetBlueprintRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetBlueprintRun * @see AWS API * Documentation */ @Override public CompletableFuture getBlueprintRun(GetBlueprintRunRequest getBlueprintRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getBlueprintRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getBlueprintRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetBlueprintRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetBlueprintRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetBlueprintRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetBlueprintRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getBlueprintRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the details of blueprint runs for a specified blueprint. *

* * @param getBlueprintRunsRequest * @return A Java Future containing the result of the GetBlueprintRuns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetBlueprintRuns * @see AWS API * Documentation */ @Override public CompletableFuture getBlueprintRuns(GetBlueprintRunsRequest getBlueprintRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getBlueprintRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getBlueprintRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetBlueprintRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetBlueprintRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetBlueprintRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetBlueprintRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getBlueprintRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* The name of the Catalog to retrieve. This should be all lowercase. *

* * @param getCatalogRequest * @return A Java Future containing the result of the GetCatalog operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCatalog * @see AWS API * Documentation */ @Override public CompletableFuture getCatalog(GetCatalogRequest getCatalogRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCatalogRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCatalogRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCatalog"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetCatalogResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetCatalog") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCatalogRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCatalogRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the status of a migration operation. *

* * @param getCatalogImportStatusRequest * @return A Java Future containing the result of the GetCatalogImportStatus operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCatalogImportStatus * @see AWS * API Documentation */ @Override public CompletableFuture getCatalogImportStatus( GetCatalogImportStatusRequest getCatalogImportStatusRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCatalogImportStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCatalogImportStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCatalogImportStatus"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetCatalogImportStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCatalogImportStatus").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCatalogImportStatusRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCatalogImportStatusRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves all catalogs defined in a catalog in the Glue Data Catalog. For a Redshift-federated catalog use case, * this operation returns the list of catalogs mapped to Redshift databases in the Redshift namespace catalog. *

* * @param getCatalogsRequest * @return A Java Future containing the result of the GetCatalogs operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCatalogs * @see AWS API * Documentation */ @Override public CompletableFuture getCatalogs(GetCatalogsRequest getCatalogsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCatalogsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCatalogsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCatalogs"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetCatalogsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCatalogs").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCatalogsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCatalogsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieve a classifier by name. *

* * @param getClassifierRequest * @return A Java Future containing the result of the GetClassifier operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetClassifier * @see AWS API * Documentation */ @Override public CompletableFuture getClassifier(GetClassifierRequest getClassifierRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getClassifierRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getClassifierRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetClassifier"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetClassifierResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetClassifier").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetClassifierRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getClassifierRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all classifier objects in the Data Catalog. *

* * @param getClassifiersRequest * @return A Java Future containing the result of the GetClassifiers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetClassifiers * @see AWS API * Documentation */ @Override public CompletableFuture getClassifiers(GetClassifiersRequest getClassifiersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getClassifiersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getClassifiersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetClassifiers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetClassifiersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetClassifiers").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetClassifiersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getClassifiersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves partition statistics of columns. *

*

* The Identity and Access Management (IAM) permission required for this operation is GetPartition. *

* * @param getColumnStatisticsForPartitionRequest * @return A Java Future containing the result of the GetColumnStatisticsForPartition operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetColumnStatisticsForPartition * @see AWS API Documentation */ @Override public CompletableFuture getColumnStatisticsForPartition( GetColumnStatisticsForPartitionRequest getColumnStatisticsForPartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getColumnStatisticsForPartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getColumnStatisticsForPartitionRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetColumnStatisticsForPartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetColumnStatisticsForPartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetColumnStatisticsForPartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetColumnStatisticsForPartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getColumnStatisticsForPartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves table statistics of columns. *

*

* The Identity and Access Management (IAM) permission required for this operation is GetTable. *

* * @param getColumnStatisticsForTableRequest * @return A Java Future containing the result of the GetColumnStatisticsForTable operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetColumnStatisticsForTable * @see AWS API Documentation */ @Override public CompletableFuture getColumnStatisticsForTable( GetColumnStatisticsForTableRequest getColumnStatisticsForTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getColumnStatisticsForTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getColumnStatisticsForTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetColumnStatisticsForTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetColumnStatisticsForTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetColumnStatisticsForTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetColumnStatisticsForTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getColumnStatisticsForTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Get the associated metadata/information for a task run, given a task run ID. *

* * @param getColumnStatisticsTaskRunRequest * @return A Java Future containing the result of the GetColumnStatisticsTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetColumnStatisticsTaskRun * @see AWS API Documentation */ @Override public CompletableFuture getColumnStatisticsTaskRun( GetColumnStatisticsTaskRunRequest getColumnStatisticsTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getColumnStatisticsTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getColumnStatisticsTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetColumnStatisticsTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetColumnStatisticsTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetColumnStatisticsTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetColumnStatisticsTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getColumnStatisticsTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about all runs associated with the specified table. *

* * @param getColumnStatisticsTaskRunsRequest * @return A Java Future containing the result of the GetColumnStatisticsTaskRuns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetColumnStatisticsTaskRuns * @see AWS API Documentation */ @Override public CompletableFuture getColumnStatisticsTaskRuns( GetColumnStatisticsTaskRunsRequest getColumnStatisticsTaskRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getColumnStatisticsTaskRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getColumnStatisticsTaskRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetColumnStatisticsTaskRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetColumnStatisticsTaskRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetColumnStatisticsTaskRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetColumnStatisticsTaskRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getColumnStatisticsTaskRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets settings for a column statistics task. *

* * @param getColumnStatisticsTaskSettingsRequest * @return A Java Future containing the result of the GetColumnStatisticsTaskSettings operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetColumnStatisticsTaskSettings * @see AWS API Documentation */ @Override public CompletableFuture getColumnStatisticsTaskSettings( GetColumnStatisticsTaskSettingsRequest getColumnStatisticsTaskSettingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getColumnStatisticsTaskSettingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getColumnStatisticsTaskSettingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetColumnStatisticsTaskSettings"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetColumnStatisticsTaskSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetColumnStatisticsTaskSettings").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetColumnStatisticsTaskSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getColumnStatisticsTaskSettingsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a connection definition from the Data Catalog. *

* * @param getConnectionRequest * @return A Java Future containing the result of the GetConnection operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetConnection * @see AWS API * Documentation */ @Override public CompletableFuture getConnection(GetConnectionRequest getConnectionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getConnectionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConnectionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConnection"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetConnectionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConnection").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetConnectionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getConnectionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of connection definitions from the Data Catalog. *

* * @param getConnectionsRequest * @return A Java Future containing the result of the GetConnections operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetConnections * @see AWS API * Documentation */ @Override public CompletableFuture getConnections(GetConnectionsRequest getConnectionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getConnectionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConnectionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConnections"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetConnectionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConnections").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetConnectionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getConnectionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves metadata for a specified crawler. *

* * @param getCrawlerRequest * @return A Java Future containing the result of the GetCrawler operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCrawler * @see AWS API * Documentation */ @Override public CompletableFuture getCrawler(GetCrawlerRequest getCrawlerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCrawlerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCrawlerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCrawler"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetCrawlerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetCrawler") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCrawlerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCrawlerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves metrics about specified crawlers. *

* * @param getCrawlerMetricsRequest * @return A Java Future containing the result of the GetCrawlerMetrics operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCrawlerMetrics * @see AWS API * Documentation */ @Override public CompletableFuture getCrawlerMetrics(GetCrawlerMetricsRequest getCrawlerMetricsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCrawlerMetricsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCrawlerMetricsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCrawlerMetrics"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetCrawlerMetricsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCrawlerMetrics").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCrawlerMetricsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCrawlerMetricsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves metadata for all crawlers defined in the customer account. *

* * @param getCrawlersRequest * @return A Java Future containing the result of the GetCrawlers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCrawlers * @see AWS API * Documentation */ @Override public CompletableFuture getCrawlers(GetCrawlersRequest getCrawlersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCrawlersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCrawlersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCrawlers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetCrawlersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCrawlers").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCrawlersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCrawlersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the details of a custom pattern by specifying its name. *

* * @param getCustomEntityTypeRequest * @return A Java Future containing the result of the GetCustomEntityType operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetCustomEntityType * @see AWS API * Documentation */ @Override public CompletableFuture getCustomEntityType( GetCustomEntityTypeRequest getCustomEntityTypeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCustomEntityTypeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCustomEntityTypeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCustomEntityType"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetCustomEntityTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCustomEntityType").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetCustomEntityTypeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getCustomEntityTypeRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the security configuration for a specified catalog. *

* * @param getDataCatalogEncryptionSettingsRequest * @return A Java Future containing the result of the GetDataCatalogEncryptionSettings operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataCatalogEncryptionSettings * @see AWS API Documentation */ @Override public CompletableFuture getDataCatalogEncryptionSettings( GetDataCatalogEncryptionSettingsRequest getDataCatalogEncryptionSettingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataCatalogEncryptionSettingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataCatalogEncryptionSettingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataCatalogEncryptionSettings"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetDataCatalogEncryptionSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataCatalogEncryptionSettings").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataCatalogEncryptionSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataCatalogEncryptionSettingsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieve the training status of the model along with more information (CompletedOn, StartedOn, FailureReason). *

* * @param getDataQualityModelRequest * @return A Java Future containing the result of the GetDataQualityModel operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataQualityModel * @see AWS API * Documentation */ @Override public CompletableFuture getDataQualityModel( GetDataQualityModelRequest getDataQualityModelRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataQualityModelRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataQualityModelRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataQualityModel"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDataQualityModelResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataQualityModel").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataQualityModelRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataQualityModelRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieve a statistic's predictions for a given Profile ID. *

* * @param getDataQualityModelResultRequest * @return A Java Future containing the result of the GetDataQualityModelResult operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataQualityModelResult * @see AWS API Documentation */ @Override public CompletableFuture getDataQualityModelResult( GetDataQualityModelResultRequest getDataQualityModelResultRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataQualityModelResultRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataQualityModelResultRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataQualityModelResult"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDataQualityModelResultResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataQualityModelResult").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataQualityModelResultRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataQualityModelResultRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the result of a data quality rule evaluation. *

* * @param getDataQualityResultRequest * @return A Java Future containing the result of the GetDataQualityResult operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataQualityResult * @see AWS API * Documentation */ @Override public CompletableFuture getDataQualityResult( GetDataQualityResultRequest getDataQualityResultRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataQualityResultRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataQualityResultRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataQualityResult"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDataQualityResultResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataQualityResult").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataQualityResultRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataQualityResultRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets the specified recommendation run that was used to generate rules. *

* * @param getDataQualityRuleRecommendationRunRequest * @return A Java Future containing the result of the GetDataQualityRuleRecommendationRun operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataQualityRuleRecommendationRun * @see AWS API Documentation */ @Override public CompletableFuture getDataQualityRuleRecommendationRun( GetDataQualityRuleRecommendationRunRequest getDataQualityRuleRecommendationRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataQualityRuleRecommendationRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataQualityRuleRecommendationRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataQualityRuleRecommendationRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetDataQualityRuleRecommendationRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataQualityRuleRecommendationRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataQualityRuleRecommendationRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataQualityRuleRecommendationRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns an existing ruleset by identifier or name. *

* * @param getDataQualityRulesetRequest * @return A Java Future containing the result of the GetDataQualityRuleset operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataQualityRuleset * @see AWS * API Documentation */ @Override public CompletableFuture getDataQualityRuleset( GetDataQualityRulesetRequest getDataQualityRulesetRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataQualityRulesetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataQualityRulesetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataQualityRuleset"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDataQualityRulesetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataQualityRuleset").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataQualityRulesetRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataQualityRulesetRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a specific run where a ruleset is evaluated against a data source. *

* * @param getDataQualityRulesetEvaluationRunRequest * @return A Java Future containing the result of the GetDataQualityRulesetEvaluationRun operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataQualityRulesetEvaluationRun * @see AWS API Documentation */ @Override public CompletableFuture getDataQualityRulesetEvaluationRun( GetDataQualityRulesetEvaluationRunRequest getDataQualityRulesetEvaluationRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataQualityRulesetEvaluationRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataQualityRulesetEvaluationRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataQualityRulesetEvaluationRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetDataQualityRulesetEvaluationRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataQualityRulesetEvaluationRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataQualityRulesetEvaluationRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataQualityRulesetEvaluationRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the definition of a specified database. *

* * @param getDatabaseRequest * @return A Java Future containing the result of the GetDatabase operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDatabase * @see AWS API * Documentation */ @Override public CompletableFuture getDatabase(GetDatabaseRequest getDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDatabase"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDatabaseRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves all databases defined in a given Data Catalog. *

* * @param getDatabasesRequest * @return A Java Future containing the result of the GetDatabases operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDatabases * @see AWS API * Documentation */ @Override public CompletableFuture getDatabases(GetDatabasesRequest getDatabasesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDatabasesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDatabasesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDatabases"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetDatabasesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDatabases").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDatabasesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDatabasesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Transforms a Python script into a directed acyclic graph (DAG). *

* * @param getDataflowGraphRequest * @return A Java Future containing the result of the GetDataflowGraph operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDataflowGraph * @see AWS API * Documentation */ @Override public CompletableFuture getDataflowGraph(GetDataflowGraphRequest getDataflowGraphRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDataflowGraphRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDataflowGraphRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDataflowGraph"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDataflowGraphResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDataflowGraph").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDataflowGraphRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDataflowGraphRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about a specified development endpoint. *

* *

* When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address, * and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns * only a public IP address. *

*
* * @param getDevEndpointRequest * @return A Java Future containing the result of the GetDevEndpoint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDevEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture getDevEndpoint(GetDevEndpointRequest getDevEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDevEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDevEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDevEndpoint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDevEndpointResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDevEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDevEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDevEndpointRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves all the development endpoints in this Amazon Web Services account. *

* *

* When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address * and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns * only a public IP address. *

*
* * @param getDevEndpointsRequest * @return A Java Future containing the result of the GetDevEndpoints operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetDevEndpoints * @see AWS API * Documentation */ @Override public CompletableFuture getDevEndpoints(GetDevEndpointsRequest getDevEndpointsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getDevEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDevEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDevEndpoints"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetDevEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetDevEndpoints").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetDevEndpointsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getDevEndpointsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API is used to query preview data from a given connection type or from a native Amazon S3 based Glue Data * Catalog. *

*

* Returns records as an array of JSON blobs. Each record is formatted using Jackson JsonNode based on the field * type defined by the DescribeEntity API. *

*

* Spark connectors generate schemas according to the same data type mapping as in the DescribeEntity * API. Spark connectors convert data to the appropriate data types matching the schema when returning rows. *

* * @param getEntityRecordsRequest * @return A Java Future containing the result of the GetEntityRecords operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ValidationException A value could not be validated.
  • *
  • FederationSourceException A federation source failed.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetEntityRecords * @see AWS API * Documentation */ @Override public CompletableFuture getEntityRecords(GetEntityRecordsRequest getEntityRecordsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getEntityRecordsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getEntityRecordsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetEntityRecords"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetEntityRecordsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetEntityRecords").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetEntityRecordsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getEntityRecordsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API is used for fetching the ResourceProperty of the Glue connection (for the source) or Glue * database ARN (for the target) *

* * @param getIntegrationResourcePropertyRequest * @return A Java Future containing the result of the GetIntegrationResourceProperty operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetIntegrationResourceProperty * @see AWS API Documentation */ @Override public CompletableFuture getIntegrationResourceProperty( GetIntegrationResourcePropertyRequest getIntegrationResourcePropertyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getIntegrationResourcePropertyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getIntegrationResourcePropertyRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetIntegrationResourceProperty"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetIntegrationResourcePropertyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetIntegrationResourceProperty").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetIntegrationResourcePropertyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getIntegrationResourcePropertyRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API is used to retrieve optional override properties for the tables that need to be replicated. These * properties can include properties for filtering and partition for source and target tables. *

* * @param getIntegrationTablePropertiesRequest * @return A Java Future containing the result of the GetIntegrationTableProperties operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetIntegrationTableProperties * @see AWS API Documentation */ @Override public CompletableFuture getIntegrationTableProperties( GetIntegrationTablePropertiesRequest getIntegrationTablePropertiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getIntegrationTablePropertiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getIntegrationTablePropertiesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetIntegrationTableProperties"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetIntegrationTablePropertiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetIntegrationTableProperties").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetIntegrationTablePropertiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getIntegrationTablePropertiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves an existing job definition. *

* * @param getJobRequest * @return A Java Future containing the result of the GetJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetJob * @see AWS API * Documentation */ @Override public CompletableFuture getJob(GetJobRequest getJobRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getJobRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getJobRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetJob"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetJobResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetJob") .withProtocolMetadata(protocolMetadata).withMarshaller(new GetJobRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getJobRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information on a job bookmark entry. *

*

* For more information about enabling and using job bookmarks, see: *

* * * @param getJobBookmarkRequest * @return A Java Future containing the result of the GetJobBookmark operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ValidationException A value could not be validated.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetJobBookmark * @see AWS API * Documentation */ @Override public CompletableFuture getJobBookmark(GetJobBookmarkRequest getJobBookmarkRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getJobBookmarkRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getJobBookmarkRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetJobBookmark"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetJobBookmarkResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetJobBookmark").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetJobBookmarkRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getJobBookmarkRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the metadata for a given job run. Job run history is accessible for 365 days for your workflow and job * run. *

* * @param getJobRunRequest * @return A Java Future containing the result of the GetJobRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetJobRun * @see AWS API * Documentation */ @Override public CompletableFuture getJobRun(GetJobRunRequest getJobRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getJobRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getJobRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetJobRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetJobRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetJobRun") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetJobRunRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(getJobRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves metadata for all runs of a given job definition. *

*

* GetJobRuns returns the job runs in chronological order, with the newest jobs returned first. *

* * @param getJobRunsRequest * @return A Java Future containing the result of the GetJobRuns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetJobRuns * @see AWS API * Documentation */ @Override public CompletableFuture getJobRuns(GetJobRunsRequest getJobRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getJobRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getJobRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetJobRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetJobRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetJobRuns") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetJobRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getJobRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves all current job definitions. *

* * @param getJobsRequest * @return A Java Future containing the result of the GetJobs operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetJobs * @see AWS API * Documentation */ @Override public CompletableFuture getJobs(GetJobsRequest getJobsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getJobsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getJobsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetJobs"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetJobsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetJobs") .withProtocolMetadata(protocolMetadata).withMarshaller(new GetJobsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getJobsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous * tasks that Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any * task run by calling GetMLTaskRun with the TaskRunID and its parent transform's * TransformID. *

* * @param getMlTaskRunRequest * @return A Java Future containing the result of the GetMLTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetMLTaskRun * @see AWS API * Documentation */ @Override public CompletableFuture getMLTaskRun(GetMlTaskRunRequest getMlTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMlTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMlTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMLTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetMlTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetMLTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetMlTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getMlTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets a list of runs for a machine learning transform. Machine learning task runs are asynchronous tasks that Glue * runs on your behalf as part of various machine learning workflows. You can get a sortable, filterable list of * machine learning task runs by calling GetMLTaskRuns with their parent transform's * TransformID and other optional parameters as documented in this section. *

*

* This operation returns a list of historic runs and must be paginated. *

* * @param getMlTaskRunsRequest * @return A Java Future containing the result of the GetMLTaskRuns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetMLTaskRuns * @see AWS API * Documentation */ @Override public CompletableFuture getMLTaskRuns(GetMlTaskRunsRequest getMlTaskRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMlTaskRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMlTaskRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMLTaskRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetMlTaskRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetMLTaskRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetMlTaskRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getMlTaskRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets an Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms * are a special type of transform that use machine learning to learn the details of the transformation to be * performed by learning from examples provided by humans. These transformations are then saved by Glue. You can * retrieve their metadata by calling GetMLTransform. *

* * @param getMlTransformRequest * @return A Java Future containing the result of the GetMLTransform operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetMLTransform * @see AWS API * Documentation */ @Override public CompletableFuture getMLTransform(GetMlTransformRequest getMlTransformRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMlTransformRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMlTransformRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMLTransform"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetMlTransformResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetMLTransform").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetMlTransformRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getMlTransformRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets a sortable, filterable list of existing Glue machine learning transforms. Machine learning transforms are a * special type of transform that use machine learning to learn the details of the transformation to be performed by * learning from examples provided by humans. These transformations are then saved by Glue, and you can retrieve * their metadata by calling GetMLTransforms. *

* * @param getMlTransformsRequest * @return A Java Future containing the result of the GetMLTransforms operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetMLTransforms * @see AWS API * Documentation */ @Override public CompletableFuture getMLTransforms(GetMlTransformsRequest getMlTransformsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMlTransformsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMlTransformsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMLTransforms"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetMlTransformsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetMLTransforms").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetMlTransformsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getMlTransformsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates mappings. *

* * @param getMappingRequest * @return A Java Future containing the result of the GetMapping operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetMapping * @see AWS API * Documentation */ @Override public CompletableFuture getMapping(GetMappingRequest getMappingRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMappingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMappingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMapping"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetMappingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetMapping") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetMappingRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getMappingRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about a specified partition. *

* * @param getPartitionRequest * @return A Java Future containing the result of the GetPartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetPartition * @see AWS API * Documentation */ @Override public CompletableFuture getPartition(GetPartitionRequest getPartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getPartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getPartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetPartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetPartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetPartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetPartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getPartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the partition indexes associated with a table. *

* * @param getPartitionIndexesRequest * @return A Java Future containing the result of the GetPartitionIndexes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetPartitionIndexes * @see AWS API * Documentation */ @Override public CompletableFuture getPartitionIndexes( GetPartitionIndexesRequest getPartitionIndexesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getPartitionIndexesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getPartitionIndexesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetPartitionIndexes"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetPartitionIndexesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetPartitionIndexes").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetPartitionIndexesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getPartitionIndexesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the partitions in a table. *

* * @param getPartitionsRequest * @return A Java Future containing the result of the GetPartitions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • InvalidStateException An error that indicates your data is in an invalid state.
  • *
  • ResourceNotReadyException A resource was not ready for a transaction.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetPartitions * @see AWS API * Documentation */ @Override public CompletableFuture getPartitions(GetPartitionsRequest getPartitionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getPartitionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getPartitionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetPartitions"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetPartitionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetPartitions").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetPartitionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getPartitionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets code to perform a specified mapping. *

* * @param getPlanRequest * @return A Java Future containing the result of the GetPlan operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetPlan * @see AWS API * Documentation */ @Override public CompletableFuture getPlan(GetPlanRequest getPlanRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getPlanRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getPlanRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetPlan"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetPlanResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetPlan") .withProtocolMetadata(protocolMetadata).withMarshaller(new GetPlanRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getPlanRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the specified registry in detail. *

* * @param getRegistryRequest * @return A Java Future containing the result of the GetRegistry operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetRegistry * @see AWS API * Documentation */ @Override public CompletableFuture getRegistry(GetRegistryRequest getRegistryRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getRegistryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getRegistryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetRegistry"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetRegistryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetRegistry").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetRegistryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getRegistryRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the resource policies set on individual resources by Resource Access Manager during cross-account * permission grants. Also retrieves the Data Catalog resource policy. *

*

* If you enabled metadata encryption in Data Catalog settings, and you do not have permission on the KMS key, the * operation can't return the Data Catalog resource policy. *

* * @param getResourcePoliciesRequest * @return A Java Future containing the result of the GetResourcePolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetResourcePolicies * @see AWS API * Documentation */ @Override public CompletableFuture getResourcePolicies( GetResourcePoliciesRequest getResourcePoliciesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getResourcePoliciesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getResourcePoliciesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetResourcePolicies"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetResourcePoliciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetResourcePolicies").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetResourcePoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getResourcePoliciesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a specified resource policy. *

* * @param getResourcePolicyRequest * @return A Java Future containing the result of the GetResourcePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetResourcePolicy * @see AWS API * Documentation */ @Override public CompletableFuture getResourcePolicy(GetResourcePolicyRequest getResourcePolicyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getResourcePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getResourcePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetResourcePolicy"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetResourcePolicy").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetResourcePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getResourcePolicyRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the specified schema in detail. *

* * @param getSchemaRequest * @return A Java Future containing the result of the GetSchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSchema * @see AWS API * Documentation */ @Override public CompletableFuture getSchema(GetSchemaRequest getSchemaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSchemaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSchemaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSchema"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetSchemaResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetSchema") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSchemaRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(getSchemaRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a schema by the SchemaDefinition. The schema definition is sent to the Schema Registry, * canonicalized, and hashed. If the hash is matched within the scope of the SchemaName or ARN (or the * default registry, if none is supplied), that schema’s metadata is returned. Otherwise, a 404 or NotFound error is * returned. Schema versions in Deleted statuses will not be included in the results. *

* * @param getSchemaByDefinitionRequest * @return A Java Future containing the result of the GetSchemaByDefinition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSchemaByDefinition * @see AWS * API Documentation */ @Override public CompletableFuture getSchemaByDefinition( GetSchemaByDefinitionRequest getSchemaByDefinitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSchemaByDefinitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSchemaByDefinitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSchemaByDefinition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSchemaByDefinitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSchemaByDefinition").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSchemaByDefinitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getSchemaByDefinitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Get the specified schema by its unique ID assigned when a version of the schema is created or registered. Schema * versions in Deleted status will not be included in the results. *

* * @param getSchemaVersionRequest * @return A Java Future containing the result of the GetSchemaVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSchemaVersion * @see AWS API * Documentation */ @Override public CompletableFuture getSchemaVersion(GetSchemaVersionRequest getSchemaVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSchemaVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSchemaVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSchemaVersion"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSchemaVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSchemaVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSchemaVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getSchemaVersionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Fetches the schema version difference in the specified difference type between two stored schema versions in the * Schema Registry. *

*

* This API allows you to compare two schema versions between two schema definitions under the same schema. *

* * @param getSchemaVersionsDiffRequest * @return A Java Future containing the result of the GetSchemaVersionsDiff operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSchemaVersionsDiff * @see AWS * API Documentation */ @Override public CompletableFuture getSchemaVersionsDiff( GetSchemaVersionsDiffRequest getSchemaVersionsDiffRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSchemaVersionsDiffRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSchemaVersionsDiffRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSchemaVersionsDiff"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSchemaVersionsDiffResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSchemaVersionsDiff").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSchemaVersionsDiffRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getSchemaVersionsDiffRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a specified security configuration. *

* * @param getSecurityConfigurationRequest * @return A Java Future containing the result of the GetSecurityConfiguration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSecurityConfiguration * @see AWS * API Documentation */ @Override public CompletableFuture getSecurityConfiguration( GetSecurityConfigurationRequest getSecurityConfigurationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSecurityConfigurationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSecurityConfigurationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSecurityConfiguration"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSecurityConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSecurityConfiguration").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSecurityConfigurationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getSecurityConfigurationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of all security configurations. *

* * @param getSecurityConfigurationsRequest * @return A Java Future containing the result of the GetSecurityConfigurations operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSecurityConfigurations * @see AWS API Documentation */ @Override public CompletableFuture getSecurityConfigurations( GetSecurityConfigurationsRequest getSecurityConfigurationsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSecurityConfigurationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSecurityConfigurationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSecurityConfigurations"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSecurityConfigurationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSecurityConfigurations").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSecurityConfigurationsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getSecurityConfigurationsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the session. *

* * @param getSessionRequest * @return A Java Future containing the result of the GetSession operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetSession * @see AWS API * Documentation */ @Override public CompletableFuture getSession(GetSessionRequest getSessionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSessionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSessionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSession"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetSessionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetSession") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetSessionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getSessionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the statement. *

* * @param getStatementRequest * @return A Java Future containing the result of the GetStatement operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • IllegalSessionStateException The session is in an invalid state to perform a requested operation.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetStatement * @see AWS API * Documentation */ @Override public CompletableFuture getStatement(GetStatementRequest getStatementRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getStatementRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getStatementRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetStatement"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetStatementResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetStatement").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetStatementRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getStatementRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the Table definition in a Data Catalog for a specified table. *

* * @param getTableRequest * @return A Java Future containing the result of the GetTable operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ResourceNotReadyException A resource was not ready for a transaction.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTable * @see AWS API * Documentation */ @Override public CompletableFuture getTable(GetTableRequest getTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetTable") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTableRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(getTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the configuration of all optimizers associated with a specified table. *

* * @param getTableOptimizerRequest * @return A Java Future containing the result of the GetTableOptimizer operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ThrottlingException The throttling threshhold was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTableOptimizer * @see AWS API * Documentation */ @Override public CompletableFuture getTableOptimizer(GetTableOptimizerRequest getTableOptimizerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTableOptimizerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTableOptimizerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTableOptimizer"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetTableOptimizerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetTableOptimizer").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTableOptimizerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getTableOptimizerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a specified version of a table. *

* * @param getTableVersionRequest * @return A Java Future containing the result of the GetTableVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTableVersion * @see AWS API * Documentation */ @Override public CompletableFuture getTableVersion(GetTableVersionRequest getTableVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTableVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTableVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTableVersion"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetTableVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetTableVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTableVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getTableVersionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of strings that identify available versions of a specified table. *

* * @param getTableVersionsRequest * @return A Java Future containing the result of the GetTableVersions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTableVersions * @see AWS API * Documentation */ @Override public CompletableFuture getTableVersions(GetTableVersionsRequest getTableVersionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTableVersionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTableVersionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTableVersions"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetTableVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetTableVersions").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTableVersionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getTableVersionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the definitions of some or all of the tables in a given Database. *

* * @param getTablesRequest * @return A Java Future containing the result of the GetTables operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTables * @see AWS API * Documentation */ @Override public CompletableFuture getTables(GetTablesRequest getTablesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTablesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTablesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTables"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetTablesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetTables") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTablesRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(getTablesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of tags associated with a resource. *

* * @param getTagsRequest * @return A Java Future containing the result of the GetTags operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTags * @see AWS API * Documentation */ @Override public CompletableFuture getTags(GetTagsRequest getTagsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTagsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTagsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTags"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetTagsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetTags") .withProtocolMetadata(protocolMetadata).withMarshaller(new GetTagsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getTagsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the definition of a trigger. *

* * @param getTriggerRequest * @return A Java Future containing the result of the GetTrigger operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTrigger * @see AWS API * Documentation */ @Override public CompletableFuture getTrigger(GetTriggerRequest getTriggerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTriggerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTriggerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTrigger"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetTriggerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetTrigger") .withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTriggerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getTriggerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets all the triggers associated with a job. *

* * @param getTriggersRequest * @return A Java Future containing the result of the GetTriggers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetTriggers * @see AWS API * Documentation */ @Override public CompletableFuture getTriggers(GetTriggersRequest getTriggersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTriggersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTriggersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTriggers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetTriggersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetTriggers").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetTriggersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getTriggersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves partition metadata from the Data Catalog that contains unfiltered metadata. *

*

* For IAM authorization, the public IAM action associated with this API is glue:GetPartition. *

* * @param getUnfilteredPartitionMetadataRequest * @return A Java Future containing the result of the GetUnfilteredPartitionMetadata operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • PermissionTypeMismatchException The operation timed out.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetUnfilteredPartitionMetadata * @see AWS API Documentation */ @Override public CompletableFuture getUnfilteredPartitionMetadata( GetUnfilteredPartitionMetadataRequest getUnfilteredPartitionMetadataRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getUnfilteredPartitionMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getUnfilteredPartitionMetadataRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetUnfilteredPartitionMetadata"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetUnfilteredPartitionMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUnfilteredPartitionMetadata").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetUnfilteredPartitionMetadataRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getUnfilteredPartitionMetadataRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves partition metadata from the Data Catalog that contains unfiltered metadata. *

*

* For IAM authorization, the public IAM action associated with this API is glue:GetPartitions. *

* * @param getUnfilteredPartitionsMetadataRequest * @return A Java Future containing the result of the GetUnfilteredPartitionsMetadata operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • PermissionTypeMismatchException The operation timed out.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetUnfilteredPartitionsMetadata * @see AWS API Documentation */ @Override public CompletableFuture getUnfilteredPartitionsMetadata( GetUnfilteredPartitionsMetadataRequest getUnfilteredPartitionsMetadataRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getUnfilteredPartitionsMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getUnfilteredPartitionsMetadataRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetUnfilteredPartitionsMetadata"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetUnfilteredPartitionsMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUnfilteredPartitionsMetadata").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetUnfilteredPartitionsMetadataRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getUnfilteredPartitionsMetadataRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog. *

*

* For IAM authorization, the public IAM action associated with this API is glue:GetTable. *

* * @param getUnfilteredTableMetadataRequest * @return A Java Future containing the result of the GetUnfilteredTableMetadata operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • PermissionTypeMismatchException The operation timed out.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetUnfilteredTableMetadata * @see AWS API Documentation */ @Override public CompletableFuture getUnfilteredTableMetadata( GetUnfilteredTableMetadataRequest getUnfilteredTableMetadataRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getUnfilteredTableMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getUnfilteredTableMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetUnfilteredTableMetadata"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetUnfilteredTableMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUnfilteredTableMetadata").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetUnfilteredTableMetadataRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getUnfilteredTableMetadataRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified Glue usage profile. *

* * @param getUsageProfileRequest * @return A Java Future containing the result of the GetUsageProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • OperationNotSupportedException The operation is not available in the region.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetUsageProfile * @see AWS API * Documentation */ @Override public CompletableFuture getUsageProfile(GetUsageProfileRequest getUsageProfileRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getUsageProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getUsageProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetUsageProfile"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetUsageProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUsageProfile").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetUsageProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getUsageProfileRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a specified function definition from the Data Catalog. *

* * @param getUserDefinedFunctionRequest * @return A Java Future containing the result of the GetUserDefinedFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetUserDefinedFunction * @see AWS * API Documentation */ @Override public CompletableFuture getUserDefinedFunction( GetUserDefinedFunctionRequest getUserDefinedFunctionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getUserDefinedFunctionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getUserDefinedFunctionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetUserDefinedFunction"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetUserDefinedFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUserDefinedFunction").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetUserDefinedFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getUserDefinedFunctionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves multiple function definitions from the Data Catalog. *

* * @param getUserDefinedFunctionsRequest * @return A Java Future containing the result of the GetUserDefinedFunctions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetUserDefinedFunctions * @see AWS * API Documentation */ @Override public CompletableFuture getUserDefinedFunctions( GetUserDefinedFunctionsRequest getUserDefinedFunctionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getUserDefinedFunctionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getUserDefinedFunctionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetUserDefinedFunctions"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetUserDefinedFunctionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUserDefinedFunctions").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetUserDefinedFunctionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getUserDefinedFunctionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves resource metadata for a workflow. *

* * @param getWorkflowRequest * @return A Java Future containing the result of the GetWorkflow operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetWorkflow * @see AWS API * Documentation */ @Override public CompletableFuture getWorkflow(GetWorkflowRequest getWorkflowRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getWorkflowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getWorkflowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetWorkflow"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetWorkflowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetWorkflow").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetWorkflowRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getWorkflowRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the metadata for a given workflow run. Job run history is accessible for 90 days for your workflow and * job run. *

* * @param getWorkflowRunRequest * @return A Java Future containing the result of the GetWorkflowRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetWorkflowRun * @see AWS API * Documentation */ @Override public CompletableFuture getWorkflowRun(GetWorkflowRunRequest getWorkflowRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getWorkflowRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getWorkflowRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetWorkflowRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetWorkflowRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetWorkflowRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetWorkflowRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getWorkflowRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the workflow run properties which were set during the run. *

* * @param getWorkflowRunPropertiesRequest * @return A Java Future containing the result of the GetWorkflowRunProperties operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetWorkflowRunProperties * @see AWS * API Documentation */ @Override public CompletableFuture getWorkflowRunProperties( GetWorkflowRunPropertiesRequest getWorkflowRunPropertiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getWorkflowRunPropertiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getWorkflowRunPropertiesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetWorkflowRunProperties"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetWorkflowRunPropertiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetWorkflowRunProperties").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetWorkflowRunPropertiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getWorkflowRunPropertiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves metadata for all runs of a given workflow. *

* * @param getWorkflowRunsRequest * @return A Java Future containing the result of the GetWorkflowRuns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.GetWorkflowRuns * @see AWS API * Documentation */ @Override public CompletableFuture getWorkflowRuns(GetWorkflowRunsRequest getWorkflowRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getWorkflowRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getWorkflowRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetWorkflowRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetWorkflowRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetWorkflowRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new GetWorkflowRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(getWorkflowRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Imports an existing Amazon Athena Data Catalog to Glue. *

* * @param importCatalogToGlueRequest * @return A Java Future containing the result of the ImportCatalogToGlue operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ImportCatalogToGlue * @see AWS API * Documentation */ @Override public CompletableFuture importCatalogToGlue( ImportCatalogToGlueRequest importCatalogToGlueRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(importCatalogToGlueRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, importCatalogToGlueRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ImportCatalogToGlue"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ImportCatalogToGlueResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ImportCatalogToGlue").withProtocolMetadata(protocolMetadata) .withMarshaller(new ImportCatalogToGlueRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(importCatalogToGlueRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all the blueprint names in an account. *

* * @param listBlueprintsRequest * @return A Java Future containing the result of the ListBlueprints operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListBlueprints * @see AWS API * Documentation */ @Override public CompletableFuture listBlueprints(ListBlueprintsRequest listBlueprintsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listBlueprintsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listBlueprintsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListBlueprints"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListBlueprintsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListBlueprints").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListBlueprintsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listBlueprintsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* List all task runs for a particular account. *

* * @param listColumnStatisticsTaskRunsRequest * @return A Java Future containing the result of the ListColumnStatisticsTaskRuns operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListColumnStatisticsTaskRuns * @see AWS API Documentation */ @Override public CompletableFuture listColumnStatisticsTaskRuns( ListColumnStatisticsTaskRunsRequest listColumnStatisticsTaskRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listColumnStatisticsTaskRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listColumnStatisticsTaskRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListColumnStatisticsTaskRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListColumnStatisticsTaskRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListColumnStatisticsTaskRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListColumnStatisticsTaskRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listColumnStatisticsTaskRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* The ListConnectionTypes API provides a discovery mechanism to learn available connection types in * Glue. The response contains a list of connection types with high-level details of what is supported for each * connection type. The connection types listed are the set of supported options for the ConnectionType * value in the CreateConnection API. *

* * @param listConnectionTypesRequest * @return A Java Future containing the result of the ListConnectionTypes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListConnectionTypes * @see AWS API * Documentation */ @Override public CompletableFuture listConnectionTypes( ListConnectionTypesRequest listConnectionTypesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listConnectionTypesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listConnectionTypesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListConnectionTypes"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListConnectionTypesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListConnectionTypes").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListConnectionTypesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listConnectionTypesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the names of all crawler resources in this Amazon Web Services account, or the resources with the * specified tag. This operation allows you to see which resources are available in your account, and their names. *

*

* This operation takes the optional Tags field, which you can use as a filter on the response so that * tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag * are retrieved. *

* * @param listCrawlersRequest * @return A Java Future containing the result of the ListCrawlers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListCrawlers * @see AWS API * Documentation */ @Override public CompletableFuture listCrawlers(ListCrawlersRequest listCrawlersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCrawlersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCrawlersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCrawlers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListCrawlersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCrawlers").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListCrawlersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listCrawlersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns all the crawls of a specified crawler. Returns only the crawls that have occurred since the launch date * of the crawler history feature, and only retains up to 12 months of crawls. Older crawls will not be returned. *

*

* You may use this API to: *

*
    *
  • *

    * Retrive all the crawls of a specified crawler. *

    *
  • *
  • *

    * Retrieve all the crawls of a specified crawler within a limited count. *

    *
  • *
  • *

    * Retrieve all the crawls of a specified crawler in a specific time range. *

    *
  • *
  • *

    * Retrieve all the crawls of a specified crawler with a particular state, crawl ID, or DPU hour value. *

    *
  • *
* * @param listCrawlsRequest * @return A Java Future containing the result of the ListCrawls operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListCrawls * @see AWS API * Documentation */ @Override public CompletableFuture listCrawls(ListCrawlsRequest listCrawlsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCrawlsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCrawlsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCrawls"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListCrawlsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListCrawls") .withProtocolMetadata(protocolMetadata) .withMarshaller(new ListCrawlsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listCrawlsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all the custom patterns that have been created. *

* * @param listCustomEntityTypesRequest * @return A Java Future containing the result of the ListCustomEntityTypes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListCustomEntityTypes * @see AWS * API Documentation */ @Override public CompletableFuture listCustomEntityTypes( ListCustomEntityTypesRequest listCustomEntityTypesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCustomEntityTypesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCustomEntityTypesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCustomEntityTypes"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCustomEntityTypesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCustomEntityTypes").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListCustomEntityTypesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listCustomEntityTypesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns all data quality execution results for your account. *

* * @param listDataQualityResultsRequest * @return A Java Future containing the result of the ListDataQualityResults operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDataQualityResults * @see AWS * API Documentation */ @Override public CompletableFuture listDataQualityResults( ListDataQualityResultsRequest listDataQualityResultsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDataQualityResultsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDataQualityResultsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDataQualityResults"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDataQualityResultsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDataQualityResults").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDataQualityResultsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDataQualityResultsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the recommendation runs meeting the filter criteria. *

* * @param listDataQualityRuleRecommendationRunsRequest * @return A Java Future containing the result of the ListDataQualityRuleRecommendationRuns operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDataQualityRuleRecommendationRuns * @see AWS API Documentation */ @Override public CompletableFuture listDataQualityRuleRecommendationRuns( ListDataQualityRuleRecommendationRunsRequest listDataQualityRuleRecommendationRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDataQualityRuleRecommendationRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDataQualityRuleRecommendationRunsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDataQualityRuleRecommendationRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListDataQualityRuleRecommendationRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDataQualityRuleRecommendationRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDataQualityRuleRecommendationRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDataQualityRuleRecommendationRunsRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all the runs meeting the filter criteria, where a ruleset is evaluated against a data source. *

* * @param listDataQualityRulesetEvaluationRunsRequest * @return A Java Future containing the result of the ListDataQualityRulesetEvaluationRuns operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDataQualityRulesetEvaluationRuns * @see AWS API Documentation */ @Override public CompletableFuture listDataQualityRulesetEvaluationRuns( ListDataQualityRulesetEvaluationRunsRequest listDataQualityRulesetEvaluationRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDataQualityRulesetEvaluationRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDataQualityRulesetEvaluationRunsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDataQualityRulesetEvaluationRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListDataQualityRulesetEvaluationRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDataQualityRulesetEvaluationRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDataQualityRulesetEvaluationRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDataQualityRulesetEvaluationRunsRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a paginated list of rulesets for the specified list of Glue tables. *

* * @param listDataQualityRulesetsRequest * @return A Java Future containing the result of the ListDataQualityRulesets operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDataQualityRulesets * @see AWS * API Documentation */ @Override public CompletableFuture listDataQualityRulesets( ListDataQualityRulesetsRequest listDataQualityRulesetsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDataQualityRulesetsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDataQualityRulesetsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDataQualityRulesets"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDataQualityRulesetsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDataQualityRulesets").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDataQualityRulesetsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDataQualityRulesetsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieve annotations for a data quality statistic. *

* * @param listDataQualityStatisticAnnotationsRequest * @return A Java Future containing the result of the ListDataQualityStatisticAnnotations operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDataQualityStatisticAnnotations * @see AWS API Documentation */ @Override public CompletableFuture listDataQualityStatisticAnnotations( ListDataQualityStatisticAnnotationsRequest listDataQualityStatisticAnnotationsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDataQualityStatisticAnnotationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDataQualityStatisticAnnotationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDataQualityStatisticAnnotations"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListDataQualityStatisticAnnotationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDataQualityStatisticAnnotations").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDataQualityStatisticAnnotationsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDataQualityStatisticAnnotationsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of data quality statistics. *

* * @param listDataQualityStatisticsRequest * @return A Java Future containing the result of the ListDataQualityStatistics operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDataQualityStatistics * @see AWS API Documentation */ @Override public CompletableFuture listDataQualityStatistics( ListDataQualityStatisticsRequest listDataQualityStatisticsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDataQualityStatisticsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDataQualityStatisticsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDataQualityStatistics"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDataQualityStatisticsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDataQualityStatistics").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDataQualityStatisticsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDataQualityStatisticsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the names of all DevEndpoint resources in this Amazon Web Services account, or the * resources with the specified tag. This operation allows you to see which resources are available in your account, * and their names. *

*

* This operation takes the optional Tags field, which you can use as a filter on the response so that * tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag * are retrieved. *

* * @param listDevEndpointsRequest * @return A Java Future containing the result of the ListDevEndpoints operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListDevEndpoints * @see AWS API * Documentation */ @Override public CompletableFuture listDevEndpoints(ListDevEndpointsRequest listDevEndpointsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDevEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDevEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDevEndpoints"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDevEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDevEndpoints").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListDevEndpointsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listDevEndpointsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the available entities supported by the connection type. *

* * @param listEntitiesRequest * @return A Java Future containing the result of the ListEntities operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ValidationException A value could not be validated.
  • *
  • FederationSourceException A federation source failed.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListEntities * @see AWS API * Documentation */ @Override public CompletableFuture listEntities(ListEntitiesRequest listEntitiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listEntitiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listEntitiesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListEntities"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListEntitiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListEntities").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListEntitiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listEntitiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the names of all job resources in this Amazon Web Services account, or the resources with the specified * tag. This operation allows you to see which resources are available in your account, and their names. *

*

* This operation takes the optional Tags field, which you can use as a filter on the response so that * tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag * are retrieved. *

* * @param listJobsRequest * @return A Java Future containing the result of the ListJobs operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListJobs * @see AWS API * Documentation */ @Override public CompletableFuture listJobs(ListJobsRequest listJobsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listJobsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listJobsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListJobs"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListJobsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListJobs") .withProtocolMetadata(protocolMetadata) .withMarshaller(new ListJobsRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(listJobsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a sortable, filterable list of existing Glue machine learning transforms in this Amazon Web Services * account, or the resources with the specified tag. This operation takes the optional Tags field, * which you can use as a filter of the responses so that tagged resources can be retrieved as a group. If you * choose to use tag filtering, only resources with the tags are retrieved. *

* * @param listMlTransformsRequest * @return A Java Future containing the result of the ListMLTransforms operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListMLTransforms * @see AWS API * Documentation */ @Override public CompletableFuture listMLTransforms(ListMlTransformsRequest listMlTransformsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listMlTransformsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listMlTransformsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListMLTransforms"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListMlTransformsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListMLTransforms").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListMlTransformsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listMlTransformsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of registries that you have created, with minimal registry information. Registries in the * Deleting status will not be included in the results. Empty results will be returned if there are no * registries available. *

* * @param listRegistriesRequest * @return A Java Future containing the result of the ListRegistries operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListRegistries * @see AWS API * Documentation */ @Override public CompletableFuture listRegistries(ListRegistriesRequest listRegistriesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listRegistriesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listRegistriesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListRegistries"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListRegistriesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListRegistries").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListRegistriesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listRegistriesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of schema versions that you have created, with minimal information. Schema versions in Deleted * status will not be included in the results. Empty results will be returned if there are no schema versions * available. *

* * @param listSchemaVersionsRequest * @return A Java Future containing the result of the ListSchemaVersions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListSchemaVersions * @see AWS API * Documentation */ @Override public CompletableFuture listSchemaVersions(ListSchemaVersionsRequest listSchemaVersionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSchemaVersionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSchemaVersionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSchemaVersions"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSchemaVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSchemaVersions").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListSchemaVersionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listSchemaVersionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of schemas with minimal details. Schemas in Deleting status will not be included in the results. * Empty results will be returned if there are no schemas available. *

*

* When the RegistryId is not provided, all the schemas across registries will be part of the API * response. *

* * @param listSchemasRequest * @return A Java Future containing the result of the ListSchemas operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListSchemas * @see AWS API * Documentation */ @Override public CompletableFuture listSchemas(ListSchemasRequest listSchemasRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSchemasRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSchemasRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSchemas"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListSchemasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSchemas").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListSchemasRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listSchemasRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieve a list of sessions. *

* * @param listSessionsRequest * @return A Java Future containing the result of the ListSessions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListSessions * @see AWS API * Documentation */ @Override public CompletableFuture listSessions(ListSessionsRequest listSessionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSessionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSessionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSessions"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListSessionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSessions").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListSessionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listSessionsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists statements for the session. *

* * @param listStatementsRequest * @return A Java Future containing the result of the ListStatements operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • IllegalSessionStateException The session is in an invalid state to perform a requested operation.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListStatements * @see AWS API * Documentation */ @Override public CompletableFuture listStatements(ListStatementsRequest listStatementsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listStatementsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listStatementsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListStatements"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListStatementsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListStatements").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListStatementsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listStatementsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the history of previous optimizer runs for a specific table. *

* * @param listTableOptimizerRunsRequest * @return A Java Future containing the result of the ListTableOptimizerRuns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ThrottlingException The throttling threshhold was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListTableOptimizerRuns * @see AWS * API Documentation */ @Override public CompletableFuture listTableOptimizerRuns( ListTableOptimizerRunsRequest listTableOptimizerRunsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTableOptimizerRunsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTableOptimizerRunsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTableOptimizerRuns"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTableOptimizerRunsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListTableOptimizerRuns").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListTableOptimizerRunsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listTableOptimizerRunsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the names of all trigger resources in this Amazon Web Services account, or the resources with the * specified tag. This operation allows you to see which resources are available in your account, and their names. *

*

* This operation takes the optional Tags field, which you can use as a filter on the response so that * tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag * are retrieved. *

* * @param listTriggersRequest * @return A Java Future containing the result of the ListTriggers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListTriggers * @see AWS API * Documentation */ @Override public CompletableFuture listTriggers(ListTriggersRequest listTriggersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTriggersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTriggersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTriggers"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListTriggersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListTriggers").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListTriggersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listTriggersRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* List all the Glue usage profiles. *

* * @param listUsageProfilesRequest * @return A Java Future containing the result of the ListUsageProfiles operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationNotSupportedException The operation is not available in the region.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListUsageProfiles * @see AWS API * Documentation */ @Override public CompletableFuture listUsageProfiles(ListUsageProfilesRequest listUsageProfilesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listUsageProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listUsageProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListUsageProfiles"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListUsageProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListUsageProfiles").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListUsageProfilesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listUsageProfilesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists names of workflows created in the account. *

* * @param listWorkflowsRequest * @return A Java Future containing the result of the ListWorkflows operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ListWorkflows * @see AWS API * Documentation */ @Override public CompletableFuture listWorkflows(ListWorkflowsRequest listWorkflowsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listWorkflowsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listWorkflowsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListWorkflows"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListWorkflowsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListWorkflows").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListWorkflowsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listWorkflowsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies a Zero-ETL integration in the caller's account. *

* * @param modifyIntegrationRequest * @return A Java Future containing the result of the ModifyIntegration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • IntegrationConflictOperationException The requested operation conflicts with another operation.
  • *
  • InvalidIntegrationStateException The integration is in an invalid state.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • InvalidStateException An error that indicates your data is in an invalid state.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ModifyIntegration * @see AWS API * Documentation */ @Override public CompletableFuture modifyIntegration(ModifyIntegrationRequest modifyIntegrationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyIntegrationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyIntegrationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyIntegration"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ModifyIntegrationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyIntegration").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyIntegrationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyIntegrationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the security configuration for a specified catalog. After the configuration has been set, the specified * encryption is applied to every catalog write thereafter. *

* * @param putDataCatalogEncryptionSettingsRequest * @return A Java Future containing the result of the PutDataCatalogEncryptionSettings operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.PutDataCatalogEncryptionSettings * @see AWS API Documentation */ @Override public CompletableFuture putDataCatalogEncryptionSettings( PutDataCatalogEncryptionSettingsRequest putDataCatalogEncryptionSettingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putDataCatalogEncryptionSettingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putDataCatalogEncryptionSettingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutDataCatalogEncryptionSettings"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, PutDataCatalogEncryptionSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutDataCatalogEncryptionSettings").withProtocolMetadata(protocolMetadata) .withMarshaller(new PutDataCatalogEncryptionSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(putDataCatalogEncryptionSettingsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Annotate all datapoints for a Profile. *

* * @param putDataQualityProfileAnnotationRequest * @return A Java Future containing the result of the PutDataQualityProfileAnnotation operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.PutDataQualityProfileAnnotation * @see AWS API Documentation */ @Override public CompletableFuture putDataQualityProfileAnnotation( PutDataQualityProfileAnnotationRequest putDataQualityProfileAnnotationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putDataQualityProfileAnnotationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putDataQualityProfileAnnotationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutDataQualityProfileAnnotation"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutDataQualityProfileAnnotationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutDataQualityProfileAnnotation").withProtocolMetadata(protocolMetadata) .withMarshaller(new PutDataQualityProfileAnnotationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(putDataQualityProfileAnnotationRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the Data Catalog resource policy for access control. *

* * @param putResourcePolicyRequest * @return A Java Future containing the result of the PutResourcePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ConditionCheckFailureException A specified condition was not satisfied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.PutResourcePolicy * @see AWS API * Documentation */ @Override public CompletableFuture putResourcePolicy(PutResourcePolicyRequest putResourcePolicyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putResourcePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putResourcePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutResourcePolicy"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutResourcePolicy").withProtocolMetadata(protocolMetadata) .withMarshaller(new PutResourcePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(putResourcePolicyRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Puts the metadata key value pair for a specified schema version ID. A maximum of 10 key value pairs will be * allowed per schema version. They can be added over one or more calls. *

* * @param putSchemaVersionMetadataRequest * @return A Java Future containing the result of the PutSchemaVersionMetadata operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.PutSchemaVersionMetadata * @see AWS * API Documentation */ @Override public CompletableFuture putSchemaVersionMetadata( PutSchemaVersionMetadataRequest putSchemaVersionMetadataRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putSchemaVersionMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putSchemaVersionMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutSchemaVersionMetadata"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutSchemaVersionMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutSchemaVersionMetadata").withProtocolMetadata(protocolMetadata) .withMarshaller(new PutSchemaVersionMetadataRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(putSchemaVersionMetadataRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Puts the specified workflow run properties for the given workflow run. If a property already exists for the * specified run, then it overrides the value otherwise adds the property to existing properties. *

* * @param putWorkflowRunPropertiesRequest * @return A Java Future containing the result of the PutWorkflowRunProperties operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.PutWorkflowRunProperties * @see AWS * API Documentation */ @Override public CompletableFuture putWorkflowRunProperties( PutWorkflowRunPropertiesRequest putWorkflowRunPropertiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putWorkflowRunPropertiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putWorkflowRunPropertiesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutWorkflowRunProperties"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutWorkflowRunPropertiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutWorkflowRunProperties").withProtocolMetadata(protocolMetadata) .withMarshaller(new PutWorkflowRunPropertiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(putWorkflowRunPropertiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Queries for the schema version metadata information. *

* * @param querySchemaVersionMetadataRequest * @return A Java Future containing the result of the QuerySchemaVersionMetadata operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.QuerySchemaVersionMetadata * @see AWS API Documentation */ @Override public CompletableFuture querySchemaVersionMetadata( QuerySchemaVersionMetadataRequest querySchemaVersionMetadataRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(querySchemaVersionMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, querySchemaVersionMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "QuerySchemaVersionMetadata"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, QuerySchemaVersionMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("QuerySchemaVersionMetadata").withProtocolMetadata(protocolMetadata) .withMarshaller(new QuerySchemaVersionMetadataRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(querySchemaVersionMetadataRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds a new version to the existing schema. Returns an error if new version of schema does not meet the * compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 * error if the schema set is not already present in the Schema Registry. *

*

* If this is the first schema definition to be registered in the Schema Registry, this API will store the schema * version and return immediately. Otherwise, this call has the potential to run longer than other operations due to * compatibility modes. You can call the GetSchemaVersion API with the SchemaVersionId to * check compatibility modes. *

*

* If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing * schema is returned to the caller. *

* * @param registerSchemaVersionRequest * @return A Java Future containing the result of the RegisterSchemaVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.RegisterSchemaVersion * @see AWS * API Documentation */ @Override public CompletableFuture registerSchemaVersion( RegisterSchemaVersionRequest registerSchemaVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(registerSchemaVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, registerSchemaVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RegisterSchemaVersion"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RegisterSchemaVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RegisterSchemaVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new RegisterSchemaVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(registerSchemaVersionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a key value pair from the schema version metadata for the specified schema version ID. *

* * @param removeSchemaVersionMetadataRequest * @return A Java Future containing the result of the RemoveSchemaVersionMetadata operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.RemoveSchemaVersionMetadata * @see AWS API Documentation */ @Override public CompletableFuture removeSchemaVersionMetadata( RemoveSchemaVersionMetadataRequest removeSchemaVersionMetadataRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeSchemaVersionMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeSchemaVersionMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveSchemaVersionMetadata"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RemoveSchemaVersionMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveSchemaVersionMetadata").withProtocolMetadata(protocolMetadata) .withMarshaller(new RemoveSchemaVersionMetadataRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(removeSchemaVersionMetadataRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Resets a bookmark entry. *

*

* For more information about enabling and using job bookmarks, see: *

* * * @param resetJobBookmarkRequest * @return A Java Future containing the result of the ResetJobBookmark operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ResetJobBookmark * @see AWS API * Documentation */ @Override public CompletableFuture resetJobBookmark(ResetJobBookmarkRequest resetJobBookmarkRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(resetJobBookmarkRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, resetJobBookmarkRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResetJobBookmark"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ResetJobBookmarkResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ResetJobBookmark").withProtocolMetadata(protocolMetadata) .withMarshaller(new ResetJobBookmarkRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(resetJobBookmarkRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Restarts selected nodes of a previous partially completed workflow run and resumes the workflow run. The selected * nodes and all nodes that are downstream from the selected nodes are run. *

* * @param resumeWorkflowRunRequest * @return A Java Future containing the result of the ResumeWorkflowRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentRunsExceededException Too many jobs are being run concurrently.
  • *
  • IllegalWorkflowStateException The workflow is in an invalid state to perform a requested operation.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.ResumeWorkflowRun * @see AWS API * Documentation */ @Override public CompletableFuture resumeWorkflowRun(ResumeWorkflowRunRequest resumeWorkflowRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(resumeWorkflowRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, resumeWorkflowRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResumeWorkflowRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ResumeWorkflowRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ResumeWorkflowRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new ResumeWorkflowRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(resumeWorkflowRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Executes the statement. *

* * @param runStatementRequest * @return A Java Future containing the result of the RunStatement operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • IllegalSessionStateException The session is in an invalid state to perform a requested operation.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.RunStatement * @see AWS API * Documentation */ @Override public CompletableFuture runStatement(RunStatementRequest runStatementRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(runStatementRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, runStatementRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RunStatement"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, RunStatementResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RunStatement").withProtocolMetadata(protocolMetadata) .withMarshaller(new RunStatementRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(runStatementRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Searches a set of tables based on properties in the table metadata as well as on the parent database. You can * search against text or filter conditions. *

*

* You can only get tables that you have access to based on the security policies defined in Lake Formation. You * need at least a read-only access to the table for it to be returned. If you do not have access to all the columns * in the table, these columns will not be searched against when returning the list of tables back to you. If you * have access to the columns but not the data in the columns, those columns and the associated metadata for those * columns will be included in the search. *

* * @param searchTablesRequest * @return A Java Future containing the result of the SearchTables operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.SearchTables * @see AWS API * Documentation */ @Override public CompletableFuture searchTables(SearchTablesRequest searchTablesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchTablesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchTablesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchTables"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchTablesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchTables").withProtocolMetadata(protocolMetadata) .withMarshaller(new SearchTablesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(searchTablesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a new run of the specified blueprint. *

* * @param startBlueprintRunRequest * @return A Java Future containing the result of the StartBlueprintRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • IllegalBlueprintStateException The blueprint is in an invalid state to perform a requested operation. *
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartBlueprintRun * @see AWS API * Documentation */ @Override public CompletableFuture startBlueprintRun(StartBlueprintRunRequest startBlueprintRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startBlueprintRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startBlueprintRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartBlueprintRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartBlueprintRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartBlueprintRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartBlueprintRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startBlueprintRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a column statistics task run, for a specified table and columns. *

* * @param startColumnStatisticsTaskRunRequest * @return A Java Future containing the result of the StartColumnStatisticsTaskRun operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ColumnStatisticsTaskRunningException An exception thrown when you try to start another job while * running a column stats generation job.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartColumnStatisticsTaskRun * @see AWS API Documentation */ @Override public CompletableFuture startColumnStatisticsTaskRun( StartColumnStatisticsTaskRunRequest startColumnStatisticsTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startColumnStatisticsTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startColumnStatisticsTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartColumnStatisticsTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartColumnStatisticsTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartColumnStatisticsTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartColumnStatisticsTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startColumnStatisticsTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a column statistics task run schedule. *

* * @param startColumnStatisticsTaskRunScheduleRequest * @return A Java Future containing the result of the StartColumnStatisticsTaskRunSchedule operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartColumnStatisticsTaskRunSchedule * @see AWS API Documentation */ @Override public CompletableFuture startColumnStatisticsTaskRunSchedule( StartColumnStatisticsTaskRunScheduleRequest startColumnStatisticsTaskRunScheduleRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startColumnStatisticsTaskRunScheduleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startColumnStatisticsTaskRunScheduleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartColumnStatisticsTaskRunSchedule"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, StartColumnStatisticsTaskRunScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartColumnStatisticsTaskRunSchedule").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartColumnStatisticsTaskRunScheduleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startColumnStatisticsTaskRunScheduleRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, * returns a CrawlerRunningException. *

* * @param startCrawlerRequest * @return A Java Future containing the result of the StartCrawler operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • CrawlerRunningException The operation cannot be performed because the crawler is already running.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartCrawler * @see AWS API * Documentation */ @Override public CompletableFuture startCrawler(StartCrawlerRequest startCrawlerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startCrawlerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startCrawlerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartCrawler"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartCrawlerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartCrawler").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartCrawlerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startCrawlerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Changes the schedule state of the specified crawler to SCHEDULED, unless the crawler is already * running or the schedule state is already SCHEDULED. *

* * @param startCrawlerScheduleRequest * @return A Java Future containing the result of the StartCrawlerSchedule operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SchedulerRunningException The specified scheduler is already running.
  • *
  • SchedulerTransitioningException The specified scheduler is transitioning.
  • *
  • NoScheduleException There is no applicable schedule.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartCrawlerSchedule * @see AWS API * Documentation */ @Override public CompletableFuture startCrawlerSchedule( StartCrawlerScheduleRequest startCrawlerScheduleRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startCrawlerScheduleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startCrawlerScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartCrawlerSchedule"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartCrawlerScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartCrawlerSchedule").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartCrawlerScheduleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startCrawlerScheduleRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a recommendation run that is used to generate rules when you don't know what rules to write. Glue Data * Quality analyzes the data and comes up with recommendations for a potential ruleset. You can then triage the * ruleset and modify the generated ruleset to your liking. *

*

* Recommendation runs are automatically deleted after 90 days. *

* * @param startDataQualityRuleRecommendationRunRequest * @return A Java Future containing the result of the StartDataQualityRuleRecommendationRun operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartDataQualityRuleRecommendationRun * @see AWS API Documentation */ @Override public CompletableFuture startDataQualityRuleRecommendationRun( StartDataQualityRuleRecommendationRunRequest startDataQualityRuleRecommendationRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startDataQualityRuleRecommendationRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startDataQualityRuleRecommendationRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartDataQualityRuleRecommendationRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, StartDataQualityRuleRecommendationRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartDataQualityRuleRecommendationRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartDataQualityRuleRecommendationRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startDataQualityRuleRecommendationRunRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Once you have a ruleset definition (either recommended or your own), you call this operation to evaluate the * ruleset against a data source (Glue table). The evaluation computes results which you can retrieve with the * GetDataQualityResult API. *

* * @param startDataQualityRulesetEvaluationRunRequest * @return A Java Future containing the result of the StartDataQualityRulesetEvaluationRun operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartDataQualityRulesetEvaluationRun * @see AWS API Documentation */ @Override public CompletableFuture startDataQualityRulesetEvaluationRun( StartDataQualityRulesetEvaluationRunRequest startDataQualityRulesetEvaluationRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startDataQualityRulesetEvaluationRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startDataQualityRulesetEvaluationRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartDataQualityRulesetEvaluationRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, StartDataQualityRulesetEvaluationRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartDataQualityRulesetEvaluationRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartDataQualityRulesetEvaluationRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startDataQualityRulesetEvaluationRunRequest)); CompletableFuture whenCompleted = executeFuture .whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Begins an asynchronous task to export all labeled data for a particular transform. This task is the only * label-related API call that is not part of the typical active learning workflow. You typically use * StartExportLabelsTaskRun when you want to work with all of your existing labels at the same time, * such as when you want to remove or change labels that were previously submitted as truth. This API operation * accepts the TransformId whose labels you want to export and an Amazon Simple Storage Service (Amazon * S3) path to export the labels to. The operation returns a TaskRunId. You can check on the status of * your task run by calling the GetMLTaskRun API. *

* * @param startExportLabelsTaskRunRequest * @return A Java Future containing the result of the StartExportLabelsTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartExportLabelsTaskRun * @see AWS * API Documentation */ @Override public CompletableFuture startExportLabelsTaskRun( StartExportLabelsTaskRunRequest startExportLabelsTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startExportLabelsTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startExportLabelsTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartExportLabelsTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartExportLabelsTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartExportLabelsTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartExportLabelsTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startExportLabelsTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Enables you to provide additional labels (examples of truth) to be used to teach the machine learning transform * and improve its quality. This API operation is generally used as part of the active learning workflow that starts * with the StartMLLabelingSetGenerationTaskRun call and that ultimately results in improving the * quality of your machine learning transform. *

*

* After the StartMLLabelingSetGenerationTaskRun finishes, Glue machine learning will have generated a * series of questions for humans to answer. (Answering these questions is often called 'labeling' in the machine * learning workflows). In the case of the FindMatches transform, these questions are of the form, * “What is the correct way to group these rows together into groups composed entirely of matching records?” After * the labeling process is finished, users upload their answers/labels with a call to * StartImportLabelsTaskRun. After StartImportLabelsTaskRun finishes, all future runs of * the machine learning transform use the new and improved labels and perform a higher-quality transformation. *

*

* By default, StartMLLabelingSetGenerationTaskRun continually learns from and combines all labels that * you upload unless you set Replace to true. If you set Replace to true, * StartImportLabelsTaskRun deletes and forgets all previously uploaded labels and learns only from the * exact set that you upload. Replacing labels can be helpful if you realize that you previously uploaded incorrect * labels, and you believe that they are having a negative effect on your transform quality. *

*

* You can check on the status of your task run by calling the GetMLTaskRun operation. *

* * @param startImportLabelsTaskRunRequest * @return A Java Future containing the result of the StartImportLabelsTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartImportLabelsTaskRun * @see AWS * API Documentation */ @Override public CompletableFuture startImportLabelsTaskRun( StartImportLabelsTaskRunRequest startImportLabelsTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startImportLabelsTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startImportLabelsTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartImportLabelsTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartImportLabelsTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartImportLabelsTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartImportLabelsTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startImportLabelsTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a job run using a job definition. *

* * @param startJobRunRequest * @return A Java Future containing the result of the StartJobRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentRunsExceededException Too many jobs are being run concurrently.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartJobRun * @see AWS API * Documentation */ @Override public CompletableFuture startJobRun(StartJobRunRequest startJobRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startJobRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startJobRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartJobRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartJobRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartJobRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartJobRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startJobRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a task to estimate the quality of the transform. *

*

* When you provide label sets as examples of truth, Glue machine learning uses some of those examples to learn from * them. The rest of the labels are used as a test to estimate quality. *

*

* Returns a unique identifier for the run. You can call GetMLTaskRun to get more information about the * stats of the EvaluationTaskRun. *

* * @param startMlEvaluationTaskRunRequest * @return A Java Future containing the result of the StartMLEvaluationTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConcurrentRunsExceededException Too many jobs are being run concurrently.
  • *
  • MlTransformNotReadyException The machine learning transform is not ready to run.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartMLEvaluationTaskRun * @see AWS * API Documentation */ @Override public CompletableFuture startMLEvaluationTaskRun( StartMlEvaluationTaskRunRequest startMlEvaluationTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startMlEvaluationTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startMlEvaluationTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartMLEvaluationTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartMlEvaluationTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartMLEvaluationTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartMlEvaluationTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startMlEvaluationTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts the active learning workflow for your machine learning transform to improve the transform's quality by * generating label sets and adding labels. *

*

* When the StartMLLabelingSetGenerationTaskRun finishes, Glue will have generated a "labeling set" or * a set of questions for humans to answer. *

*

* In the case of the FindMatches transform, these questions are of the form, “What is the correct way * to group these rows together into groups composed entirely of matching records?” *

*

* After the labeling process is finished, you can upload your labels with a call to * StartImportLabelsTaskRun. After StartImportLabelsTaskRun finishes, all future runs of * the machine learning transform will use the new and improved labels and perform a higher-quality transformation. *

* * @param startMlLabelingSetGenerationTaskRunRequest * @return A Java Future containing the result of the StartMLLabelingSetGenerationTaskRun operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ConcurrentRunsExceededException Too many jobs are being run concurrently.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartMLLabelingSetGenerationTaskRun * @see AWS API Documentation */ @Override public CompletableFuture startMLLabelingSetGenerationTaskRun( StartMlLabelingSetGenerationTaskRunRequest startMlLabelingSetGenerationTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startMlLabelingSetGenerationTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startMlLabelingSetGenerationTaskRunRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartMLLabelingSetGenerationTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, StartMlLabelingSetGenerationTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartMLLabelingSetGenerationTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartMlLabelingSetGenerationTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startMlLabelingSetGenerationTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts an existing trigger. See Triggering * Jobs for information about how different types of trigger are started. *

* * @param startTriggerRequest * @return A Java Future containing the result of the StartTrigger operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentRunsExceededException Too many jobs are being run concurrently.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartTrigger * @see AWS API * Documentation */ @Override public CompletableFuture startTrigger(StartTriggerRequest startTriggerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startTriggerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startTriggerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartTrigger"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartTriggerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartTrigger").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartTriggerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startTriggerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a new run of the specified workflow. *

* * @param startWorkflowRunRequest * @return A Java Future containing the result of the StartWorkflowRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • ConcurrentRunsExceededException Too many jobs are being run concurrently.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StartWorkflowRun * @see AWS API * Documentation */ @Override public CompletableFuture startWorkflowRun(StartWorkflowRunRequest startWorkflowRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startWorkflowRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startWorkflowRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartWorkflowRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartWorkflowRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartWorkflowRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartWorkflowRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startWorkflowRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops a task run for the specified table. *

* * @param stopColumnStatisticsTaskRunRequest * @return A Java Future containing the result of the StopColumnStatisticsTaskRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ColumnStatisticsTaskNotRunningException An exception thrown when you try to stop a task run when * there is no task running.
  • *
  • ColumnStatisticsTaskStoppingException An exception thrown when you try to stop a task run.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopColumnStatisticsTaskRun * @see AWS API Documentation */ @Override public CompletableFuture stopColumnStatisticsTaskRun( StopColumnStatisticsTaskRunRequest stopColumnStatisticsTaskRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopColumnStatisticsTaskRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopColumnStatisticsTaskRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopColumnStatisticsTaskRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StopColumnStatisticsTaskRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopColumnStatisticsTaskRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopColumnStatisticsTaskRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopColumnStatisticsTaskRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops a column statistics task run schedule. *

* * @param stopColumnStatisticsTaskRunScheduleRequest * @return A Java Future containing the result of the StopColumnStatisticsTaskRunSchedule operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopColumnStatisticsTaskRunSchedule * @see AWS API Documentation */ @Override public CompletableFuture stopColumnStatisticsTaskRunSchedule( StopColumnStatisticsTaskRunScheduleRequest stopColumnStatisticsTaskRunScheduleRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopColumnStatisticsTaskRunScheduleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopColumnStatisticsTaskRunScheduleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopColumnStatisticsTaskRunSchedule"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, StopColumnStatisticsTaskRunScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopColumnStatisticsTaskRunSchedule").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopColumnStatisticsTaskRunScheduleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopColumnStatisticsTaskRunScheduleRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* If the specified crawler is running, stops the crawl. *

* * @param stopCrawlerRequest * @return A Java Future containing the result of the StopCrawler operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • CrawlerNotRunningException The specified crawler is not running.
  • *
  • CrawlerStoppingException The specified crawler is stopping.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopCrawler * @see AWS API * Documentation */ @Override public CompletableFuture stopCrawler(StopCrawlerRequest stopCrawlerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopCrawlerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopCrawlerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopCrawler"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StopCrawlerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopCrawler").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopCrawlerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopCrawlerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does not stop the crawler if * it is already running. *

* * @param stopCrawlerScheduleRequest * @return A Java Future containing the result of the StopCrawlerSchedule operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SchedulerNotRunningException The specified scheduler is not running.
  • *
  • SchedulerTransitioningException The specified scheduler is transitioning.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopCrawlerSchedule * @see AWS API * Documentation */ @Override public CompletableFuture stopCrawlerSchedule( StopCrawlerScheduleRequest stopCrawlerScheduleRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopCrawlerScheduleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopCrawlerScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopCrawlerSchedule"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StopCrawlerScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopCrawlerSchedule").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopCrawlerScheduleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopCrawlerScheduleRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops the session. *

* * @param stopSessionRequest * @return A Java Future containing the result of the StopSession operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • IllegalSessionStateException The session is in an invalid state to perform a requested operation.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopSession * @see AWS API * Documentation */ @Override public CompletableFuture stopSession(StopSessionRequest stopSessionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopSessionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopSessionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopSession"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StopSessionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopSession").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopSessionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopSessionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops a specified trigger. *

* * @param stopTriggerRequest * @return A Java Future containing the result of the StopTrigger operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopTrigger * @see AWS API * Documentation */ @Override public CompletableFuture stopTrigger(StopTriggerRequest stopTriggerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopTriggerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopTriggerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopTrigger"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StopTriggerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopTrigger").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopTriggerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopTriggerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops the execution of the specified workflow run. *

* * @param stopWorkflowRunRequest * @return A Java Future containing the result of the StopWorkflowRun operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • IllegalWorkflowStateException The workflow is in an invalid state to perform a requested operation.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.StopWorkflowRun * @see AWS API * Documentation */ @Override public CompletableFuture stopWorkflowRun(StopWorkflowRunRequest stopWorkflowRunRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopWorkflowRunRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopWorkflowRunRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopWorkflowRun"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StopWorkflowRunResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopWorkflowRun").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopWorkflowRunRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopWorkflowRunRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds tags to a resource. A tag is a label you can assign to an Amazon Web Services resource. In Glue, you can tag * only certain resources. For information about what resources you can tag, see Amazon Web Services Tags in Glue. *

* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.TagResource * @see AWS API * Documentation */ @Override public CompletableFuture tagResource(TagResourceRequest tagResourceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(tagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagResource"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("TagResource").withProtocolMetadata(protocolMetadata) .withMarshaller(new TagResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(tagResourceRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Tests a connection to a service to validate the service credentials that you provide. *

*

* You can either provide an existing connection name or a TestConnectionInput for testing a * non-existing connection input. Providing both at the same time will cause an error. *

*

* If the action is successful, the service sends back an HTTP 200 response. *

* * @param testConnectionRequest * @return A Java Future containing the result of the TestConnection operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • FederationSourceException A federation source failed.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ConflictException The CreatePartitions API was called on a table that has indexes * enabled.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.TestConnection * @see AWS API * Documentation */ @Override public CompletableFuture testConnection(TestConnectionRequest testConnectionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(testConnectionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, testConnectionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TestConnection"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, TestConnectionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("TestConnection").withProtocolMetadata(protocolMetadata) .withMarshaller(new TestConnectionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(testConnectionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes tags from a resource. *

* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UntagResource * @see AWS API * Documentation */ @Override public CompletableFuture untagResource(UntagResourceRequest untagResourceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(untagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagResource"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UntagResource").withProtocolMetadata(protocolMetadata) .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(untagResourceRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a registered blueprint. *

* * @param updateBlueprintRequest * @return A Java Future containing the result of the UpdateBlueprint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • IllegalBlueprintStateException The blueprint is in an invalid state to perform a requested operation. *
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateBlueprint * @see AWS API * Documentation */ @Override public CompletableFuture updateBlueprint(UpdateBlueprintRequest updateBlueprintRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateBlueprintRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateBlueprintRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateBlueprint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateBlueprintResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateBlueprint").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateBlueprintRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateBlueprintRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing catalog's properties in the Glue Data Catalog. *

* * @param updateCatalogRequest * @return A Java Future containing the result of the UpdateCatalog operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • FederationSourceException A federation source failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateCatalog * @see AWS API * Documentation */ @Override public CompletableFuture updateCatalog(UpdateCatalogRequest updateCatalogRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCatalogRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCatalogRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCatalog"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateCatalogResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCatalog").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateCatalogRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateCatalogRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies an existing classifier (a GrokClassifier, an XMLClassifier, a * JsonClassifier, or a CsvClassifier, depending on which field is present). *

* * @param updateClassifierRequest * @return A Java Future containing the result of the UpdateClassifier operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • VersionMismatchException There was a version conflict.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateClassifier * @see AWS API * Documentation */ @Override public CompletableFuture updateClassifier(UpdateClassifierRequest updateClassifierRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateClassifierRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateClassifierRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateClassifier"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateClassifierResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateClassifier").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateClassifierRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateClassifierRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates or updates partition statistics of columns. *

*

* The Identity and Access Management (IAM) permission required for this operation is UpdatePartition. *

* * @param updateColumnStatisticsForPartitionRequest * @return A Java Future containing the result of the UpdateColumnStatisticsForPartition operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateColumnStatisticsForPartition * @see AWS API Documentation */ @Override public CompletableFuture updateColumnStatisticsForPartition( UpdateColumnStatisticsForPartitionRequest updateColumnStatisticsForPartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateColumnStatisticsForPartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateColumnStatisticsForPartitionRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateColumnStatisticsForPartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateColumnStatisticsForPartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateColumnStatisticsForPartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateColumnStatisticsForPartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateColumnStatisticsForPartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates or updates table statistics of columns. *

*

* The Identity and Access Management (IAM) permission required for this operation is UpdateTable. *

* * @param updateColumnStatisticsForTableRequest * @return A Java Future containing the result of the UpdateColumnStatisticsForTable operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateColumnStatisticsForTable * @see AWS API Documentation */ @Override public CompletableFuture updateColumnStatisticsForTable( UpdateColumnStatisticsForTableRequest updateColumnStatisticsForTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateColumnStatisticsForTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateColumnStatisticsForTableRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateColumnStatisticsForTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateColumnStatisticsForTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateColumnStatisticsForTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateColumnStatisticsForTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateColumnStatisticsForTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates settings for a column statistics task. *

* * @param updateColumnStatisticsTaskSettingsRequest * @return A Java Future containing the result of the UpdateColumnStatisticsTaskSettings operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • VersionMismatchException There was a version conflict.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateColumnStatisticsTaskSettings * @see AWS API Documentation */ @Override public CompletableFuture updateColumnStatisticsTaskSettings( UpdateColumnStatisticsTaskSettingsRequest updateColumnStatisticsTaskSettingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateColumnStatisticsTaskSettingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateColumnStatisticsTaskSettingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateColumnStatisticsTaskSettings"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateColumnStatisticsTaskSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateColumnStatisticsTaskSettings").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateColumnStatisticsTaskSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateColumnStatisticsTaskSettingsRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a connection definition in the Data Catalog. *

* * @param updateConnectionRequest * @return A Java Future containing the result of the UpdateConnection operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateConnection * @see AWS API * Documentation */ @Override public CompletableFuture updateConnection(UpdateConnectionRequest updateConnectionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateConnectionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConnectionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConnection"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateConnectionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateConnection").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateConnectionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateConnectionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a crawler. If a crawler is running, you must stop it using StopCrawler before updating it. *

* * @param updateCrawlerRequest * @return A Java Future containing the result of the UpdateCrawler operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • VersionMismatchException There was a version conflict.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • CrawlerRunningException The operation cannot be performed because the crawler is already running.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateCrawler * @see AWS API * Documentation */ @Override public CompletableFuture updateCrawler(UpdateCrawlerRequest updateCrawlerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCrawlerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCrawlerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCrawler"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateCrawlerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCrawler").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateCrawlerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateCrawlerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the schedule of a crawler using a cron expression. *

* * @param updateCrawlerScheduleRequest * @return A Java Future containing the result of the UpdateCrawlerSchedule operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • VersionMismatchException There was a version conflict.
  • *
  • SchedulerTransitioningException The specified scheduler is transitioning.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateCrawlerSchedule * @see AWS * API Documentation */ @Override public CompletableFuture updateCrawlerSchedule( UpdateCrawlerScheduleRequest updateCrawlerScheduleRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCrawlerScheduleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCrawlerScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCrawlerSchedule"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateCrawlerScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCrawlerSchedule").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateCrawlerScheduleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateCrawlerScheduleRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the specified data quality ruleset. *

* * @param updateDataQualityRulesetRequest * @return A Java Future containing the result of the UpdateDataQualityRuleset operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • IdempotentParameterMismatchException The same unique identifier was associated with two different * records.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateDataQualityRuleset * @see AWS * API Documentation */ @Override public CompletableFuture updateDataQualityRuleset( UpdateDataQualityRulesetRequest updateDataQualityRulesetRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateDataQualityRulesetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateDataQualityRulesetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateDataQualityRuleset"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateDataQualityRulesetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateDataQualityRuleset").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateDataQualityRulesetRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateDataQualityRulesetRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing database definition in a Data Catalog. *

* * @param updateDatabaseRequest * @return A Java Future containing the result of the UpdateDatabase operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateDatabase * @see AWS API * Documentation */ @Override public CompletableFuture updateDatabase(UpdateDatabaseRequest updateDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateDatabase"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateDatabaseRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a specified development endpoint. *

* * @param updateDevEndpointRequest * @return A Java Future containing the result of the UpdateDevEndpoint operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateDevEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture updateDevEndpoint(UpdateDevEndpointRequest updateDevEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateDevEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateDevEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateDevEndpoint"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateDevEndpointResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateDevEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateDevEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateDevEndpointRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API can be used for updating the ResourceProperty of the Glue connection (for the source) or * Glue database ARN (for the target). These properties can include the role to access the connection or database. * Since the same resource can be used across multiple integrations, updating resource properties will impact all * the integrations using it. *

* * @param updateIntegrationResourcePropertyRequest * @return A Java Future containing the result of the UpdateIntegrationResourceProperty operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateIntegrationResourceProperty * @see AWS API Documentation */ @Override public CompletableFuture updateIntegrationResourceProperty( UpdateIntegrationResourcePropertyRequest updateIntegrationResourcePropertyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateIntegrationResourcePropertyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateIntegrationResourcePropertyRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateIntegrationResourceProperty"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateIntegrationResourcePropertyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateIntegrationResourceProperty").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateIntegrationResourcePropertyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateIntegrationResourcePropertyRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* This API is used to provide optional override properties for the tables that need to be replicated. These * properties can include properties for filtering and partitioning for the source and target tables. To set both * source and target properties the same API need to be invoked with the Glue connection ARN as * ResourceArn with SourceTableConfig, and the Glue database ARN as * ResourceArn with TargetTableConfig respectively. *

*

* The override will be reflected across all the integrations using same ResourceArn and source table. *

* * @param updateIntegrationTablePropertiesRequest * @return A Java Future containing the result of the UpdateIntegrationTableProperties operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • ValidationException A value could not be validated.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ResourceNotFoundException The resource could not be found.
  • *
  • InternalServerException An internal server error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateIntegrationTableProperties * @see AWS API Documentation */ @Override public CompletableFuture updateIntegrationTableProperties( UpdateIntegrationTablePropertiesRequest updateIntegrationTablePropertiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateIntegrationTablePropertiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateIntegrationTablePropertiesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateIntegrationTableProperties"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateIntegrationTablePropertiesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateIntegrationTableProperties").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateIntegrationTablePropertiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateIntegrationTablePropertiesRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing job definition. The previous job definition is completely overwritten by this information. *

* * @param updateJobRequest * @return A Java Future containing the result of the UpdateJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateJob * @see AWS API * Documentation */ @Override public CompletableFuture updateJob(UpdateJobRequest updateJobRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateJobRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateJobRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateJob"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateJobResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("UpdateJob") .withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateJobRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withMetricCollector(apiCallMetricCollector).withInput(updateJobRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Synchronizes a job from the source control repository. This operation takes the job artifacts that are located in * the remote repository and updates the Glue internal stores with these artifacts. *

*

* This API supports optional parameters which take in the repository information. *

* * @param updateJobFromSourceControlRequest * @return A Java Future containing the result of the UpdateJobFromSourceControl operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateJobFromSourceControl * @see AWS API Documentation */ @Override public CompletableFuture updateJobFromSourceControl( UpdateJobFromSourceControlRequest updateJobFromSourceControlRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateJobFromSourceControlRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateJobFromSourceControlRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateJobFromSourceControl"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateJobFromSourceControlResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateJobFromSourceControl").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateJobFromSourceControlRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateJobFromSourceControlRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve * better results. *

*

* After calling this operation, you can call the StartMLEvaluationTaskRun operation to assess how well * your new parameters achieved your goals (such as improving the quality of your machine learning transform, or * making it more cost-effective). *

* * @param updateMlTransformRequest * @return A Java Future containing the result of the UpdateMLTransform operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateMLTransform * @see AWS API * Documentation */ @Override public CompletableFuture updateMLTransform(UpdateMlTransformRequest updateMlTransformRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateMlTransformRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateMlTransformRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateMLTransform"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateMlTransformResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateMLTransform").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateMlTransformRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateMlTransformRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a partition. *

* * @param updatePartitionRequest * @return A Java Future containing the result of the UpdatePartition operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdatePartition * @see AWS API * Documentation */ @Override public CompletableFuture updatePartition(UpdatePartitionRequest updatePartitionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePartitionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePartitionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePartition"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdatePartitionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdatePartition").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdatePartitionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updatePartitionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing registry which is used to hold a collection of schemas. The updated properties relate to the * registry, and do not modify any of the schemas within the registry. *

* * @param updateRegistryRequest * @return A Java Future containing the result of the UpdateRegistry operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateRegistry * @see AWS API * Documentation */ @Override public CompletableFuture updateRegistry(UpdateRegistryRequest updateRegistryRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateRegistryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRegistryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRegistry"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateRegistryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRegistry").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateRegistryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateRegistryRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the description, compatibility setting, or version checkpoint for a schema set. *

*

* For updating the compatibility setting, the call will not validate compatibility for the entire set of schema * versions with the new compatibility setting. If the value for Compatibility is provided, the * VersionNumber (a checkpoint) is also required. The API will validate the checkpoint version number * for consistency. *

*

* If the value for the VersionNumber (checkpoint) is provided, Compatibility is optional * and this can be used to set/reset a checkpoint for the schema. *

*

* This update will happen only if the schema is in the AVAILABLE state. *

* * @param updateSchemaRequest * @return A Java Future containing the result of the UpdateSchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateSchema * @see AWS API * Documentation */ @Override public CompletableFuture updateSchema(UpdateSchemaRequest updateSchemaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateSchemaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateSchemaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateSchema"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateSchemaResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateSchema").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateSchemaRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateSchemaRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Synchronizes a job to the source control repository. This operation takes the job artifacts from the Glue * internal stores and makes a commit to the remote repository that is configured on the job. *

*

* This API supports optional parameters which take in the repository information. *

* * @param updateSourceControlFromJobRequest * @return A Java Future containing the result of the UpdateSourceControlFromJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • AccessDeniedException Access to a resource was denied.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • ValidationException A value could not be validated.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateSourceControlFromJob * @see AWS API Documentation */ @Override public CompletableFuture updateSourceControlFromJob( UpdateSourceControlFromJobRequest updateSourceControlFromJobRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateSourceControlFromJobRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateSourceControlFromJobRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateSourceControlFromJob"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateSourceControlFromJobResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateSourceControlFromJob").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateSourceControlFromJobRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateSourceControlFromJobRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a metadata table in the Data Catalog. *

* * @param updateTableRequest * @return A Java Future containing the result of the UpdateTable operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • ResourceNumberLimitExceededException A resource numerical limit was exceeded.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • ResourceNotReadyException A resource was not ready for a transaction.
  • *
  • FederationSourceException A federation source failed.
  • *
  • FederationSourceRetryableException A federation source failed, but the operation may be retried.
  • *
  • AlreadyExistsException A resource to be created or added already exists.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateTable * @see AWS API * Documentation */ @Override public CompletableFuture updateTable(UpdateTableRequest updateTableRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateTable"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateTable").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateTableRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateTableRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the configuration for an existing table optimizer. *

* * @param updateTableOptimizerRequest * @return A Java Future containing the result of the UpdateTableOptimizer operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • AccessDeniedException Access to a resource was denied.
  • *
  • ValidationException A value could not be validated.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • ThrottlingException The throttling threshhold was exceeded.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateTableOptimizer * @see AWS API * Documentation */ @Override public CompletableFuture updateTableOptimizer( UpdateTableOptimizerRequest updateTableOptimizerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateTableOptimizerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateTableOptimizerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateTableOptimizer"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateTableOptimizerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateTableOptimizer").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateTableOptimizerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateTableOptimizerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a trigger definition. *

*

* Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, * Amazon Web Services Secrets Manager or other secret management mechanism if you intend to keep them within the * Job. *

* * @param updateTriggerRequest * @return A Java Future containing the result of the UpdateTrigger operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateTrigger * @see AWS API * Documentation */ @Override public CompletableFuture updateTrigger(UpdateTriggerRequest updateTriggerRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateTriggerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateTriggerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateTrigger"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateTriggerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateTrigger").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateTriggerRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateTriggerRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Update an Glue usage profile. *

* * @param updateUsageProfileRequest * @return A Java Future containing the result of the UpdateUsageProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • OperationNotSupportedException The operation is not available in the region.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateUsageProfile * @see AWS API * Documentation */ @Override public CompletableFuture updateUsageProfile(UpdateUsageProfileRequest updateUsageProfileRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUsageProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUsageProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUsageProfile"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUsageProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUsageProfile").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateUsageProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateUsageProfileRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing function definition in the Data Catalog. *

* * @param updateUserDefinedFunctionRequest * @return A Java Future containing the result of the UpdateUserDefinedFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InvalidInputException The input provided was not valid.
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • GlueEncryptionException An encryption operation failed.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateUserDefinedFunction * @see AWS API Documentation */ @Override public CompletableFuture updateUserDefinedFunction( UpdateUserDefinedFunctionRequest updateUserDefinedFunctionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserDefinedFunctionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserDefinedFunctionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserDefinedFunction"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserDefinedFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserDefinedFunction").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateUserDefinedFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateUserDefinedFunctionRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an existing workflow. *

* * @param updateWorkflowRequest * @return A Java Future containing the result of the UpdateWorkflow operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. The exception returned is wrapped with CompletionException, so you need to invoke * {@link Throwable#getCause} to retrieve the underlying exception. *
    *
  • InvalidInputException The input provided was not valid.
  • *
  • EntityNotFoundException A specified entity does not exist
  • *
  • InternalServiceException An internal service error occurred.
  • *
  • OperationTimeoutException The operation timed out.
  • *
  • ConcurrentModificationException Two processes are trying to modify a resource simultaneously.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • GlueException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample GlueAsyncClient.UpdateWorkflow * @see AWS API * Documentation */ @Override public CompletableFuture updateWorkflow(UpdateWorkflowRequest updateWorkflowRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateWorkflowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateWorkflowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Glue"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateWorkflow"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateWorkflowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateWorkflow").withProtocolMetadata(protocolMetadata) .withMarshaller(new UpdateWorkflowRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(updateWorkflowRequest)); CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture); return executeFuture; } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } @Override public final GlueServiceClientConfiguration serviceClientConfiguration() { return new GlueServiceClientConfigurationBuilder(this.clientConfiguration.toBuilder()).build(); } @Override public final String serviceName() { return SERVICE_NAME; } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(GlueException::builder) .protocol(AwsJsonProtocol.AWS_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("ConcurrentModificationException") .exceptionBuilderSupplier(ConcurrentModificationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotReadyException") .exceptionBuilderSupplier(ResourceNotReadyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SchedulerTransitioningException") .exceptionBuilderSupplier(SchedulerTransitioningException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationNotFoundFault") .exceptionBuilderSupplier(IntegrationNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IllegalSessionStateException") .exceptionBuilderSupplier(IllegalSessionStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OperationNotSupportedException") .exceptionBuilderSupplier(OperationNotSupportedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KMSKeyNotAccessibleFault") .exceptionBuilderSupplier(KmsKeyNotAccessibleException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InternalServerException") .exceptionBuilderSupplier(InternalServerException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AlreadyExistsException") .exceptionBuilderSupplier(AlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationConflictOperationFault") .exceptionBuilderSupplier(IntegrationConflictOperationException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CrawlerRunningException") .exceptionBuilderSupplier(CrawlerRunningException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ValidationException") .exceptionBuilderSupplier(ValidationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InternalServiceException") .exceptionBuilderSupplier(InternalServiceException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConflictException") .exceptionBuilderSupplier(ConflictException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidInputException") .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CrawlerNotRunningException") .exceptionBuilderSupplier(CrawlerNotRunningException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("GlueEncryptionException") .exceptionBuilderSupplier(GlueEncryptionException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OperationTimeoutException") .exceptionBuilderSupplier(OperationTimeoutException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ColumnStatisticsTaskRunningException") .exceptionBuilderSupplier(ColumnStatisticsTaskRunningException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ColumnStatisticsTaskStoppingException") .exceptionBuilderSupplier(ColumnStatisticsTaskStoppingException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("VersionMismatchException") .exceptionBuilderSupplier(VersionMismatchException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationQuotaExceededFault") .exceptionBuilderSupplier(IntegrationQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MLTransformNotReadyException") .exceptionBuilderSupplier(MlTransformNotReadyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotFoundException") .exceptionBuilderSupplier(ResourceNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IllegalWorkflowStateException") .exceptionBuilderSupplier(IllegalWorkflowStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNumberLimitExceededException") .exceptionBuilderSupplier(ResourceNumberLimitExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SchedulerNotRunningException") .exceptionBuilderSupplier(SchedulerNotRunningException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidIntegrationStateFault") .exceptionBuilderSupplier(InvalidIntegrationStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SchedulerRunningException") .exceptionBuilderSupplier(SchedulerRunningException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ThrottlingException") .exceptionBuilderSupplier(ThrottlingException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ColumnStatisticsTaskNotRunningException") .exceptionBuilderSupplier(ColumnStatisticsTaskNotRunningException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CrawlerStoppingException") .exceptionBuilderSupplier(CrawlerStoppingException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("FederationSourceRetryableException") .exceptionBuilderSupplier(FederationSourceRetryableException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("FederationSourceException") .exceptionBuilderSupplier(FederationSourceException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EntityNotFoundException") .exceptionBuilderSupplier(EntityNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PermissionTypeMismatchException") .exceptionBuilderSupplier(PermissionTypeMismatchException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TargetResourceNotFound") .exceptionBuilderSupplier(TargetResourceNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IllegalBlueprintStateException") .exceptionBuilderSupplier(IllegalBlueprintStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidStateException") .exceptionBuilderSupplier(InvalidStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("FederatedResourceAlreadyExistsException") .exceptionBuilderSupplier(FederatedResourceAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NoScheduleException") .exceptionBuilderSupplier(NoScheduleException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IdempotentParameterMismatchException") .exceptionBuilderSupplier(IdempotentParameterMismatchException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConcurrentRunsExceededException") .exceptionBuilderSupplier(ConcurrentRunsExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccessDeniedException") .exceptionBuilderSupplier(AccessDeniedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConditionCheckFailureException") .exceptionBuilderSupplier(ConditionCheckFailureException::builder).httpStatusCode(400).build()); } private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration, RequestOverrideConfiguration requestOverrideConfiguration) { List publishers = null; if (requestOverrideConfiguration != null) { publishers = requestOverrideConfiguration.metricPublishers(); } if (publishers == null || publishers.isEmpty()) { publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS); } if (publishers == null) { publishers = Collections.emptyList(); } return publishers; } private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Builder configuration) { ClientOverrideConfiguration.Builder builder = configuration.asOverrideConfigurationBuilder(); RetryMode retryMode = builder.retryMode(); if (retryMode != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode)); } else { Consumer> configurator = builder.retryStrategyConfigurator(); if (configurator != null) { RetryStrategy.Builder defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder(); configurator.accept(defaultBuilder); configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build()); } else { RetryStrategy retryStrategy = builder.retryStrategy(); if (retryStrategy != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy); } } } configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null); } private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request, SdkClientConfiguration clientConfiguration) { List plugins = request.overrideConfiguration().map(c -> c.plugins()).orElse(Collections.emptyList()); SdkClientConfiguration.Builder configuration = clientConfiguration.toBuilder(); if (plugins.isEmpty()) { return configuration.build(); } GlueServiceClientConfigurationBuilder serviceConfigBuilder = new GlueServiceClientConfigurationBuilder(configuration); for (SdkPlugin plugin : plugins) { plugin.configureClient(serviceConfigBuilder); } updateRetryStrategyClientConfiguration(configuration); return configuration.build(); } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata, Function> exceptionMetadataMapper) { return protocolFactory.createErrorResponseHandler(operationMetadata, exceptionMetadataMapper); } @Override public void close() { clientHandler.close(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy