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

software.amazon.awssdk.services.rds.DefaultRdsAsyncClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon RDS module holds the client classes that are used for communicating with Amazon Relational Database Service

There is a newer version: 2.29.15
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.rds;

import java.util.Collections;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ScheduledExecutorService;
import java.util.function.Consumer;
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.query.AwsQueryProtocolFactory;
import software.amazon.awssdk.retries.api.RetryStrategy;
import software.amazon.awssdk.services.rds.internal.RdsServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.rds.model.AddRoleToDbClusterRequest;
import software.amazon.awssdk.services.rds.model.AddRoleToDbClusterResponse;
import software.amazon.awssdk.services.rds.model.AddRoleToDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.AddRoleToDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.AddSourceIdentifierToSubscriptionRequest;
import software.amazon.awssdk.services.rds.model.AddSourceIdentifierToSubscriptionResponse;
import software.amazon.awssdk.services.rds.model.AddTagsToResourceRequest;
import software.amazon.awssdk.services.rds.model.AddTagsToResourceResponse;
import software.amazon.awssdk.services.rds.model.ApplyPendingMaintenanceActionRequest;
import software.amazon.awssdk.services.rds.model.ApplyPendingMaintenanceActionResponse;
import software.amazon.awssdk.services.rds.model.AuthorizationAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.AuthorizationNotFoundException;
import software.amazon.awssdk.services.rds.model.AuthorizationQuotaExceededException;
import software.amazon.awssdk.services.rds.model.AuthorizeDbSecurityGroupIngressRequest;
import software.amazon.awssdk.services.rds.model.AuthorizeDbSecurityGroupIngressResponse;
import software.amazon.awssdk.services.rds.model.BacktrackDbClusterRequest;
import software.amazon.awssdk.services.rds.model.BacktrackDbClusterResponse;
import software.amazon.awssdk.services.rds.model.BlueGreenDeploymentAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.BlueGreenDeploymentNotFoundException;
import software.amazon.awssdk.services.rds.model.CancelExportTaskRequest;
import software.amazon.awssdk.services.rds.model.CancelExportTaskResponse;
import software.amazon.awssdk.services.rds.model.CertificateNotFoundException;
import software.amazon.awssdk.services.rds.model.CopyDbClusterParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.CopyDbClusterParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.CopyDbClusterSnapshotRequest;
import software.amazon.awssdk.services.rds.model.CopyDbClusterSnapshotResponse;
import software.amazon.awssdk.services.rds.model.CopyDbParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.CopyDbParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.CopyDbSnapshotRequest;
import software.amazon.awssdk.services.rds.model.CopyDbSnapshotResponse;
import software.amazon.awssdk.services.rds.model.CopyOptionGroupRequest;
import software.amazon.awssdk.services.rds.model.CopyOptionGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateBlueGreenDeploymentRequest;
import software.amazon.awssdk.services.rds.model.CreateBlueGreenDeploymentResponse;
import software.amazon.awssdk.services.rds.model.CreateCustomDbEngineVersionException;
import software.amazon.awssdk.services.rds.model.CreateCustomDbEngineVersionRequest;
import software.amazon.awssdk.services.rds.model.CreateCustomDbEngineVersionResponse;
import software.amazon.awssdk.services.rds.model.CreateDbClusterEndpointRequest;
import software.amazon.awssdk.services.rds.model.CreateDbClusterEndpointResponse;
import software.amazon.awssdk.services.rds.model.CreateDbClusterParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.CreateDbClusterParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateDbClusterRequest;
import software.amazon.awssdk.services.rds.model.CreateDbClusterResponse;
import software.amazon.awssdk.services.rds.model.CreateDbClusterSnapshotRequest;
import software.amazon.awssdk.services.rds.model.CreateDbClusterSnapshotResponse;
import software.amazon.awssdk.services.rds.model.CreateDbInstanceReadReplicaRequest;
import software.amazon.awssdk.services.rds.model.CreateDbInstanceReadReplicaResponse;
import software.amazon.awssdk.services.rds.model.CreateDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.CreateDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.CreateDbParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.CreateDbParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateDbProxyEndpointRequest;
import software.amazon.awssdk.services.rds.model.CreateDbProxyEndpointResponse;
import software.amazon.awssdk.services.rds.model.CreateDbProxyRequest;
import software.amazon.awssdk.services.rds.model.CreateDbProxyResponse;
import software.amazon.awssdk.services.rds.model.CreateDbSecurityGroupRequest;
import software.amazon.awssdk.services.rds.model.CreateDbSecurityGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateDbShardGroupRequest;
import software.amazon.awssdk.services.rds.model.CreateDbShardGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateDbSnapshotRequest;
import software.amazon.awssdk.services.rds.model.CreateDbSnapshotResponse;
import software.amazon.awssdk.services.rds.model.CreateDbSubnetGroupRequest;
import software.amazon.awssdk.services.rds.model.CreateDbSubnetGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateEventSubscriptionRequest;
import software.amazon.awssdk.services.rds.model.CreateEventSubscriptionResponse;
import software.amazon.awssdk.services.rds.model.CreateGlobalClusterRequest;
import software.amazon.awssdk.services.rds.model.CreateGlobalClusterResponse;
import software.amazon.awssdk.services.rds.model.CreateIntegrationRequest;
import software.amazon.awssdk.services.rds.model.CreateIntegrationResponse;
import software.amazon.awssdk.services.rds.model.CreateOptionGroupRequest;
import software.amazon.awssdk.services.rds.model.CreateOptionGroupResponse;
import software.amazon.awssdk.services.rds.model.CreateTenantDatabaseRequest;
import software.amazon.awssdk.services.rds.model.CreateTenantDatabaseResponse;
import software.amazon.awssdk.services.rds.model.CustomAvailabilityZoneNotFoundException;
import software.amazon.awssdk.services.rds.model.CustomDbEngineVersionAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.CustomDbEngineVersionNotFoundException;
import software.amazon.awssdk.services.rds.model.CustomDbEngineVersionQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbClusterAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbClusterAutomatedBackupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbClusterAutomatedBackupQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbClusterBacktrackNotFoundException;
import software.amazon.awssdk.services.rds.model.DbClusterEndpointAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbClusterEndpointNotFoundException;
import software.amazon.awssdk.services.rds.model.DbClusterEndpointQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbClusterNotFoundException;
import software.amazon.awssdk.services.rds.model.DbClusterParameterGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbClusterQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbClusterRoleAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbClusterRoleNotFoundException;
import software.amazon.awssdk.services.rds.model.DbClusterRoleQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbClusterSnapshotAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbClusterSnapshotNotFoundException;
import software.amazon.awssdk.services.rds.model.DbInstanceAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbInstanceAutomatedBackupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbInstanceAutomatedBackupQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbInstanceNotFoundException;
import software.amazon.awssdk.services.rds.model.DbInstanceRoleAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbInstanceRoleNotFoundException;
import software.amazon.awssdk.services.rds.model.DbInstanceRoleQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbLogFileNotFoundException;
import software.amazon.awssdk.services.rds.model.DbParameterGroupAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbParameterGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbParameterGroupQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbProxyAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbProxyEndpointAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbProxyEndpointNotFoundException;
import software.amazon.awssdk.services.rds.model.DbProxyEndpointQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbProxyNotFoundException;
import software.amazon.awssdk.services.rds.model.DbProxyQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbProxyTargetAlreadyRegisteredException;
import software.amazon.awssdk.services.rds.model.DbProxyTargetGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbProxyTargetNotFoundException;
import software.amazon.awssdk.services.rds.model.DbSecurityGroupAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbSecurityGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbSecurityGroupNotSupportedException;
import software.amazon.awssdk.services.rds.model.DbSecurityGroupQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbShardGroupAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbShardGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbSnapshotAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbSnapshotNotFoundException;
import software.amazon.awssdk.services.rds.model.DbSnapshotTenantDatabaseNotFoundException;
import software.amazon.awssdk.services.rds.model.DbSubnetGroupAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.DbSubnetGroupDoesNotCoverEnoughAZsException;
import software.amazon.awssdk.services.rds.model.DbSubnetGroupNotAllowedException;
import software.amazon.awssdk.services.rds.model.DbSubnetGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.DbSubnetGroupQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbSubnetQuotaExceededException;
import software.amazon.awssdk.services.rds.model.DbUpgradeDependencyFailureException;
import software.amazon.awssdk.services.rds.model.DeleteBlueGreenDeploymentRequest;
import software.amazon.awssdk.services.rds.model.DeleteBlueGreenDeploymentResponse;
import software.amazon.awssdk.services.rds.model.DeleteCustomDbEngineVersionRequest;
import software.amazon.awssdk.services.rds.model.DeleteCustomDbEngineVersionResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterAutomatedBackupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterAutomatedBackupResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterEndpointRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterEndpointResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterSnapshotRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbClusterSnapshotResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbInstanceAutomatedBackupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbInstanceAutomatedBackupResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbProxyEndpointRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbProxyEndpointResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbProxyRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbProxyResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbSecurityGroupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbSecurityGroupResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbShardGroupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbShardGroupResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbSnapshotRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbSnapshotResponse;
import software.amazon.awssdk.services.rds.model.DeleteDbSubnetGroupRequest;
import software.amazon.awssdk.services.rds.model.DeleteDbSubnetGroupResponse;
import software.amazon.awssdk.services.rds.model.DeleteEventSubscriptionRequest;
import software.amazon.awssdk.services.rds.model.DeleteEventSubscriptionResponse;
import software.amazon.awssdk.services.rds.model.DeleteGlobalClusterRequest;
import software.amazon.awssdk.services.rds.model.DeleteGlobalClusterResponse;
import software.amazon.awssdk.services.rds.model.DeleteIntegrationRequest;
import software.amazon.awssdk.services.rds.model.DeleteIntegrationResponse;
import software.amazon.awssdk.services.rds.model.DeleteOptionGroupRequest;
import software.amazon.awssdk.services.rds.model.DeleteOptionGroupResponse;
import software.amazon.awssdk.services.rds.model.DeleteTenantDatabaseRequest;
import software.amazon.awssdk.services.rds.model.DeleteTenantDatabaseResponse;
import software.amazon.awssdk.services.rds.model.DeregisterDbProxyTargetsRequest;
import software.amazon.awssdk.services.rds.model.DeregisterDbProxyTargetsResponse;
import software.amazon.awssdk.services.rds.model.DescribeAccountAttributesRequest;
import software.amazon.awssdk.services.rds.model.DescribeAccountAttributesResponse;
import software.amazon.awssdk.services.rds.model.DescribeBlueGreenDeploymentsRequest;
import software.amazon.awssdk.services.rds.model.DescribeBlueGreenDeploymentsResponse;
import software.amazon.awssdk.services.rds.model.DescribeCertificatesRequest;
import software.amazon.awssdk.services.rds.model.DescribeCertificatesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterAutomatedBackupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterAutomatedBackupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterBacktracksRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterBacktracksResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterEndpointsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterEndpointsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterParameterGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterParameterGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterParametersRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterParametersResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterSnapshotAttributesRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterSnapshotAttributesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterSnapshotsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClusterSnapshotsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbClustersRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbClustersResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbEngineVersionsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbEngineVersionsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbInstanceAutomatedBackupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbInstanceAutomatedBackupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbInstancesRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbInstancesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbLogFilesRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbLogFilesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbParameterGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbParameterGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbParametersRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbParametersResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbProxiesRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbProxiesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbProxyEndpointsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbProxyEndpointsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbProxyTargetGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbProxyTargetGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbProxyTargetsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbProxyTargetsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbRecommendationsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbRecommendationsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbSecurityGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbSecurityGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbShardGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbShardGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbSnapshotAttributesRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbSnapshotAttributesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbSnapshotTenantDatabasesRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbSnapshotTenantDatabasesResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbSnapshotsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbSnapshotsResponse;
import software.amazon.awssdk.services.rds.model.DescribeDbSubnetGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeDbSubnetGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeEngineDefaultClusterParametersRequest;
import software.amazon.awssdk.services.rds.model.DescribeEngineDefaultClusterParametersResponse;
import software.amazon.awssdk.services.rds.model.DescribeEngineDefaultParametersRequest;
import software.amazon.awssdk.services.rds.model.DescribeEngineDefaultParametersResponse;
import software.amazon.awssdk.services.rds.model.DescribeEventCategoriesRequest;
import software.amazon.awssdk.services.rds.model.DescribeEventCategoriesResponse;
import software.amazon.awssdk.services.rds.model.DescribeEventSubscriptionsRequest;
import software.amazon.awssdk.services.rds.model.DescribeEventSubscriptionsResponse;
import software.amazon.awssdk.services.rds.model.DescribeEventsRequest;
import software.amazon.awssdk.services.rds.model.DescribeEventsResponse;
import software.amazon.awssdk.services.rds.model.DescribeExportTasksRequest;
import software.amazon.awssdk.services.rds.model.DescribeExportTasksResponse;
import software.amazon.awssdk.services.rds.model.DescribeGlobalClustersRequest;
import software.amazon.awssdk.services.rds.model.DescribeGlobalClustersResponse;
import software.amazon.awssdk.services.rds.model.DescribeIntegrationsRequest;
import software.amazon.awssdk.services.rds.model.DescribeIntegrationsResponse;
import software.amazon.awssdk.services.rds.model.DescribeOptionGroupOptionsRequest;
import software.amazon.awssdk.services.rds.model.DescribeOptionGroupOptionsResponse;
import software.amazon.awssdk.services.rds.model.DescribeOptionGroupsRequest;
import software.amazon.awssdk.services.rds.model.DescribeOptionGroupsResponse;
import software.amazon.awssdk.services.rds.model.DescribeOrderableDbInstanceOptionsRequest;
import software.amazon.awssdk.services.rds.model.DescribeOrderableDbInstanceOptionsResponse;
import software.amazon.awssdk.services.rds.model.DescribePendingMaintenanceActionsRequest;
import software.amazon.awssdk.services.rds.model.DescribePendingMaintenanceActionsResponse;
import software.amazon.awssdk.services.rds.model.DescribeReservedDbInstancesOfferingsRequest;
import software.amazon.awssdk.services.rds.model.DescribeReservedDbInstancesOfferingsResponse;
import software.amazon.awssdk.services.rds.model.DescribeReservedDbInstancesRequest;
import software.amazon.awssdk.services.rds.model.DescribeReservedDbInstancesResponse;
import software.amazon.awssdk.services.rds.model.DescribeSourceRegionsRequest;
import software.amazon.awssdk.services.rds.model.DescribeSourceRegionsResponse;
import software.amazon.awssdk.services.rds.model.DescribeTenantDatabasesRequest;
import software.amazon.awssdk.services.rds.model.DescribeTenantDatabasesResponse;
import software.amazon.awssdk.services.rds.model.DescribeValidDbInstanceModificationsRequest;
import software.amazon.awssdk.services.rds.model.DescribeValidDbInstanceModificationsResponse;
import software.amazon.awssdk.services.rds.model.DisableHttpEndpointRequest;
import software.amazon.awssdk.services.rds.model.DisableHttpEndpointResponse;
import software.amazon.awssdk.services.rds.model.DomainNotFoundException;
import software.amazon.awssdk.services.rds.model.DownloadDbLogFilePortionRequest;
import software.amazon.awssdk.services.rds.model.DownloadDbLogFilePortionResponse;
import software.amazon.awssdk.services.rds.model.Ec2ImagePropertiesNotSupportedException;
import software.amazon.awssdk.services.rds.model.EnableHttpEndpointRequest;
import software.amazon.awssdk.services.rds.model.EnableHttpEndpointResponse;
import software.amazon.awssdk.services.rds.model.EventSubscriptionQuotaExceededException;
import software.amazon.awssdk.services.rds.model.ExportTaskAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.ExportTaskNotFoundException;
import software.amazon.awssdk.services.rds.model.FailoverDbClusterRequest;
import software.amazon.awssdk.services.rds.model.FailoverDbClusterResponse;
import software.amazon.awssdk.services.rds.model.FailoverGlobalClusterRequest;
import software.amazon.awssdk.services.rds.model.FailoverGlobalClusterResponse;
import software.amazon.awssdk.services.rds.model.GlobalClusterAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.GlobalClusterNotFoundException;
import software.amazon.awssdk.services.rds.model.GlobalClusterQuotaExceededException;
import software.amazon.awssdk.services.rds.model.IamRoleMissingPermissionsException;
import software.amazon.awssdk.services.rds.model.IamRoleNotFoundException;
import software.amazon.awssdk.services.rds.model.InstanceQuotaExceededException;
import software.amazon.awssdk.services.rds.model.InsufficientAvailableIPsInSubnetException;
import software.amazon.awssdk.services.rds.model.InsufficientDbClusterCapacityException;
import software.amazon.awssdk.services.rds.model.InsufficientDbInstanceCapacityException;
import software.amazon.awssdk.services.rds.model.InsufficientStorageClusterCapacityException;
import software.amazon.awssdk.services.rds.model.IntegrationAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.IntegrationConflictOperationException;
import software.amazon.awssdk.services.rds.model.IntegrationNotFoundException;
import software.amazon.awssdk.services.rds.model.IntegrationQuotaExceededException;
import software.amazon.awssdk.services.rds.model.InvalidBlueGreenDeploymentStateException;
import software.amazon.awssdk.services.rds.model.InvalidCustomDbEngineVersionStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbClusterAutomatedBackupStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbClusterCapacityException;
import software.amazon.awssdk.services.rds.model.InvalidDbClusterEndpointStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbClusterSnapshotStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbClusterStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbInstanceAutomatedBackupStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbInstanceStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbParameterGroupStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbProxyEndpointStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbProxyStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbSecurityGroupStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbShardGroupStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbSnapshotStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbSubnetGroupException;
import software.amazon.awssdk.services.rds.model.InvalidDbSubnetGroupStateException;
import software.amazon.awssdk.services.rds.model.InvalidDbSubnetStateException;
import software.amazon.awssdk.services.rds.model.InvalidEventSubscriptionStateException;
import software.amazon.awssdk.services.rds.model.InvalidExportOnlyException;
import software.amazon.awssdk.services.rds.model.InvalidExportSourceStateException;
import software.amazon.awssdk.services.rds.model.InvalidExportTaskStateException;
import software.amazon.awssdk.services.rds.model.InvalidGlobalClusterStateException;
import software.amazon.awssdk.services.rds.model.InvalidIntegrationStateException;
import software.amazon.awssdk.services.rds.model.InvalidOptionGroupStateException;
import software.amazon.awssdk.services.rds.model.InvalidResourceStateException;
import software.amazon.awssdk.services.rds.model.InvalidRestoreException;
import software.amazon.awssdk.services.rds.model.InvalidS3BucketException;
import software.amazon.awssdk.services.rds.model.InvalidSubnetException;
import software.amazon.awssdk.services.rds.model.InvalidVpcNetworkStateException;
import software.amazon.awssdk.services.rds.model.KmsKeyNotAccessibleException;
import software.amazon.awssdk.services.rds.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.rds.model.ListTagsForResourceResponse;
import software.amazon.awssdk.services.rds.model.MaxDbShardGroupLimitReachedException;
import software.amazon.awssdk.services.rds.model.ModifyActivityStreamRequest;
import software.amazon.awssdk.services.rds.model.ModifyActivityStreamResponse;
import software.amazon.awssdk.services.rds.model.ModifyCertificatesRequest;
import software.amazon.awssdk.services.rds.model.ModifyCertificatesResponse;
import software.amazon.awssdk.services.rds.model.ModifyCurrentDbClusterCapacityRequest;
import software.amazon.awssdk.services.rds.model.ModifyCurrentDbClusterCapacityResponse;
import software.amazon.awssdk.services.rds.model.ModifyCustomDbEngineVersionRequest;
import software.amazon.awssdk.services.rds.model.ModifyCustomDbEngineVersionResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterEndpointRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterEndpointResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterSnapshotAttributeRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbClusterSnapshotAttributeResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbProxyEndpointRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbProxyEndpointResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbProxyRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbProxyResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbProxyTargetGroupRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbProxyTargetGroupResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbRecommendationRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbRecommendationResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbShardGroupRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbShardGroupResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbSnapshotAttributeRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbSnapshotAttributeResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbSnapshotRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbSnapshotResponse;
import software.amazon.awssdk.services.rds.model.ModifyDbSubnetGroupRequest;
import software.amazon.awssdk.services.rds.model.ModifyDbSubnetGroupResponse;
import software.amazon.awssdk.services.rds.model.ModifyEventSubscriptionRequest;
import software.amazon.awssdk.services.rds.model.ModifyEventSubscriptionResponse;
import software.amazon.awssdk.services.rds.model.ModifyGlobalClusterRequest;
import software.amazon.awssdk.services.rds.model.ModifyGlobalClusterResponse;
import software.amazon.awssdk.services.rds.model.ModifyIntegrationRequest;
import software.amazon.awssdk.services.rds.model.ModifyIntegrationResponse;
import software.amazon.awssdk.services.rds.model.ModifyOptionGroupRequest;
import software.amazon.awssdk.services.rds.model.ModifyOptionGroupResponse;
import software.amazon.awssdk.services.rds.model.ModifyTenantDatabaseRequest;
import software.amazon.awssdk.services.rds.model.ModifyTenantDatabaseResponse;
import software.amazon.awssdk.services.rds.model.NetworkTypeNotSupportedException;
import software.amazon.awssdk.services.rds.model.OptionGroupAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.OptionGroupNotFoundException;
import software.amazon.awssdk.services.rds.model.OptionGroupQuotaExceededException;
import software.amazon.awssdk.services.rds.model.PointInTimeRestoreNotEnabledException;
import software.amazon.awssdk.services.rds.model.PromoteReadReplicaDbClusterRequest;
import software.amazon.awssdk.services.rds.model.PromoteReadReplicaDbClusterResponse;
import software.amazon.awssdk.services.rds.model.PromoteReadReplicaRequest;
import software.amazon.awssdk.services.rds.model.PromoteReadReplicaResponse;
import software.amazon.awssdk.services.rds.model.ProvisionedIopsNotAvailableInAzException;
import software.amazon.awssdk.services.rds.model.PurchaseReservedDbInstancesOfferingRequest;
import software.amazon.awssdk.services.rds.model.PurchaseReservedDbInstancesOfferingResponse;
import software.amazon.awssdk.services.rds.model.RdsException;
import software.amazon.awssdk.services.rds.model.RebootDbClusterRequest;
import software.amazon.awssdk.services.rds.model.RebootDbClusterResponse;
import software.amazon.awssdk.services.rds.model.RebootDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.RebootDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.RebootDbShardGroupRequest;
import software.amazon.awssdk.services.rds.model.RebootDbShardGroupResponse;
import software.amazon.awssdk.services.rds.model.RegisterDbProxyTargetsRequest;
import software.amazon.awssdk.services.rds.model.RegisterDbProxyTargetsResponse;
import software.amazon.awssdk.services.rds.model.RemoveFromGlobalClusterRequest;
import software.amazon.awssdk.services.rds.model.RemoveFromGlobalClusterResponse;
import software.amazon.awssdk.services.rds.model.RemoveRoleFromDbClusterRequest;
import software.amazon.awssdk.services.rds.model.RemoveRoleFromDbClusterResponse;
import software.amazon.awssdk.services.rds.model.RemoveRoleFromDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.RemoveRoleFromDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.RemoveSourceIdentifierFromSubscriptionRequest;
import software.amazon.awssdk.services.rds.model.RemoveSourceIdentifierFromSubscriptionResponse;
import software.amazon.awssdk.services.rds.model.RemoveTagsFromResourceRequest;
import software.amazon.awssdk.services.rds.model.RemoveTagsFromResourceResponse;
import software.amazon.awssdk.services.rds.model.ReservedDbInstanceAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.ReservedDbInstanceNotFoundException;
import software.amazon.awssdk.services.rds.model.ReservedDbInstanceQuotaExceededException;
import software.amazon.awssdk.services.rds.model.ReservedDbInstancesOfferingNotFoundException;
import software.amazon.awssdk.services.rds.model.ResetDbClusterParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.ResetDbClusterParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.ResetDbParameterGroupRequest;
import software.amazon.awssdk.services.rds.model.ResetDbParameterGroupResponse;
import software.amazon.awssdk.services.rds.model.ResourceNotFoundException;
import software.amazon.awssdk.services.rds.model.RestoreDbClusterFromS3Request;
import software.amazon.awssdk.services.rds.model.RestoreDbClusterFromS3Response;
import software.amazon.awssdk.services.rds.model.RestoreDbClusterFromSnapshotRequest;
import software.amazon.awssdk.services.rds.model.RestoreDbClusterFromSnapshotResponse;
import software.amazon.awssdk.services.rds.model.RestoreDbClusterToPointInTimeRequest;
import software.amazon.awssdk.services.rds.model.RestoreDbClusterToPointInTimeResponse;
import software.amazon.awssdk.services.rds.model.RestoreDbInstanceFromDbSnapshotRequest;
import software.amazon.awssdk.services.rds.model.RestoreDbInstanceFromDbSnapshotResponse;
import software.amazon.awssdk.services.rds.model.RestoreDbInstanceFromS3Request;
import software.amazon.awssdk.services.rds.model.RestoreDbInstanceFromS3Response;
import software.amazon.awssdk.services.rds.model.RestoreDbInstanceToPointInTimeRequest;
import software.amazon.awssdk.services.rds.model.RestoreDbInstanceToPointInTimeResponse;
import software.amazon.awssdk.services.rds.model.RevokeDbSecurityGroupIngressRequest;
import software.amazon.awssdk.services.rds.model.RevokeDbSecurityGroupIngressResponse;
import software.amazon.awssdk.services.rds.model.SharedSnapshotQuotaExceededException;
import software.amazon.awssdk.services.rds.model.SnapshotQuotaExceededException;
import software.amazon.awssdk.services.rds.model.SnsInvalidTopicException;
import software.amazon.awssdk.services.rds.model.SnsNoAuthorizationException;
import software.amazon.awssdk.services.rds.model.SnsTopicArnNotFoundException;
import software.amazon.awssdk.services.rds.model.SourceClusterNotSupportedException;
import software.amazon.awssdk.services.rds.model.SourceDatabaseNotSupportedException;
import software.amazon.awssdk.services.rds.model.SourceNotFoundException;
import software.amazon.awssdk.services.rds.model.StartActivityStreamRequest;
import software.amazon.awssdk.services.rds.model.StartActivityStreamResponse;
import software.amazon.awssdk.services.rds.model.StartDbClusterRequest;
import software.amazon.awssdk.services.rds.model.StartDbClusterResponse;
import software.amazon.awssdk.services.rds.model.StartDbInstanceAutomatedBackupsReplicationRequest;
import software.amazon.awssdk.services.rds.model.StartDbInstanceAutomatedBackupsReplicationResponse;
import software.amazon.awssdk.services.rds.model.StartDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.StartDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.StartExportTaskRequest;
import software.amazon.awssdk.services.rds.model.StartExportTaskResponse;
import software.amazon.awssdk.services.rds.model.StopActivityStreamRequest;
import software.amazon.awssdk.services.rds.model.StopActivityStreamResponse;
import software.amazon.awssdk.services.rds.model.StopDbClusterRequest;
import software.amazon.awssdk.services.rds.model.StopDbClusterResponse;
import software.amazon.awssdk.services.rds.model.StopDbInstanceAutomatedBackupsReplicationRequest;
import software.amazon.awssdk.services.rds.model.StopDbInstanceAutomatedBackupsReplicationResponse;
import software.amazon.awssdk.services.rds.model.StopDbInstanceRequest;
import software.amazon.awssdk.services.rds.model.StopDbInstanceResponse;
import software.amazon.awssdk.services.rds.model.StorageQuotaExceededException;
import software.amazon.awssdk.services.rds.model.StorageTypeNotAvailableException;
import software.amazon.awssdk.services.rds.model.StorageTypeNotSupportedException;
import software.amazon.awssdk.services.rds.model.SubnetAlreadyInUseException;
import software.amazon.awssdk.services.rds.model.SubscriptionAlreadyExistException;
import software.amazon.awssdk.services.rds.model.SubscriptionCategoryNotFoundException;
import software.amazon.awssdk.services.rds.model.SubscriptionNotFoundException;
import software.amazon.awssdk.services.rds.model.SwitchoverBlueGreenDeploymentRequest;
import software.amazon.awssdk.services.rds.model.SwitchoverBlueGreenDeploymentResponse;
import software.amazon.awssdk.services.rds.model.SwitchoverGlobalClusterRequest;
import software.amazon.awssdk.services.rds.model.SwitchoverGlobalClusterResponse;
import software.amazon.awssdk.services.rds.model.SwitchoverReadReplicaRequest;
import software.amazon.awssdk.services.rds.model.SwitchoverReadReplicaResponse;
import software.amazon.awssdk.services.rds.model.TenantDatabaseAlreadyExistsException;
import software.amazon.awssdk.services.rds.model.TenantDatabaseNotFoundException;
import software.amazon.awssdk.services.rds.model.TenantDatabaseQuotaExceededException;
import software.amazon.awssdk.services.rds.model.UnsupportedDbEngineVersionException;
import software.amazon.awssdk.services.rds.transform.AddRoleToDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.AddRoleToDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.AddSourceIdentifierToSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.AddTagsToResourceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ApplyPendingMaintenanceActionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.AuthorizeDbSecurityGroupIngressRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.BacktrackDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CancelExportTaskRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CopyDbClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CopyDbClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CopyDbParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CopyDbSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CopyOptionGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateBlueGreenDeploymentRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateCustomDbEngineVersionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbClusterEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbInstanceReadReplicaRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbProxyEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbProxyRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbSecurityGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbShardGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateDbSubnetGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateEventSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateGlobalClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateIntegrationRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateOptionGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.CreateTenantDatabaseRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteBlueGreenDeploymentRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteCustomDbEngineVersionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbClusterAutomatedBackupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbClusterEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbInstanceAutomatedBackupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbProxyEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbProxyRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbSecurityGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbShardGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteDbSubnetGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteEventSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteGlobalClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteIntegrationRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteOptionGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeleteTenantDatabaseRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DeregisterDbProxyTargetsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeAccountAttributesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeBlueGreenDeploymentsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeCertificatesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterAutomatedBackupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterBacktracksRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterEndpointsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterParameterGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterParametersRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterSnapshotAttributesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClusterSnapshotsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbClustersRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbEngineVersionsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbInstanceAutomatedBackupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbInstancesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbLogFilesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbParameterGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbParametersRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbProxiesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbProxyEndpointsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbProxyTargetGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbProxyTargetsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbRecommendationsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbSecurityGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbShardGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbSnapshotAttributesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbSnapshotTenantDatabasesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbSnapshotsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeDbSubnetGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeEngineDefaultClusterParametersRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeEngineDefaultParametersRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeEventCategoriesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeEventSubscriptionsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeEventsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeExportTasksRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeGlobalClustersRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeIntegrationsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeOptionGroupOptionsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeOptionGroupsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeOrderableDbInstanceOptionsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribePendingMaintenanceActionsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeReservedDbInstancesOfferingsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeReservedDbInstancesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeSourceRegionsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeTenantDatabasesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DescribeValidDbInstanceModificationsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DisableHttpEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.DownloadDbLogFilePortionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.EnableHttpEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.FailoverDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.FailoverGlobalClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ListTagsForResourceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyActivityStreamRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyCertificatesRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyCurrentDbClusterCapacityRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyCustomDbEngineVersionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbClusterEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbClusterSnapshotAttributeRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbProxyEndpointRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbProxyRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbProxyTargetGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbRecommendationRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbShardGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbSnapshotAttributeRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyDbSubnetGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyEventSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyGlobalClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyIntegrationRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyOptionGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ModifyTenantDatabaseRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.PromoteReadReplicaDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.PromoteReadReplicaRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.PurchaseReservedDbInstancesOfferingRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RebootDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RebootDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RebootDbShardGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RegisterDbProxyTargetsRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RemoveFromGlobalClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RemoveRoleFromDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RemoveRoleFromDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RemoveSourceIdentifierFromSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RemoveTagsFromResourceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ResetDbClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.ResetDbParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RestoreDbClusterFromS3RequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RestoreDbClusterFromSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RestoreDbClusterToPointInTimeRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RestoreDbInstanceFromDbSnapshotRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RestoreDbInstanceFromS3RequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RestoreDbInstanceToPointInTimeRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.RevokeDbSecurityGroupIngressRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StartActivityStreamRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StartDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StartDbInstanceAutomatedBackupsReplicationRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StartDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StartExportTaskRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StopActivityStreamRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StopDbClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StopDbInstanceAutomatedBackupsReplicationRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.StopDbInstanceRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.SwitchoverBlueGreenDeploymentRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.SwitchoverGlobalClusterRequestMarshaller;
import software.amazon.awssdk.services.rds.transform.SwitchoverReadReplicaRequestMarshaller;
import software.amazon.awssdk.services.rds.waiters.RdsAsyncWaiter;
import software.amazon.awssdk.utils.CompletableFutureUtils;

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

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

    private final AsyncClientHandler clientHandler;

    private final AwsQueryProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    private final ScheduledExecutorService executorService;

    protected DefaultRdsAsyncClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsAsyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
        this.protocolFactory = init();
        this.executorService = clientConfiguration.option(SdkClientOption.SCHEDULED_EXECUTOR_SERVICE);
    }

    @Override
    public RdsUtilities utilities() {
        return DefaultRdsUtilities.create(clientConfiguration);
    }

    /**
     * 

* Associates an Identity and Access Management (IAM) role with a DB cluster. *

* * @param addRoleToDbClusterRequest * @return A Java Future containing the result of the AddRoleToDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbClusterRoleAlreadyExistsException The specified IAM role Amazon Resource Name (ARN) is already * associated with the specified DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbClusterRoleQuotaExceededException You have exceeded the maximum number of IAM roles that can be * associated with the specified DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.AddRoleToDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture addRoleToDBCluster(AddRoleToDbClusterRequest addRoleToDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addRoleToDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, addRoleToDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddRoleToDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddRoleToDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddRoleToDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new AddRoleToDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(addRoleToDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance. *

* *

* To add a role to a DB instance, the status of the DB instance must be available. *

*
*

* This command doesn't apply to RDS Custom. *

* * @param addRoleToDbInstanceRequest * @return A Java Future containing the result of the AddRoleToDBInstance 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbInstanceRoleAlreadyExistsException The specified RoleArn or FeatureName * value is already associated with the DB instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbInstanceRoleQuotaExceededException You can't associate any more Amazon Web Services Identity and * Access Management (IAM) roles with the DB instance because the quota has been reached.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.AddRoleToDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture addRoleToDBInstance( AddRoleToDbInstanceRequest addRoleToDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addRoleToDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, addRoleToDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddRoleToDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddRoleToDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddRoleToDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new AddRoleToDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(addRoleToDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds a source identifier to an existing RDS event notification subscription. *

* * @param addSourceIdentifierToSubscriptionRequest * @return A Java Future containing the result of the AddSourceIdentifierToSubscription 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. *
    *
  • SubscriptionNotFoundException The subscription name does not exist.
  • *
  • SourceNotFoundException The requested source could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.AddSourceIdentifierToSubscription * @see AWS API Documentation */ @Override public CompletableFuture addSourceIdentifierToSubscription( AddSourceIdentifierToSubscriptionRequest addSourceIdentifierToSubscriptionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addSourceIdentifierToSubscriptionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, addSourceIdentifierToSubscriptionRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddSourceIdentifierToSubscription"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddSourceIdentifierToSubscriptionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddSourceIdentifierToSubscription").withProtocolMetadata(protocolMetadata) .withMarshaller(new AddSourceIdentifierToSubscriptionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(addSourceIdentifierToSubscriptionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track * cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS. *

*

* For an overview on tagging your relational database resources, see Tagging Amazon RDS Resources * or Tagging Amazon Aurora * and Amazon RDS Resources. *

* * @param addTagsToResourceRequest * @return A Java Future containing the result of the AddTagsToResource 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • BlueGreenDeploymentNotFoundException BlueGreenDeploymentIdentifier doesn't refer to an * existing blue/green deployment.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • TenantDatabaseNotFoundException The specified tenant database wasn't found in the DB instance.
  • *
  • DbSnapshotTenantDatabaseNotFoundException The specified snapshot tenant database wasn't found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.AddTagsToResource * @see AWS API * Documentation */ @Override public CompletableFuture addTagsToResource(AddTagsToResourceRequest addTagsToResourceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addTagsToResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, addTagsToResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddTagsToResource"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddTagsToResourceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddTagsToResource").withProtocolMetadata(protocolMetadata) .withMarshaller(new AddTagsToResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(addTagsToResourceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Applies a pending maintenance action to a resource (for example, to a DB instance). *

* * @param applyPendingMaintenanceActionRequest * @return A Java Future containing the result of the ApplyPendingMaintenanceAction 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. *
    *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ApplyPendingMaintenanceAction * @see AWS API Documentation */ @Override public CompletableFuture applyPendingMaintenanceAction( ApplyPendingMaintenanceActionRequest applyPendingMaintenanceActionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(applyPendingMaintenanceActionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, applyPendingMaintenanceActionRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ApplyPendingMaintenanceAction"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ApplyPendingMaintenanceActionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ApplyPendingMaintenanceAction").withProtocolMetadata(protocolMetadata) .withMarshaller(new ApplyPendingMaintenanceActionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(applyPendingMaintenanceActionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups * can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. * Second, IP ranges are available if the application accessing your database is running on the internet. Required * parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either * EC2SecurityGroupName or EC2SecurityGroupId for non-VPC). *

*

* You can't authorize ingress from an EC2 security group in one Amazon Web Services Region to an Amazon RDS DB * instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB * instance in another. *

*

* For an overview of CIDR ranges, go to the Wikipedia Tutorial. *

* *

* EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that * you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC * in the Amazon EC2 User Guide, the blog EC2-Classic Networking is * Retiring – Here’s How to Prepare, and Moving a DB instance not * in a VPC into a VPC in the Amazon RDS User Guide. *

*
* * @param authorizeDbSecurityGroupIngressRequest * @return A Java Future containing the result of the AuthorizeDBSecurityGroupIngress 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. *
    *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • InvalidDbSecurityGroupStateException The state of the DB security group doesn't allow deletion.
  • *
  • AuthorizationAlreadyExistsException The specified CIDR IP range or Amazon EC2 security group is * already authorized for the specified DB security group.
  • *
  • AuthorizationQuotaExceededException The DB security group authorization quota has been reached.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.AuthorizeDBSecurityGroupIngress * @see AWS API Documentation */ @Override public CompletableFuture authorizeDBSecurityGroupIngress( AuthorizeDbSecurityGroupIngressRequest authorizeDbSecurityGroupIngressRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(authorizeDbSecurityGroupIngressRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, authorizeDbSecurityGroupIngressRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AuthorizeDBSecurityGroupIngress"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AuthorizeDbSecurityGroupIngressResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AuthorizeDBSecurityGroupIngress").withProtocolMetadata(protocolMetadata) .withMarshaller(new AuthorizeDbSecurityGroupIngressRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(authorizeDbSecurityGroupIngressRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Backtracks a DB cluster to a specific time, without creating a new DB cluster. *

*

* For more information on backtracking, see * Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide. *

* *

* This action applies only to Aurora MySQL DB clusters. *

*
* * @param backtrackDbClusterRequest * @return A Java Future containing the result of the BacktrackDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.BacktrackDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture backtrackDBCluster(BacktrackDbClusterRequest backtrackDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(backtrackDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, backtrackDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BacktrackDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(BacktrackDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("BacktrackDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new BacktrackDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(backtrackDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Cancels an export task in progress that is exporting a snapshot or cluster to Amazon S3. Any data that has * already been written to the S3 bucket isn't removed. *

* * @param cancelExportTaskRequest * @return A Java Future containing the result of the CancelExportTask 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. *
    *
  • ExportTaskNotFoundException The export task doesn't exist.
  • *
  • InvalidExportTaskStateException You can't cancel an export task that has completed.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CancelExportTask * @see AWS API * Documentation */ @Override public CompletableFuture cancelExportTask(CancelExportTaskRequest cancelExportTaskRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelExportTaskRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelExportTaskRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelExportTask"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CancelExportTaskResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CancelExportTask").withProtocolMetadata(protocolMetadata) .withMarshaller(new CancelExportTaskRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(cancelExportTaskRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Copies the specified DB cluster parameter group. *

* *

* You can't copy a default DB cluster parameter group. Instead, create a new custom DB cluster parameter group, * which copies the default parameters and values for the specified DB cluster parameter group family. *

*
* * @param copyDbClusterParameterGroupRequest * @return A Java Future containing the result of the CopyDBClusterParameterGroup 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbParameterGroupQuotaExceededException The request would result in the user exceeding the allowed * number of DB parameter groups.
  • *
  • DbParameterGroupAlreadyExistsException A DB parameter group with the same name 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CopyDBClusterParameterGroup * @see AWS API Documentation */ @Override public CompletableFuture copyDBClusterParameterGroup( CopyDbClusterParameterGroupRequest copyDbClusterParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(copyDbClusterParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, copyDbClusterParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CopyDBClusterParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CopyDbClusterParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CopyDBClusterParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CopyDbClusterParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(copyDbClusterParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Copies a snapshot of a DB cluster. *

*

* To copy a DB cluster snapshot from a shared manual DB cluster snapshot, * SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster * snapshot. *

*

* You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon * Web Services Region where you call the CopyDBClusterSnapshot operation is the destination Amazon Web * Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot * from another Amazon Web Services Region, you must provide the following values: *

*
    *
  • *

    * KmsKeyId - The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier * for the key to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region. *

    *
  • *
  • *

    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in * the destination Amazon Web Services Region. *

    *
  • *
  • *

    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster * snapshot to be copied. This identifier must be in the ARN format for the source Amazon Web Services Region and is * the same value as the SourceDBClusterSnapshotIdentifier in the presigned URL. *

    *
  • *
*

* To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by * TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in "copying" status. *

*

* For more information on copying encrypted Amazon Aurora DB cluster snapshots from one Amazon Web Services Region * to another, see * Copying a Snapshot in the Amazon Aurora User Guide. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param copyDbClusterSnapshotRequest * @return A Java Future containing the result of the CopyDBClusterSnapshot 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. *
    *
  • DbClusterSnapshotAlreadyExistsException The user already has a DB cluster snapshot with the given * identifier.
  • *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CopyDBClusterSnapshot * @see AWS API * Documentation */ @Override public CompletableFuture copyDBClusterSnapshot( CopyDbClusterSnapshotRequest copyDbClusterSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(copyDbClusterSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, copyDbClusterSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CopyDBClusterSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CopyDbClusterSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CopyDBClusterSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new CopyDbClusterSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(copyDbClusterSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Copies the specified DB parameter group. *

* *

* You can't copy a default DB parameter group. Instead, create a new custom DB parameter group, which copies the * default parameters and values for the specified DB parameter group family. *

*
* * @param copyDbParameterGroupRequest * @return A Java Future containing the result of the CopyDBParameterGroup 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbParameterGroupAlreadyExistsException A DB parameter group with the same name exists.
  • *
  • DbParameterGroupQuotaExceededException The request would result in the user exceeding the allowed * number of DB parameter groups.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CopyDBParameterGroup * @see AWS API * Documentation */ @Override public CompletableFuture copyDBParameterGroup( CopyDbParameterGroupRequest copyDbParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(copyDbParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, copyDbParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CopyDBParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CopyDbParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CopyDBParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CopyDbParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(copyDbParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Copies the specified DB snapshot. The source DB snapshot must be in the available state. *

*

* You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services * Region where you call the CopyDBSnapshot operation is the destination Amazon Web Services Region for * the DB snapshot copy. *

*

* This command doesn't apply to RDS Custom. *

*

* For more information about copying snapshots, see Copying * a DB Snapshot in the Amazon RDS User Guide. *

* * @param copyDbSnapshotRequest * @return A Java Future containing the result of the CopyDBSnapshot 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. *
    *
  • DbSnapshotAlreadyExistsException DBSnapshotIdentifier is already used by an existing * snapshot.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • InvalidDbSnapshotStateException The state of the DB snapshot doesn't allow deletion.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • CustomAvailabilityZoneNotFoundException CustomAvailabilityZoneId doesn't refer to an * existing custom Availability Zone identifier.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CopyDBSnapshot * @see AWS API * Documentation */ @Override public CompletableFuture copyDBSnapshot(CopyDbSnapshotRequest copyDbSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(copyDbSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, copyDbSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CopyDBSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CopyDbSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CopyDBSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new CopyDbSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(copyDbSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Copies the specified option group. *

* * @param copyOptionGroupRequest * @return A Java Future containing the result of the CopyOptionGroup 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. *
    *
  • OptionGroupAlreadyExistsException The option group you are trying to create already exists.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • OptionGroupQuotaExceededException The quota of 20 option groups was exceeded for this Amazon Web * Services account.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CopyOptionGroup * @see AWS API * Documentation */ @Override public CompletableFuture copyOptionGroup(CopyOptionGroupRequest copyOptionGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(copyOptionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, copyOptionGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CopyOptionGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CopyOptionGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CopyOptionGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CopyOptionGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(copyOptionGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a blue/green deployment. *

*

* A blue/green deployment creates a staging environment that copies the production environment. In a blue/green * deployment, the blue environment is the current production environment. The green environment is the staging * environment. The staging environment stays in sync with the current production environment using logical * replication. *

*

* You can make changes to the databases in the green environment without affecting production workloads. For * example, you can upgrade the major or minor DB engine version, change database parameters, or make schema changes * in the staging environment. You can thoroughly test changes in the green environment. When ready, you can switch * over the environments to promote the green environment to be the new production environment. The switchover * typically takes under a minute. *

*

* For more information, see Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon Aurora User Guide. *

* * @param createBlueGreenDeploymentRequest * @return A Java Future containing the result of the CreateBlueGreenDeployment 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • SourceDatabaseNotSupportedException The source DB instance isn't supported for a blue/green * deployment.
  • *
  • SourceClusterNotSupportedException The source DB cluster isn't supported for a blue/green deployment. *
  • *
  • BlueGreenDeploymentAlreadyExistsException A blue/green deployment with the specified name already * exists.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbClusterParameterGroupNotFoundException DBClusterParameterGroupName doesn't refer to an * existing DB cluster parameter group.
  • *
  • InstanceQuotaExceededException The request would result in the user exceeding the allowed number of * DB instances.
  • *
  • DbClusterQuotaExceededException The user attempted to create a new DB cluster and the user has * already reached the maximum allowed DB cluster quota.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateBlueGreenDeployment * @see AWS * API Documentation */ @Override public CompletableFuture createBlueGreenDeployment( CreateBlueGreenDeploymentRequest createBlueGreenDeploymentRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createBlueGreenDeploymentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createBlueGreenDeploymentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateBlueGreenDeployment"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateBlueGreenDeploymentResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateBlueGreenDeployment").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateBlueGreenDeploymentRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createBlueGreenDeploymentRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a custom DB engine version (CEV). *

* * @param createCustomDbEngineVersionRequest * @return A Java Future containing the result of the CreateCustomDBEngineVersion 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. *
    *
  • CustomDbEngineVersionAlreadyExistsException A CEV with the specified name already exists.
  • *
  • CustomDbEngineVersionQuotaExceededException You have exceeded your CEV quota.
  • *
  • Ec2ImagePropertiesNotSupportedException The AMI configuration prerequisite has not been met.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • CreateCustomDbEngineVersionException An error occurred while trying to create the CEV.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateCustomDBEngineVersion * @see AWS API Documentation */ @Override public CompletableFuture createCustomDBEngineVersion( CreateCustomDbEngineVersionRequest createCustomDbEngineVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCustomDbEngineVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCustomDbEngineVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCustomDBEngineVersion"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateCustomDbEngineVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCustomDBEngineVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateCustomDbEngineVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createCustomDbEngineVersionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new Amazon Aurora DB cluster or Multi-AZ DB cluster. *

*

* If you create an Aurora DB cluster, the request creates an empty cluster. You must explicitly create the writer * instance for your DB cluster using the CreateDBInstance * operation. If you create a Multi-AZ DB cluster, the request creates a writer and two reader DB instances for you, * each in a different Availability Zone. *

*

* You can use the ReplicationSourceIdentifier parameter to create an Amazon Aurora DB cluster as a * read replica of another DB cluster or Amazon RDS for MySQL or PostgreSQL DB instance. For more information about * Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* You can also use the ReplicationSourceIdentifier parameter to create a Multi-AZ DB cluster read * replica with an RDS for MySQL or PostgreSQL DB instance as the source. For more information about Multi-AZ DB * clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param createDbClusterRequest * @return A Java Future containing the result of the CreateDBCluster 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. *
    *
  • DbClusterAlreadyExistsException The user already has a DB cluster with the given identifier.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • InsufficientStorageClusterCapacityException There is insufficient storage available for the current * action. You might be able to resolve this error by updating your subnet group to use different * Availability Zones that have more storage available.
  • *
  • DbClusterQuotaExceededException The user attempted to create a new DB cluster and the user has * already reached the maximum allowed DB cluster quota.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbSubnetGroupException The DBSubnetGroup doesn't belong to the same VPC as that of an existing * cross-region read replica of the same source instance.
  • *
  • InvalidDbSubnetGroupStateException The DB subnet group cannot be deleted because it's in use.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbClusterParameterGroupNotFoundException DBClusterParameterGroupName doesn't refer to an * existing DB cluster parameter group.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • InvalidGlobalClusterStateException The global cluster is in an invalid state and can't perform the * requested operation.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture createDBCluster(CreateDbClusterRequest createDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster. *

* *

* This action applies only to Aurora DB clusters. *

*
* * @param createDbClusterEndpointRequest * @return A Java Future containing the result of the CreateDBClusterEndpoint 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. *
    *
  • DbClusterEndpointQuotaExceededException The cluster already has the maximum number of custom * endpoints.
  • *
  • DbClusterEndpointAlreadyExistsException The specified custom endpoint can't be created because it * already exists.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBClusterEndpoint * @see AWS * API Documentation */ @Override public CompletableFuture createDBClusterEndpoint( CreateDbClusterEndpointRequest createDbClusterEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbClusterEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbClusterEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBClusterEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbClusterEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBClusterEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbClusterEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbClusterEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB cluster parameter group. *

*

* Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster. *

*

* A DB cluster parameter group is initially created with the default parameters for the database engine used by * instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after * creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, * you need to associate it with your DB cluster using ModifyDBCluster. *

*

* When you associate a new DB cluster parameter group with a running Aurora DB cluster, reboot the DB instances in * the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect. *

*

* When you associate a new DB cluster parameter group with a running Multi-AZ DB cluster, reboot the DB cluster * without failover for the new DB cluster parameter group and associated settings to take effect. *

* *

* After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB * cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully * complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. * This is especially important for parameters that are critical when creating the default database for a DB * cluster, such as the character set for the default database defined by the character_set_database * parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters * operation to verify that your DB cluster parameter group has been created or modified. *

*
*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param createDbClusterParameterGroupRequest * @return A Java Future containing the result of the CreateDBClusterParameterGroup 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. *
    *
  • DbParameterGroupQuotaExceededException The request would result in the user exceeding the allowed * number of DB parameter groups.
  • *
  • DbParameterGroupAlreadyExistsException A DB parameter group with the same name 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBClusterParameterGroup * @see AWS API Documentation */ @Override public CompletableFuture createDBClusterParameterGroup( CreateDbClusterParameterGroupRequest createDbClusterParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbClusterParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbClusterParameterGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBClusterParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbClusterParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBClusterParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbClusterParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbClusterParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a snapshot of a DB cluster. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param createDbClusterSnapshotRequest * @return A Java Future containing the result of the CreateDBClusterSnapshot 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. *
    *
  • DbClusterSnapshotAlreadyExistsException The user already has a DB cluster snapshot with the given * identifier.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBClusterSnapshot * @see AWS * API Documentation */ @Override public CompletableFuture createDBClusterSnapshot( CreateDbClusterSnapshotRequest createDbClusterSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbClusterSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbClusterSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBClusterSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbClusterSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBClusterSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbClusterSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbClusterSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB instance. *

*

* The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster. For an Aurora * DB cluster, you can call this operation multiple times to add more than one DB instance to the cluster. *

*

* For more information about creating an RDS DB instance, see Creating an Amazon RDS * DB instance in the Amazon RDS User Guide. *

*

* For more information about creating a DB instance in an Aurora DB cluster, see Creating an * Amazon Aurora DB cluster in the Amazon Aurora User Guide. *

* * @param createDbInstanceRequest * @return A Java Future containing the result of the CreateDBInstance 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. *
    *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • InstanceQuotaExceededException The request would result in the user exceeding the allowed number of * DB instances.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • ProvisionedIopsNotAvailableInAzException Provisioned IOPS not available in the specified Availability * Zone.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • TenantDatabaseQuotaExceededException You attempted to create more tenant databases than are permitted * in your Amazon Web Services account.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture createDBInstance(CreateDbInstanceRequest createDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. * You can create a read replica for a DB instance running Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. * You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas * and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User * Guide. *

*

* Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the * CreateDBInstance operation. *

*

* All read replica DB instances are created with backups disabled. All other attributes (including DB security * groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified. *

* *

* Your source DB instance or cluster must have backup retention enabled. *

*
* * @param createDbInstanceReadReplicaRequest * @return A Java Future containing the result of the CreateDBInstanceReadReplica 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. *
    *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • InstanceQuotaExceededException The request would result in the user exceeding the allowed number of * DB instances.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • ProvisionedIopsNotAvailableInAzException Provisioned IOPS not available in the specified Availability * Zone.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • DbSubnetGroupNotAllowedException The DBSubnetGroup shouldn't be specified while creating read * replicas that lie in the same region as the source instance.
  • *
  • InvalidDbSubnetGroupException The DBSubnetGroup doesn't belong to the same VPC as that of an existing * cross-region read replica of the same source instance.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • TenantDatabaseQuotaExceededException You attempted to create more tenant databases than are permitted * in your Amazon Web Services account.
  • *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBInstanceReadReplica * @see AWS API Documentation */ @Override public CompletableFuture createDBInstanceReadReplica( CreateDbInstanceReadReplicaRequest createDbInstanceReadReplicaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbInstanceReadReplicaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbInstanceReadReplicaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBInstanceReadReplica"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbInstanceReadReplicaResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBInstanceReadReplica").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbInstanceReadReplicaRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbInstanceReadReplicaRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB parameter group. *

*

* A DB parameter group is initially created with the default parameters for the database engine used by the DB * instance. To provide custom values for any of the parameters, you must modify the group after creating it using * ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your * DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB * instance, you need to reboot the DB instance without failover for the new DB parameter group and associated * settings to take effect. *

*

* This command doesn't apply to RDS Custom. *

* *

* After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance * that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the * create action before the parameter group is used as the default for a new DB instance. This is especially * important for parameters that are critical when creating the default database for a DB instance, such as the * character set for the default database defined by the character_set_database parameter. You can use * the Parameter Groups option of the Amazon RDS console or * the DescribeDBParameters command to verify that your DB parameter group has been created or modified. *

*
* * @param createDbParameterGroupRequest * @return A Java Future containing the result of the CreateDBParameterGroup 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. *
    *
  • DbParameterGroupQuotaExceededException The request would result in the user exceeding the allowed * number of DB parameter groups.
  • *
  • DbParameterGroupAlreadyExistsException A DB parameter group with the same name 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBParameterGroup * @see AWS * API Documentation */ @Override public CompletableFuture createDBParameterGroup( CreateDbParameterGroupRequest createDbParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB proxy. *

* * @param createDbProxyRequest * @return A Java Future containing the result of the CreateDBProxy 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. *
    *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • DbProxyAlreadyExistsException The specified proxy name must be unique for all proxies owned by your * Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyQuotaExceededException Your Amazon Web Services account already has the maximum number of * proxies in the specified Amazon Web Services 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBProxy * @see AWS API * Documentation */ @Override public CompletableFuture createDBProxy(CreateDbProxyRequest createDbProxyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbProxyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbProxyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBProxy"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbProxyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBProxy").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbProxyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbProxyRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a DBProxyEndpoint. Only applies to proxies that are associated with Aurora DB clusters. You * can use DB proxy endpoints to specify read/write or read-only access to the DB cluster. You can also use DB proxy * endpoints to access a DB proxy through a different VPC than the proxy's default VPC. *

* * @param createDbProxyEndpointRequest * @return A Java Future containing the result of the CreateDBProxyEndpoint 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. *
    *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyEndpointAlreadyExistsException The specified DB proxy endpoint name must be unique for all DB * proxy endpoints owned by your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyEndpointQuotaExceededException The DB proxy already has the maximum number of endpoints.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBProxyEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture createDBProxyEndpoint( CreateDbProxyEndpointRequest createDbProxyEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbProxyEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbProxyEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBProxyEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbProxyEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBProxyEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbProxyEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbProxyEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB security group. DB security groups control access to a DB instance. *

*

* A DB security group controls access to EC2-Classic DB instances that are not in a VPC. *

* *

* EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that * you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC * in the Amazon EC2 User Guide, the blog EC2-Classic Networking is * Retiring – Here’s How to Prepare, and Moving a DB instance not * in a VPC into a VPC in the Amazon RDS User Guide. *

*
* * @param createDbSecurityGroupRequest * @return A Java Future containing the result of the CreateDBSecurityGroup 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. *
    *
  • DbSecurityGroupAlreadyExistsException A DB security group with the name specified in * DBSecurityGroupName already exists.
  • *
  • DbSecurityGroupQuotaExceededException The request would result in the user exceeding the allowed * number of DB security groups.
  • *
  • DbSecurityGroupNotSupportedException A DB security group isn't allowed for this action.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBSecurityGroup * @see AWS API * Documentation */ @Override public CompletableFuture createDBSecurityGroup( CreateDbSecurityGroupRequest createDbSecurityGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbSecurityGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbSecurityGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBSecurityGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbSecurityGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBSecurityGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbSecurityGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbSecurityGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB shard group for Aurora Limitless Database. You must enable Aurora Limitless Database to create a * DB shard group. *

*

* Valid for: Aurora DB clusters only *

* * @param createDbShardGroupRequest * @return A Java Future containing the result of the CreateDBShardGroup 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. *
    *
  • DbShardGroupAlreadyExistsException The specified DB shard group name must be unique in your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • MaxDbShardGroupLimitReachedException The maximum number of DB shard groups for your Amazon Web * Services account in the specified Amazon Web Services Region has been reached.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • UnsupportedDbEngineVersionException The specified DB engine version isn't supported for Aurora * Limitless Database.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBShardGroup * @see AWS API * Documentation */ @Override public CompletableFuture createDBShardGroup(CreateDbShardGroupRequest createDbShardGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbShardGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbShardGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBShardGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbShardGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBShardGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbShardGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbShardGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a snapshot of a DB instance. The source DB instance must be in the available or * storage-optimization state. *

* * @param createDbSnapshotRequest * @return A Java Future containing the result of the CreateDBSnapshot 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. *
    *
  • DbSnapshotAlreadyExistsException DBSnapshotIdentifier is already used by an existing * snapshot.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBSnapshot * @see AWS API * Documentation */ @Override public CompletableFuture createDBSnapshot(CreateDbSnapshotRequest createDbSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the * Amazon Web Services Region. *

* * @param createDbSubnetGroupRequest * @return A Java Future containing the result of the CreateDBSubnetGroup 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. *
    *
  • DbSubnetGroupAlreadyExistsException DBSubnetGroupName is already used by an existing DB * subnet group.
  • *
  • DbSubnetGroupQuotaExceededException The request would result in the user exceeding the allowed number * of DB subnet groups.
  • *
  • DbSubnetQuotaExceededException The request would result in the user exceeding the allowed number of * subnets in a DB subnet groups.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateDBSubnetGroup * @see AWS API * Documentation */ @Override public CompletableFuture createDBSubnetGroup( CreateDbSubnetGroupRequest createDbSubnetGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createDbSubnetGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createDbSubnetGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateDBSubnetGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateDbSubnetGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateDBSubnetGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateDbSubnetGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createDbSubnetGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) * created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a * topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console. *

*

* You can specify the type of source (SourceType) that you want to be notified of and provide a list * of RDS sources (SourceIds) that triggers the events. You can also provide a list of event categories * (EventCategories) for events that you want to be notified of. For example, you can specify * SourceType = db-instance, SourceIds = mydbinstance1, * mydbinstance2 and EventCategories = Availability, Backup. *

*

* If you specify both the SourceType and SourceIds, such as SourceType = * db-instance and SourceIds = myDBInstance1, you are notified of all the * db-instance events for the specified source. If you specify a SourceType but do not * specify SourceIds, you receive notice of the events for that source type for all your RDS sources. * If you don't specify either the SourceType or the SourceIds, you are notified of events generated * from all RDS sources belonging to your customer account. *

*

* For more information about subscribing to an event for RDS DB engines, see Subscribing to Amazon * RDS event notification in the Amazon RDS User Guide. *

*

* For more information about subscribing to an event for Aurora DB engines, see Subscribing to * Amazon RDS event notification in the Amazon Aurora User Guide. *

* * @param createEventSubscriptionRequest * @return A Java Future containing the result of the CreateEventSubscription 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. *
    *
  • EventSubscriptionQuotaExceededException You have reached the maximum number of event subscriptions.
  • *
  • SubscriptionAlreadyExistException The supplied subscription name already exists.
  • *
  • SnsInvalidTopicException SNS has responded that there is a problem with the SNS topic specified.
  • *
  • SnsNoAuthorizationException You do not have permission to publish to the SNS topic ARN.
  • *
  • SnsTopicArnNotFoundException The SNS topic ARN does not exist.
  • *
  • SubscriptionCategoryNotFoundException The supplied category does not exist.
  • *
  • SourceNotFoundException The requested source could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateEventSubscription * @see AWS * API Documentation */ @Override public CompletableFuture createEventSubscription( CreateEventSubscriptionRequest createEventSubscriptionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createEventSubscriptionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createEventSubscriptionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateEventSubscription"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateEventSubscriptionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateEventSubscription").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateEventSubscriptionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createEventSubscriptionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database * contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives * data from the primary cluster through high-speed replication performed by the Aurora storage subsystem. *

*

* You can create a global database that is initially empty, and then create the primary and secondary DB clusters * in the global database. Or you can specify an existing Aurora cluster during the create operation, and this * cluster becomes the primary cluster of the global database. *

* *

* This operation applies only to Aurora DB clusters. *

*
* * @param createGlobalClusterRequest * @return A Java Future containing the result of the CreateGlobalCluster 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. *
    *
  • GlobalClusterAlreadyExistsException The GlobalClusterIdentifier already exists. Specify * a new global database identifier (unique name) to create a new global database cluster or to rename an * existing one.
  • *
  • GlobalClusterQuotaExceededException The number of global database clusters for this account is * already at the maximum allowed.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateGlobalCluster * @see AWS API * Documentation */ @Override public CompletableFuture createGlobalCluster( CreateGlobalClusterRequest createGlobalClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createGlobalClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createGlobalClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateGlobalCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateGlobalClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateGlobalCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateGlobalClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createGlobalClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a zero-ETL integration with Amazon Redshift. *

* * @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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • IntegrationAlreadyExistsException The integration you are trying to create already exists.
  • *
  • IntegrationQuotaExceededException You can't crate any more zero-ETL integrations because the quota * has been reached.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • IntegrationConflictOperationException A conflicting conditional operation is currently in progress * against this resource. Typically occurs when there are multiple requests being made to the same resource * at the same time, and these requests conflict with each other.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.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, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIntegration"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateIntegrationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); 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 whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new option group. You can create up to 20 option groups. *

*

* This command doesn't apply to RDS Custom. *

* * @param createOptionGroupRequest * @return A Java Future containing the result of the CreateOptionGroup 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. *
    *
  • OptionGroupAlreadyExistsException The option group you are trying to create already exists.
  • *
  • OptionGroupQuotaExceededException The quota of 20 option groups was exceeded for this Amazon Web * Services account.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateOptionGroup * @see AWS API * Documentation */ @Override public CompletableFuture createOptionGroup(CreateOptionGroupRequest createOptionGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createOptionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createOptionGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateOptionGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateOptionGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateOptionGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateOptionGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createOptionGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a tenant database in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle * container database (CDB) instances are supported. *

* * @param createTenantDatabaseRequest * @return A Java Future containing the result of the CreateTenantDatabase 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • TenantDatabaseAlreadyExistsException You attempted to either create a tenant database that already * exists or modify a tenant database to use the name of an existing tenant database.
  • *
  • TenantDatabaseQuotaExceededException You attempted to create more tenant databases than are permitted * in your Amazon Web Services account.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.CreateTenantDatabase * @see AWS API * Documentation */ @Override public CompletableFuture createTenantDatabase( CreateTenantDatabaseRequest createTenantDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTenantDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createTenantDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTenantDatabase"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateTenantDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateTenantDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new CreateTenantDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(createTenantDatabaseRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a blue/green deployment. *

*

* For more information, see Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon Aurora User Guide. *

* * @param deleteBlueGreenDeploymentRequest * @return A Java Future containing the result of the DeleteBlueGreenDeployment 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. *
    *
  • BlueGreenDeploymentNotFoundException BlueGreenDeploymentIdentifier doesn't refer to an * existing blue/green deployment.
  • *
  • InvalidBlueGreenDeploymentStateException The blue/green deployment can't be switched over or deleted * because there is an invalid configuration in the green environment.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteBlueGreenDeployment * @see AWS * API Documentation */ @Override public CompletableFuture deleteBlueGreenDeployment( DeleteBlueGreenDeploymentRequest deleteBlueGreenDeploymentRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteBlueGreenDeploymentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteBlueGreenDeploymentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteBlueGreenDeployment"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteBlueGreenDeploymentResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteBlueGreenDeployment").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteBlueGreenDeploymentRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteBlueGreenDeploymentRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a custom engine version. To run this command, make sure you meet the following prerequisites: *

*
    *
  • *

    * The CEV must not be the default for RDS Custom. If it is, change the default before running this command. *

    *
  • *
  • *

    * The CEV must not be associated with an RDS Custom DB instance, RDS Custom instance snapshot, or automated backup * of your RDS Custom instance. *

    *
  • *
*

* Typically, deletion takes a few minutes. *

* *

* The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with Amazon Web * Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the * DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the API gateway * that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for the * DeleteCustomDbEngineVersion event. *

*
*

* For more information, see Deleting a * CEV in the Amazon RDS User Guide. *

* * @param deleteCustomDbEngineVersionRequest * @return A Java Future containing the result of the DeleteCustomDBEngineVersion 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. *
    *
  • CustomDbEngineVersionNotFoundException The specified CEV was not found.
  • *
  • InvalidCustomDbEngineVersionStateException You can't delete the CEV.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteCustomDBEngineVersion * @see AWS API Documentation */ @Override public CompletableFuture deleteCustomDBEngineVersion( DeleteCustomDbEngineVersionRequest deleteCustomDbEngineVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCustomDbEngineVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCustomDbEngineVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCustomDBEngineVersion"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteCustomDbEngineVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCustomDBEngineVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteCustomDbEngineVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteCustomDbEngineVersionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all * automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the * specified DB cluster are not deleted. *

*

* If you're deleting a Multi-AZ DB cluster with read replicas, all cluster members are terminated and read replicas * are promoted to standalone instances. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param deleteDbClusterRequest * @return A Java Future containing the result of the DeleteDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbClusterSnapshotAlreadyExistsException The user already has a DB cluster snapshot with the given * identifier.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • DbClusterAutomatedBackupQuotaExceededException The quota for retained automated backups was exceeded. * This prevents you from retaining any additional automated backups. The retained automated backups quota * is the same as your DB cluster quota.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBCluster(DeleteDbClusterRequest deleteDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes automated backups using the DbClusterResourceId value of the source DB cluster or the Amazon * Resource Name (ARN) of the automated backups. *

* * @param deleteDbClusterAutomatedBackupRequest * @return A Java Future containing the result of the DeleteDBClusterAutomatedBackup 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. *
    *
  • InvalidDbClusterAutomatedBackupStateException The automated backup is in an invalid state. For * example, this automated backup is associated with an active cluster.
  • *
  • DbClusterAutomatedBackupNotFoundException No automated backup for this DB cluster was found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBClusterAutomatedBackup * @see AWS API Documentation */ @Override public CompletableFuture deleteDBClusterAutomatedBackup( DeleteDbClusterAutomatedBackupRequest deleteDbClusterAutomatedBackupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbClusterAutomatedBackupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbClusterAutomatedBackupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBClusterAutomatedBackup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbClusterAutomatedBackupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBClusterAutomatedBackup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbClusterAutomatedBackupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbClusterAutomatedBackupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster. *

* *

* This action only applies to Aurora DB clusters. *

*
* * @param deleteDbClusterEndpointRequest * @return A Java Future containing the result of the DeleteDBClusterEndpoint 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. *
    *
  • InvalidDbClusterEndpointStateException The requested operation can't be performed on the endpoint * while the endpoint is in this state.
  • *
  • DbClusterEndpointNotFoundException The specified custom endpoint doesn't exist.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBClusterEndpoint * @see AWS * API Documentation */ @Override public CompletableFuture deleteDBClusterEndpoint( DeleteDbClusterEndpointRequest deleteDbClusterEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbClusterEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbClusterEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBClusterEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbClusterEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBClusterEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbClusterEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbClusterEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated * with any DB clusters. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param deleteDbClusterParameterGroupRequest * @return A Java Future containing the result of the DeleteDBClusterParameterGroup 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. *
    *
  • InvalidDbParameterGroupStateException The DB parameter group is in use or is in an invalid state. If * you are attempting to delete the parameter group, you can't delete it when the parameter group is in this * state.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBClusterParameterGroup * @see AWS API Documentation */ @Override public CompletableFuture deleteDBClusterParameterGroup( DeleteDbClusterParameterGroupRequest deleteDbClusterParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbClusterParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbClusterParameterGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBClusterParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbClusterParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBClusterParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbClusterParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbClusterParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated. *

* *

* The DB cluster snapshot must be in the available state to be deleted. *

*
*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param deleteDbClusterSnapshotRequest * @return A Java Future containing the result of the DeleteDBClusterSnapshot 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. *
    *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBClusterSnapshot * @see AWS * API Documentation */ @Override public CompletableFuture deleteDBClusterSnapshot( DeleteDbClusterSnapshotRequest deleteDbClusterSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbClusterSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbClusterSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBClusterSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbClusterSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBClusterSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbClusterSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbClusterSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that * instance are deleted and can't be recovered. However, manual DB snapshots of the DB instance aren't deleted. *

*

* If you request a final DB snapshot, the status of the Amazon RDS DB instance is deleting until the * DB snapshot is created. This operation can't be canceled or reverted after it begins. To monitor the status of * this operation, use DescribeDBInstance. *

*

* When a DB instance is in a failure state and has a status of failed, * incompatible-restore, or incompatible-network, you can only delete it when you skip * creation of the final snapshot with the SkipFinalSnapshot parameter. *

*

* If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of * the following conditions are true: *

*
    *
  • *

    * The DB cluster is a read replica of another Amazon Aurora DB cluster. *

    *
  • *
  • *

    * The DB instance is the only instance in the DB cluster. *

    *
  • *
*

* To delete a DB instance in this case, first use the PromoteReadReplicaDBCluster operation to promote * the DB cluster so that it's no longer a read replica. After the promotion completes, use the * DeleteDBInstance operation to delete the final instance in the DB cluster. *

* *

* For RDS Custom DB instances, deleting the DB instance permanently deletes the EC2 instance and the associated EBS * volumes. Make sure that you don't terminate or delete these resources before you delete the DB instance. * Otherwise, deleting the DB instance and creation of the final snapshot might fail. *

*
* * @param deleteDbInstanceRequest * @return A Java Future containing the result of the DeleteDBInstance 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbSnapshotAlreadyExistsException DBSnapshotIdentifier is already used by an existing * snapshot.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbInstanceAutomatedBackupQuotaExceededException The quota for retained automated backups was * exceeded. This prevents you from retaining any additional automated backups. The retained automated * backups quota is the same as your DB instance quota.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBInstance(DeleteDbInstanceRequest deleteDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes automated backups using the DbiResourceId value of the source DB instance or the Amazon * Resource Name (ARN) of the automated backups. *

* * @param deleteDbInstanceAutomatedBackupRequest * Parameter input for the DeleteDBInstanceAutomatedBackup operation. * @return A Java Future containing the result of the DeleteDBInstanceAutomatedBackup 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. *
    *
  • InvalidDbInstanceAutomatedBackupStateException The automated backup is in an invalid state. For * example, this automated backup is associated with an active instance.
  • *
  • DbInstanceAutomatedBackupNotFoundException No automated backup for this DB instance was found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBInstanceAutomatedBackup * @see AWS API Documentation */ @Override public CompletableFuture deleteDBInstanceAutomatedBackup( DeleteDbInstanceAutomatedBackupRequest deleteDbInstanceAutomatedBackupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbInstanceAutomatedBackupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbInstanceAutomatedBackupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBInstanceAutomatedBackup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbInstanceAutomatedBackupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBInstanceAutomatedBackup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbInstanceAutomatedBackupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbInstanceAutomatedBackupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a specified DB parameter group. The DB parameter group to be deleted can't be associated with any DB * instances. *

* * @param deleteDbParameterGroupRequest * @return A Java Future containing the result of the DeleteDBParameterGroup 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. *
    *
  • InvalidDbParameterGroupStateException The DB parameter group is in use or is in an invalid state. If * you are attempting to delete the parameter group, you can't delete it when the parameter group is in this * state.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBParameterGroup * @see AWS * API Documentation */ @Override public CompletableFuture deleteDBParameterGroup( DeleteDbParameterGroupRequest deleteDbParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an existing DB proxy. *

* * @param deleteDbProxyRequest * @return A Java Future containing the result of the DeleteDBProxy 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBProxy * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBProxy(DeleteDbProxyRequest deleteDbProxyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbProxyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbProxyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBProxy"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbProxyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBProxy").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbProxyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbProxyRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a DBProxyEndpoint. Doing so removes the ability to access the DB proxy using the endpoint * that you defined. The endpoint that you delete might have provided capabilities such as read/write or read-only * operations, or using a different VPC than the DB proxy's default VPC. *

* * @param deleteDbProxyEndpointRequest * @return A Java Future containing the result of the DeleteDBProxyEndpoint 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. *
    *
  • DbProxyEndpointNotFoundException The DB proxy endpoint doesn't exist.
  • *
  • InvalidDbProxyEndpointStateException You can't perform this operation while the DB proxy endpoint is * in a particular state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBProxyEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBProxyEndpoint( DeleteDbProxyEndpointRequest deleteDbProxyEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbProxyEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbProxyEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBProxyEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbProxyEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBProxyEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbProxyEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbProxyEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a DB security group. *

*

* The specified DB security group must not be associated with any DB instances. *

* *

* EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that * you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC * in the Amazon EC2 User Guide, the blog EC2-Classic Networking is * Retiring – Here’s How to Prepare, and Moving a DB instance not * in a VPC into a VPC in the Amazon RDS User Guide. *

*
* * @param deleteDbSecurityGroupRequest * @return A Java Future containing the result of the DeleteDBSecurityGroup 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. *
    *
  • InvalidDbSecurityGroupStateException The state of the DB security group doesn't allow deletion.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBSecurityGroup * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBSecurityGroup( DeleteDbSecurityGroupRequest deleteDbSecurityGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbSecurityGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbSecurityGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBSecurityGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbSecurityGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBSecurityGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbSecurityGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbSecurityGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an Aurora Limitless Database DB shard group. *

* * @param deleteDbShardGroupRequest * @return A Java Future containing the result of the DeleteDBShardGroup 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. *
    *
  • DbShardGroupNotFoundException The specified DB shard group name wasn't found.
  • *
  • InvalidDbShardGroupStateException The DB shard group must be in the available state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBShardGroup * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBShardGroup(DeleteDbShardGroupRequest deleteDbShardGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbShardGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbShardGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBShardGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbShardGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBShardGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbShardGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbShardGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a DB snapshot. If the snapshot is being copied, the copy operation is terminated. *

* *

* The DB snapshot must be in the available state to be deleted. *

*
* * @param deleteDbSnapshotRequest * @return A Java Future containing the result of the DeleteDBSnapshot 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. *
    *
  • InvalidDbSnapshotStateException The state of the DB snapshot doesn't allow deletion.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBSnapshot * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBSnapshot(DeleteDbSnapshotRequest deleteDbSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a DB subnet group. *

* *

* The specified database subnet group must not be associated with any DB instances. *

*
* * @param deleteDbSubnetGroupRequest * @return A Java Future containing the result of the DeleteDBSubnetGroup 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. *
    *
  • InvalidDbSubnetGroupStateException The DB subnet group cannot be deleted because it's in use.
  • *
  • InvalidDbSubnetStateException The DB subnet isn't in the available state.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteDBSubnetGroup * @see AWS API * Documentation */ @Override public CompletableFuture deleteDBSubnetGroup( DeleteDbSubnetGroupRequest deleteDbSubnetGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteDbSubnetGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDbSubnetGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDBSubnetGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteDbSubnetGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteDBSubnetGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteDbSubnetGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteDbSubnetGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an RDS event notification subscription. *

* * @param deleteEventSubscriptionRequest * @return A Java Future containing the result of the DeleteEventSubscription 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. *
    *
  • SubscriptionNotFoundException The subscription name does not exist.
  • *
  • InvalidEventSubscriptionStateException This error can occur if someone else is modifying a * subscription. You should retry the action.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteEventSubscription * @see AWS * API Documentation */ @Override public CompletableFuture deleteEventSubscription( DeleteEventSubscriptionRequest deleteEventSubscriptionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteEventSubscriptionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteEventSubscriptionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteEventSubscription"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteEventSubscriptionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteEventSubscription").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteEventSubscriptionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteEventSubscriptionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed * first. *

* *

* This action only applies to Aurora DB clusters. *

*
* * @param deleteGlobalClusterRequest * @return A Java Future containing the result of the DeleteGlobalCluster 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. *
    *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • InvalidGlobalClusterStateException The global cluster is in an invalid state and can't perform the * 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteGlobalCluster * @see AWS API * Documentation */ @Override public CompletableFuture deleteGlobalCluster( DeleteGlobalClusterRequest deleteGlobalClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteGlobalClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteGlobalClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteGlobalCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteGlobalClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteGlobalCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteGlobalClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteGlobalClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a zero-ETL integration with Amazon Redshift. *

* * @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. *
    *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • IntegrationConflictOperationException A conflicting conditional operation is currently in progress * against this resource. Typically occurs when there are multiple requests being made to the same resource * at the same time, and these requests conflict with each other.
  • *
  • InvalidIntegrationStateException The integration is in an invalid state and can't perform the * 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.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, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteIntegration"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteIntegrationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); 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 whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an existing option group. *

* * @param deleteOptionGroupRequest * @return A Java Future containing the result of the DeleteOptionGroup 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. *
    *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • InvalidOptionGroupStateException The option group isn't in the available state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteOptionGroup * @see AWS API * Documentation */ @Override public CompletableFuture deleteOptionGroup(DeleteOptionGroupRequest deleteOptionGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteOptionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteOptionGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteOptionGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteOptionGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteOptionGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteOptionGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteOptionGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a tenant database from your DB instance. This command only applies to RDS for Oracle container database * (CDB) instances. *

*

* You can't delete a tenant database when it is the only tenant in the DB instance. *

* * @param deleteTenantDatabaseRequest * @return A Java Future containing the result of the DeleteTenantDatabase 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • TenantDatabaseNotFoundException The specified tenant database wasn't found in the DB instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeleteTenantDatabase * @see AWS API * Documentation */ @Override public CompletableFuture deleteTenantDatabase( DeleteTenantDatabaseRequest deleteTenantDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTenantDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTenantDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTenantDatabase"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteTenantDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteTenantDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeleteTenantDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deleteTenantDatabaseRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Remove the association between one or more DBProxyTarget data structures and a * DBProxyTargetGroup. *

* * @param deregisterDbProxyTargetsRequest * @return A Java Future containing the result of the DeregisterDBProxyTargets 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. *
    *
  • DbProxyTargetNotFoundException The specified RDS DB instance or Aurora DB cluster isn't available for * a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DeregisterDBProxyTargets * @see AWS * API Documentation */ @Override public CompletableFuture deregisterDBProxyTargets( DeregisterDbProxyTargetsRequest deregisterDbProxyTargetsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deregisterDbProxyTargetsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deregisterDbProxyTargetsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeregisterDBProxyTargets"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeregisterDbProxyTargetsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeregisterDBProxyTargets").withProtocolMetadata(protocolMetadata) .withMarshaller(new DeregisterDbProxyTargetsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(deregisterDbProxyTargetsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, * such as the number of DB instances allowed. The description for a quota includes the quota name, current usage * toward that quota, and the quota's maximum value. *

*

* This command doesn't take any parameters. *

* * @param describeAccountAttributesRequest * @return A Java Future containing the result of the DescribeAccountAttributes 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeAccountAttributes * @see AWS * API Documentation */ @Override public CompletableFuture describeAccountAttributes( DescribeAccountAttributesRequest describeAccountAttributesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAccountAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeAccountAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAccountAttributes"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeAccountAttributesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeAccountAttributes").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeAccountAttributesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeAccountAttributesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes one or more blue/green deployments. *

*

* For more information, see Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon Aurora User Guide. *

* * @param describeBlueGreenDeploymentsRequest * @return A Java Future containing the result of the DescribeBlueGreenDeployments 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. *
    *
  • BlueGreenDeploymentNotFoundException BlueGreenDeploymentIdentifier doesn't refer to an * existing blue/green deployment.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeBlueGreenDeployments * @see AWS API Documentation */ @Override public CompletableFuture describeBlueGreenDeployments( DescribeBlueGreenDeploymentsRequest describeBlueGreenDeploymentsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeBlueGreenDeploymentsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeBlueGreenDeploymentsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeBlueGreenDeployments"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeBlueGreenDeploymentsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeBlueGreenDeployments").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeBlueGreenDeploymentsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeBlueGreenDeploymentsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the set of certificate authority (CA) certificates provided by Amazon RDS for this Amazon Web Services * account. *

*

* For more information, see Using SSL/TLS to encrypt a * connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to * encrypt a connection to a DB cluster in the Amazon Aurora User Guide. *

* * @param describeCertificatesRequest * @return A Java Future containing the result of the DescribeCertificates 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. *
    *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeCertificates * @see AWS API * Documentation */ @Override public CompletableFuture describeCertificates( DescribeCertificatesRequest describeCertificatesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCertificatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCertificatesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCertificates"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeCertificatesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCertificates").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeCertificatesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeCertificatesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Displays backups for both current and deleted DB clusters. For example, use this operation to find details about * automated backups for previously deleted clusters. Current clusters are returned for both the * DescribeDBClusterAutomatedBackups and DescribeDBClusters operations. *

*

* All parameters are optional. *

* * @param describeDbClusterAutomatedBackupsRequest * @return A Java Future containing the result of the DescribeDBClusterAutomatedBackups 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. *
    *
  • DbClusterAutomatedBackupNotFoundException No automated backup for this DB cluster was found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterAutomatedBackups * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterAutomatedBackups( DescribeDbClusterAutomatedBackupsRequest describeDbClusterAutomatedBackupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterAutomatedBackupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterAutomatedBackupsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterAutomatedBackups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterAutomatedBackupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterAutomatedBackups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterAutomatedBackupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterAutomatedBackupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about backtracks for a DB cluster. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

* *

* This action only applies to Aurora MySQL DB clusters. *

*
* * @param describeDbClusterBacktracksRequest * @return A Java Future containing the result of the DescribeDBClusterBacktracks 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbClusterBacktrackNotFoundException BacktrackIdentifier doesn't refer to an existing * backtrack.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterBacktracks * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterBacktracks( DescribeDbClusterBacktracksRequest describeDbClusterBacktracksRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterBacktracksRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterBacktracksRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterBacktracks"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterBacktracksResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterBacktracks").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterBacktracksRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterBacktracksRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about endpoints for an Amazon Aurora DB cluster. *

* *

* This action only applies to Aurora DB clusters. *

*
* * @param describeDbClusterEndpointsRequest * @return A Java Future containing the result of the DescribeDBClusterEndpoints 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterEndpoints * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterEndpoints( DescribeDbClusterEndpointsRequest describeDbClusterEndpointsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterEndpoints"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterEndpoints").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterEndpointsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterEndpointsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DBClusterParameterGroup descriptions. If a * DBClusterParameterGroupName parameter is specified, the list will contain only the description of * the specified DB cluster parameter group. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param describeDbClusterParameterGroupsRequest * @return A Java Future containing the result of the DescribeDBClusterParameterGroups 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterParameterGroups * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterParameterGroups( DescribeDbClusterParameterGroupsRequest describeDbClusterParameterGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterParameterGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterParameterGroupsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterParameterGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterParameterGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterParameterGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterParameterGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterParameterGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the detailed parameter list for a particular DB cluster parameter group. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param describeDbClusterParametersRequest * @return A Java Future containing the result of the DescribeDBClusterParameters 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterParameters * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterParameters( DescribeDbClusterParametersRequest describeDbClusterParametersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterParametersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterParametersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterParameters"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterParametersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterParameters").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterParametersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterParametersRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot. *

*

* When sharing snapshots with other Amazon Web Services accounts, DescribeDBClusterSnapshotAttributes * returns the restore attribute and a list of IDs for the Amazon Web Services accounts that are * authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of * values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or * restored by all Amazon Web Services accounts. *

*

* To add or remove access for an Amazon Web Services account to copy or restore a manual DB cluster snapshot, or to * make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API * action. *

* * @param describeDbClusterSnapshotAttributesRequest * @return A Java Future containing the result of the DescribeDBClusterSnapshotAttributes 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. *
    *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterSnapshotAttributes * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterSnapshotAttributes( DescribeDbClusterSnapshotAttributesRequest describeDbClusterSnapshotAttributesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterSnapshotAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterSnapshotAttributesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterSnapshotAttributes"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterSnapshotAttributesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterSnapshotAttributes").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterSnapshotAttributesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterSnapshotAttributesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about DB cluster snapshots. This API action supports pagination. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param describeDbClusterSnapshotsRequest * @return A Java Future containing the result of the DescribeDBClusterSnapshots 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. *
    *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusterSnapshots * @see AWS API Documentation */ @Override public CompletableFuture describeDBClusterSnapshots( DescribeDbClusterSnapshotsRequest describeDbClusterSnapshotsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClusterSnapshotsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClusterSnapshotsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusterSnapshots"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClusterSnapshotsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusterSnapshots").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClusterSnapshotsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClusterSnapshotsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes existing Amazon Aurora DB clusters and Multi-AZ DB clusters. This API supports pagination. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

*

* This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances. *

* * @param describeDbClustersRequest * @return A Java Future containing the result of the DescribeDBClusters 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBClusters * @see AWS API * Documentation */ @Override public CompletableFuture describeDBClusters(DescribeDbClustersRequest describeDbClustersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbClustersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbClustersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBClusters"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbClustersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBClusters").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbClustersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbClustersRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the properties of specific versions of DB engines. *

* * @param describeDbEngineVersionsRequest * @return A Java Future containing the result of the DescribeDBEngineVersions 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBEngineVersions * @see AWS * API Documentation */ @Override public CompletableFuture describeDBEngineVersions( DescribeDbEngineVersionsRequest describeDbEngineVersionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbEngineVersionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbEngineVersionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBEngineVersions"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbEngineVersionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBEngineVersions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbEngineVersionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbEngineVersionsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Displays backups for both current and deleted instances. For example, use this operation to find details about * automated backups for previously deleted instances. Current instances with retention periods greater than zero * (0) are returned for both the DescribeDBInstanceAutomatedBackups and * DescribeDBInstances operations. *

*

* All parameters are optional. *

* * @param describeDbInstanceAutomatedBackupsRequest * Parameter input for DescribeDBInstanceAutomatedBackups. * @return A Java Future containing the result of the DescribeDBInstanceAutomatedBackups 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. *
    *
  • DbInstanceAutomatedBackupNotFoundException No automated backup for this DB instance was found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBInstanceAutomatedBackups * @see AWS API Documentation */ @Override public CompletableFuture describeDBInstanceAutomatedBackups( DescribeDbInstanceAutomatedBackupsRequest describeDbInstanceAutomatedBackupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbInstanceAutomatedBackupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbInstanceAutomatedBackupsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBInstanceAutomatedBackups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbInstanceAutomatedBackupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBInstanceAutomatedBackups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbInstanceAutomatedBackupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbInstanceAutomatedBackupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes provisioned RDS instances. This API supports pagination. *

* *

* This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances. *

*
* * @param describeDbInstancesRequest * @return A Java Future containing the result of the DescribeDBInstances 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBInstances * @see AWS API * Documentation */ @Override public CompletableFuture describeDBInstances( DescribeDbInstancesRequest describeDbInstancesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbInstancesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbInstancesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBInstances"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbInstancesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBInstances").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbInstancesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbInstancesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DB log files for the DB instance. *

*

* This command doesn't apply to RDS Custom. *

* * @param describeDbLogFilesRequest * @return A Java Future containing the result of the DescribeDBLogFiles 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBLogFiles * @see AWS API * Documentation */ @Override public CompletableFuture describeDBLogFiles(DescribeDbLogFilesRequest describeDbLogFilesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbLogFilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbLogFilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBLogFiles"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbLogFilesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBLogFiles").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbLogFilesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbLogFilesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is * specified, the list will contain only the description of the specified DB parameter group. *

* * @param describeDbParameterGroupsRequest * @return A Java Future containing the result of the DescribeDBParameterGroups 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBParameterGroups * @see AWS * API Documentation */ @Override public CompletableFuture describeDBParameterGroups( DescribeDbParameterGroupsRequest describeDbParameterGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbParameterGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbParameterGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBParameterGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbParameterGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBParameterGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbParameterGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbParameterGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the detailed parameter list for a particular DB parameter group. *

* * @param describeDbParametersRequest * @return A Java Future containing the result of the DescribeDBParameters 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBParameters * @see AWS API * Documentation */ @Override public CompletableFuture describeDBParameters( DescribeDbParametersRequest describeDbParametersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbParametersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbParametersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBParameters"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbParametersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBParameters").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbParametersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbParametersRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about DB proxies. *

* * @param describeDbProxiesRequest * @return A Java Future containing the result of the DescribeDBProxies 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBProxies * @see AWS API * Documentation */ @Override public CompletableFuture describeDBProxies(DescribeDbProxiesRequest describeDbProxiesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbProxiesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbProxiesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBProxies"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbProxiesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBProxies").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbProxiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbProxiesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about DB proxy endpoints. *

* * @param describeDbProxyEndpointsRequest * @return A Java Future containing the result of the DescribeDBProxyEndpoints 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyEndpointNotFoundException The DB proxy endpoint doesn't 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBProxyEndpoints * @see AWS * API Documentation */ @Override public CompletableFuture describeDBProxyEndpoints( DescribeDbProxyEndpointsRequest describeDbProxyEndpointsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbProxyEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbProxyEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBProxyEndpoints"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbProxyEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBProxyEndpoints").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbProxyEndpointsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbProxyEndpointsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about DB proxy target groups, represented by DBProxyTargetGroup data structures. *

* * @param describeDbProxyTargetGroupsRequest * @return A Java Future containing the result of the DescribeDBProxyTargetGroups 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBProxyTargetGroups * @see AWS API Documentation */ @Override public CompletableFuture describeDBProxyTargetGroups( DescribeDbProxyTargetGroupsRequest describeDbProxyTargetGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbProxyTargetGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbProxyTargetGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBProxyTargetGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbProxyTargetGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBProxyTargetGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbProxyTargetGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbProxyTargetGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about DBProxyTarget objects. This API supports pagination. *

* * @param describeDbProxyTargetsRequest * @return A Java Future containing the result of the DescribeDBProxyTargets 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetNotFoundException The specified RDS DB instance or Aurora DB cluster isn't available for * a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBProxyTargets * @see AWS * API Documentation */ @Override public CompletableFuture describeDBProxyTargets( DescribeDbProxyTargetsRequest describeDbProxyTargetsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbProxyTargetsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbProxyTargetsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBProxyTargets"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbProxyTargetsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBProxyTargets").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbProxyTargetsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbProxyTargetsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the recommendations to resolve the issues for your DB instances, DB clusters, and DB parameter groups. *

* * @param describeDbRecommendationsRequest * @return A Java Future containing the result of the DescribeDBRecommendations 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBRecommendations * @see AWS * API Documentation */ @Override public CompletableFuture describeDBRecommendations( DescribeDbRecommendationsRequest describeDbRecommendationsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbRecommendationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbRecommendationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBRecommendations"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbRecommendationsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBRecommendations").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbRecommendationsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbRecommendationsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, * the list will contain only the descriptions of the specified DB security group. *

* *

* EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that * you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC * in the Amazon EC2 User Guide, the blog EC2-Classic Networking is * Retiring – Here’s How to Prepare, and Moving a DB instance not * in a VPC into a VPC in the Amazon RDS User Guide. *

*
* * @param describeDbSecurityGroupsRequest * @return A Java Future containing the result of the DescribeDBSecurityGroups 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. *
    *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBSecurityGroups * @see AWS * API Documentation */ @Override public CompletableFuture describeDBSecurityGroups( DescribeDbSecurityGroupsRequest describeDbSecurityGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbSecurityGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbSecurityGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBSecurityGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbSecurityGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBSecurityGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbSecurityGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbSecurityGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes existing Aurora Limitless Database DB shard groups. *

* * @param describeDbShardGroupsRequest * @return A Java Future containing the result of the DescribeDBShardGroups 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. *
    *
  • DbShardGroupNotFoundException The specified DB shard group name wasn't found.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBShardGroups * @see AWS API * Documentation */ @Override public CompletableFuture describeDBShardGroups( DescribeDbShardGroupsRequest describeDbShardGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbShardGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbShardGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBShardGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbShardGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBShardGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbShardGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbShardGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DB snapshot attribute names and values for a manual DB snapshot. *

*

* When sharing snapshots with other Amazon Web Services accounts, DescribeDBSnapshotAttributes returns * the restore attribute and a list of IDs for the Amazon Web Services accounts that are authorized to * copy or restore the manual DB snapshot. If all is included in the list of values for the * restore attribute, then the manual DB snapshot is public and can be copied or restored by all Amazon * Web Services accounts. *

*

* To add or remove access for an Amazon Web Services account to copy or restore a manual DB snapshot, or to make * the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action. *

* * @param describeDbSnapshotAttributesRequest * @return A Java Future containing the result of the DescribeDBSnapshotAttributes 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. *
    *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBSnapshotAttributes * @see AWS API Documentation */ @Override public CompletableFuture describeDBSnapshotAttributes( DescribeDbSnapshotAttributesRequest describeDbSnapshotAttributesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbSnapshotAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbSnapshotAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBSnapshotAttributes"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbSnapshotAttributesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBSnapshotAttributes").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbSnapshotAttributesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbSnapshotAttributesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the tenant databases that exist in a DB snapshot. This command only applies to RDS for Oracle DB * instances in the multi-tenant configuration. *

*

* You can use this command to inspect the tenant databases within a snapshot before restoring it. You can't * directly interact with the tenant databases in a DB snapshot. If you restore a snapshot that was taken from DB * instance using the multi-tenant configuration, you restore all its tenant databases. *

* * @param describeDbSnapshotTenantDatabasesRequest * @return A Java Future containing the result of the DescribeDBSnapshotTenantDatabases 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. *
    *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBSnapshotTenantDatabases * @see AWS API Documentation */ @Override public CompletableFuture describeDBSnapshotTenantDatabases( DescribeDbSnapshotTenantDatabasesRequest describeDbSnapshotTenantDatabasesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbSnapshotTenantDatabasesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbSnapshotTenantDatabasesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBSnapshotTenantDatabases"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbSnapshotTenantDatabasesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBSnapshotTenantDatabases").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbSnapshotTenantDatabasesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbSnapshotTenantDatabasesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about DB snapshots. This API action supports pagination. *

* * @param describeDbSnapshotsRequest * @return A Java Future containing the result of the DescribeDBSnapshots 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. *
    *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBSnapshots * @see AWS API * Documentation */ @Override public CompletableFuture describeDBSnapshots( DescribeDbSnapshotsRequest describeDbSnapshotsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbSnapshotsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbSnapshotsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBSnapshots"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbSnapshotsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBSnapshots").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbSnapshotsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbSnapshotsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the * descriptions of the specified DBSubnetGroup. *

*

* For an overview of CIDR ranges, go to the Wikipedia Tutorial. *

* * @param describeDbSubnetGroupsRequest * @return A Java Future containing the result of the DescribeDBSubnetGroups 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. *
    *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeDBSubnetGroups * @see AWS * API Documentation */ @Override public CompletableFuture describeDBSubnetGroups( DescribeDbSubnetGroupsRequest describeDbSubnetGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDbSubnetGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDbSubnetGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDBSubnetGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeDbSubnetGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeDBSubnetGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeDbSubnetGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeDbSubnetGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the default engine and system parameter information for the cluster database engine. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

* * @param describeEngineDefaultClusterParametersRequest * @return A Java Future containing the result of the DescribeEngineDefaultClusterParameters 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeEngineDefaultClusterParameters * @see AWS API Documentation */ @Override public CompletableFuture describeEngineDefaultClusterParameters( DescribeEngineDefaultClusterParametersRequest describeEngineDefaultClusterParametersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEngineDefaultClusterParametersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEngineDefaultClusterParametersRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEngineDefaultClusterParameters"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeEngineDefaultClusterParametersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEngineDefaultClusterParameters").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeEngineDefaultClusterParametersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeEngineDefaultClusterParametersRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the default engine and system parameter information for the specified database engine. *

* * @param describeEngineDefaultParametersRequest * @return A Java Future containing the result of the DescribeEngineDefaultParameters 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeEngineDefaultParameters * @see AWS API Documentation */ @Override public CompletableFuture describeEngineDefaultParameters( DescribeEngineDefaultParametersRequest describeEngineDefaultParametersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEngineDefaultParametersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEngineDefaultParametersRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEngineDefaultParameters"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeEngineDefaultParametersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEngineDefaultParameters").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeEngineDefaultParametersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeEngineDefaultParametersRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Displays a list of categories for all event source types, or, if specified, for a specified source type. You can * also see this list in the "Amazon RDS event categories and event messages" section of the Amazon RDS User * Guide or the Amazon Aurora * User Guide . *

* * @param describeEventCategoriesRequest * @return A Java Future containing the result of the DescribeEventCategories 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeEventCategories * @see AWS * API Documentation */ @Override public CompletableFuture describeEventCategories( DescribeEventCategoriesRequest describeEventCategoriesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEventCategoriesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEventCategoriesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEventCategories"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeEventCategoriesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEventCategories").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeEventCategoriesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeEventCategoriesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all the subscription descriptions for a customer account. The description for a subscription includes * SubscriptionName, SNSTopicARN, CustomerID, SourceType, * SourceID, CreationTime, and Status. *

*

* If you specify a SubscriptionName, lists the description for that subscription. *

* * @param describeEventSubscriptionsRequest * @return A Java Future containing the result of the DescribeEventSubscriptions 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. *
    *
  • SubscriptionNotFoundException The subscription name 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeEventSubscriptions * @see AWS API Documentation */ @Override public CompletableFuture describeEventSubscriptions( DescribeEventSubscriptionsRequest describeEventSubscriptionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEventSubscriptionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEventSubscriptionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEventSubscriptions"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeEventSubscriptionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEventSubscriptions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeEventSubscriptionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeEventSubscriptionsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, DB * cluster snapshots, and RDS Proxies for the past 14 days. Events specific to a particular DB instance, DB cluster, * DB parameter group, DB security group, DB snapshot, DB cluster snapshot group, or RDS Proxy can be obtained by * providing the name as a parameter. *

*

* For more information on working with events, see Monitoring Amazon RDS * events in the Amazon RDS User Guide and Monitoring Amazon * Aurora events in the Amazon Aurora User Guide. *

* *

* By default, RDS returns events that were generated in the past hour. *

*
* * @param describeEventsRequest * @return A Java Future containing the result of the DescribeEvents 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeEvents * @see AWS API * Documentation */ @Override public CompletableFuture describeEvents(DescribeEventsRequest describeEventsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEventsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEventsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEvents"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeEventsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEvents").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeEventsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeEventsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about a snapshot or cluster export to Amazon S3. This API operation supports pagination. *

* * @param describeExportTasksRequest * @return A Java Future containing the result of the DescribeExportTasks 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. *
    *
  • ExportTaskNotFoundException The export task doesn't 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeExportTasks * @see AWS API * Documentation */ @Override public CompletableFuture describeExportTasks( DescribeExportTasksRequest describeExportTasksRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeExportTasksRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeExportTasksRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeExportTasks"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeExportTasksResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeExportTasks").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeExportTasksRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeExportTasksRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about Aurora global database clusters. This API supports pagination. *

*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

* *

* This action only applies to Aurora DB clusters. *

*
* * @param describeGlobalClustersRequest * @return A Java Future containing the result of the DescribeGlobalClusters 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. *
    *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeGlobalClusters * @see AWS * API Documentation */ @Override public CompletableFuture describeGlobalClusters( DescribeGlobalClustersRequest describeGlobalClustersRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeGlobalClustersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeGlobalClustersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeGlobalClusters"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeGlobalClustersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeGlobalClusters").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeGlobalClustersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeGlobalClustersRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describe one or more zero-ETL integrations with Amazon Redshift. *

* * @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. *
    *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.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, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeIntegrations"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeIntegrationsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); 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 whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes all available options for the specified engine. *

* * @param describeOptionGroupOptionsRequest * @return A Java Future containing the result of the DescribeOptionGroupOptions 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeOptionGroupOptions * @see AWS API Documentation */ @Override public CompletableFuture describeOptionGroupOptions( DescribeOptionGroupOptionsRequest describeOptionGroupOptionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeOptionGroupOptionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeOptionGroupOptionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeOptionGroupOptions"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeOptionGroupOptionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeOptionGroupOptions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeOptionGroupOptionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeOptionGroupOptionsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the available option groups. *

* * @param describeOptionGroupsRequest * @return A Java Future containing the result of the DescribeOptionGroups 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. *
    *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeOptionGroups * @see AWS API * Documentation */ @Override public CompletableFuture describeOptionGroups( DescribeOptionGroupsRequest describeOptionGroupsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeOptionGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeOptionGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeOptionGroups"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeOptionGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeOptionGroups").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeOptionGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeOptionGroupsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the orderable DB instance options for a specified DB engine. *

* * @param describeOrderableDbInstanceOptionsRequest * @return A Java Future containing the result of the DescribeOrderableDBInstanceOptions 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeOrderableDBInstanceOptions * @see AWS API Documentation */ @Override public CompletableFuture describeOrderableDBInstanceOptions( DescribeOrderableDbInstanceOptionsRequest describeOrderableDbInstanceOptionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeOrderableDbInstanceOptionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeOrderableDbInstanceOptionsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeOrderableDBInstanceOptions"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeOrderableDbInstanceOptionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeOrderableDBInstanceOptions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeOrderableDbInstanceOptionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeOrderableDbInstanceOptionsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of resources (for example, DB instances) that have at least one pending maintenance action. *

*

* This API follows an eventual consistency model. This means that the result of the * DescribePendingMaintenanceActions command might not be immediately visible to all subsequent RDS * commands. Keep this in mind when you use DescribePendingMaintenanceActions immediately after using a * previous API command such as ApplyPendingMaintenanceActions. *

* * @param describePendingMaintenanceActionsRequest * @return A Java Future containing the result of the DescribePendingMaintenanceActions 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. *
    *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribePendingMaintenanceActions * @see AWS API Documentation */ @Override public CompletableFuture describePendingMaintenanceActions( DescribePendingMaintenanceActionsRequest describePendingMaintenanceActionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describePendingMaintenanceActionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describePendingMaintenanceActionsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribePendingMaintenanceActions"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribePendingMaintenanceActionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribePendingMaintenanceActions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribePendingMaintenanceActionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describePendingMaintenanceActionsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about reserved DB instances for this account, or about a specified reserved DB instance. *

* * @param describeReservedDbInstancesRequest * @return A Java Future containing the result of the DescribeReservedDBInstances 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. *
    *
  • ReservedDbInstanceNotFoundException The specified reserved DB Instance not found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeReservedDBInstances * @see AWS API Documentation */ @Override public CompletableFuture describeReservedDBInstances( DescribeReservedDbInstancesRequest describeReservedDbInstancesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeReservedDbInstancesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeReservedDbInstancesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeReservedDBInstances"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeReservedDbInstancesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeReservedDBInstances").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeReservedDbInstancesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeReservedDbInstancesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists available reserved DB instance offerings. *

* * @param describeReservedDbInstancesOfferingsRequest * @return A Java Future containing the result of the DescribeReservedDBInstancesOfferings 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. *
    *
  • ReservedDbInstancesOfferingNotFoundException Specified offering 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeReservedDBInstancesOfferings * @see AWS API Documentation */ @Override public CompletableFuture describeReservedDBInstancesOfferings( DescribeReservedDbInstancesOfferingsRequest describeReservedDbInstancesOfferingsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeReservedDbInstancesOfferingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeReservedDbInstancesOfferingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeReservedDBInstancesOfferings"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeReservedDbInstancesOfferingsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeReservedDBInstancesOfferings").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeReservedDbInstancesOfferingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeReservedDbInstancesOfferingsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of the source Amazon Web Services Regions where the current Amazon Web Services Region can create * a read replica, copy a DB snapshot from, or replicate automated backups from. *

*

* Use this operation to determine whether cross-Region features are supported between other Regions and your * current Region. This operation supports pagination. *

*

* To return information about the Regions that are enabled for your account, or all Regions, use the EC2 operation * DescribeRegions. For more information, see DescribeRegions in * the Amazon EC2 API Reference. *

* * @param describeSourceRegionsRequest * @return A Java Future containing the result of the DescribeSourceRegions 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeSourceRegions * @see AWS API * Documentation */ @Override public CompletableFuture describeSourceRegions( DescribeSourceRegionsRequest describeSourceRegionsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeSourceRegionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeSourceRegionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeSourceRegions"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeSourceRegionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeSourceRegions").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeSourceRegionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeSourceRegionsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Describes the tenant databases in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle CDB * instances are supported. *

* * @param describeTenantDatabasesRequest * @return A Java Future containing the result of the DescribeTenantDatabases 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeTenantDatabases * @see AWS * API Documentation */ @Override public CompletableFuture describeTenantDatabases( DescribeTenantDatabasesRequest describeTenantDatabasesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeTenantDatabasesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeTenantDatabasesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeTenantDatabases"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeTenantDatabasesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeTenantDatabases").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeTenantDatabasesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeTenantDatabasesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your * DB instance. You can use this information when you call ModifyDBInstance. *

*

* This command doesn't apply to RDS Custom. *

* * @param describeValidDbInstanceModificationsRequest * @return A Java Future containing the result of the DescribeValidDBInstanceModifications 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DescribeValidDBInstanceModifications * @see AWS API Documentation */ @Override public CompletableFuture describeValidDBInstanceModifications( DescribeValidDbInstanceModificationsRequest describeValidDbInstanceModificationsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeValidDbInstanceModificationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeValidDbInstanceModificationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeValidDBInstanceModifications"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeValidDbInstanceModificationsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeValidDBInstanceModifications").withProtocolMetadata(protocolMetadata) .withMarshaller(new DescribeValidDbInstanceModificationsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(describeValidDbInstanceModificationsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint disables RDS Data API. *

*

* For more information, see Using RDS Data API in the * Amazon Aurora User Guide. *

* *

* This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To disable the HTTP * endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the * ModifyDBCluster operation. *

*
* * @param disableHttpEndpointRequest * @return A Java Future containing the result of the DisableHttpEndpoint 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. *
    *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • InvalidResourceStateException The operation can't be performed because another operation is in * progress.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DisableHttpEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture disableHttpEndpoint( DisableHttpEndpointRequest disableHttpEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disableHttpEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disableHttpEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisableHttpEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DisableHttpEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DisableHttpEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new DisableHttpEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(disableHttpEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Downloads all or a portion of the specified log file, up to 1 MB in size. *

*

* This command doesn't apply to RDS Custom. *

* * @param downloadDbLogFilePortionRequest * @return A Java Future containing the result of the DownloadDBLogFilePortion 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbLogFileNotFoundException LogFileName doesn't refer to an existing DB log file.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.DownloadDBLogFilePortion * @see AWS * API Documentation */ @Override public CompletableFuture downloadDBLogFilePortion( DownloadDbLogFilePortionRequest downloadDbLogFilePortionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(downloadDbLogFilePortionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, downloadDbLogFilePortionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DownloadDBLogFilePortion"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DownloadDbLogFilePortionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DownloadDBLogFilePortion").withProtocolMetadata(protocolMetadata) .withMarshaller(new DownloadDbLogFilePortionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(downloadDbLogFilePortionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled. *

*

* When enabled, this endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on * the Aurora DB cluster. You can also query your database from inside the RDS console with the RDS query editor. *

*

* For more information, see Using RDS Data API in the * Amazon Aurora User Guide. *

* *

* This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To enable the HTTP * endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the * ModifyDBCluster operation. *

*
* * @param enableHttpEndpointRequest * @return A Java Future containing the result of the EnableHttpEndpoint 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. *
    *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • InvalidResourceStateException The operation can't be performed because another operation is in * progress.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.EnableHttpEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture enableHttpEndpoint(EnableHttpEndpointRequest enableHttpEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(enableHttpEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, enableHttpEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "EnableHttpEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(EnableHttpEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("EnableHttpEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new EnableHttpEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(enableHttpEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Forces a failover for a DB cluster. *

*

* For an Aurora DB cluster, failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in * the DB cluster to be the primary DB instance (the cluster writer). *

*

* For a Multi-AZ DB cluster, after RDS terminates the primary DB instance, the internal monitoring system detects * that the primary DB instance is unhealthy and promotes a readable standby (read-only instances) in the DB cluster * to be the primary DB instance (the cluster writer). Failover times are typically less than 35 seconds. *

*

* An Amazon Aurora DB cluster automatically fails over to an Aurora Replica, if one exists, when the primary DB * instance fails. A Multi-AZ DB cluster automatically fails over to a readable standby DB instance when the primary * DB instance fails. *

*

* To simulate a failure of a primary instance for testing, you can force a failover. Because each instance in a DB * cluster has its own endpoint address, make sure to clean up and re-establish any existing connections that use * those endpoint addresses when the failover is complete. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param failoverDbClusterRequest * @return A Java Future containing the result of the FailoverDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.FailoverDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture failoverDBCluster(FailoverDbClusterRequest failoverDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(failoverDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, failoverDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "FailoverDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(FailoverDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("FailoverDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new FailoverDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(failoverDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Promotes the specified secondary DB cluster to be the primary DB cluster in the global database cluster to fail * over or switch over a global database. Switchover operations were previously called "managed planned failovers." *

* *

* Although this operation can be used either to fail over or to switch over a global database cluster, its intended * use is for global database failover. To switch over a global database cluster, we recommend that you use the * SwitchoverGlobalCluster operation instead. *

*
*

* How you use this operation depends on whether you are failing over or switching over your global database * cluster: *

*
    *
  • *

    * Failing over - Specify the AllowDataLoss parameter and don't specify the Switchover * parameter. *

    *
  • *
  • *

    * Switching over - Specify the Switchover parameter or omit it, but don't specify the * AllowDataLoss parameter. *

    *
  • *
*

* About failing over and switching over *

*

* While failing over and switching over a global database cluster both change the primary DB cluster, you use these * operations for different reasons: *

*
    *
  • *

    * Failing over - Use this operation to respond to an unplanned event, such as a Regional disaster in the * primary Region. Failing over can result in a loss of write transaction data that wasn't replicated to the chosen * secondary before the failover event occurred. However, the recovery process that promotes a DB instance on the * chosen seconday DB cluster to be the primary writer DB instance guarantees that the data is in a transactionally * consistent state. *

    *

    * For more information about failing over an Amazon Aurora global database, see Performing managed failovers for Aurora global databases in the Amazon Aurora User Guide. *

    *
  • *
  • *

    * Switching over - Use this operation on a healthy global database cluster for planned events, such as * Regional rotation or to fail back to the original primary DB cluster after a failover operation. With this * operation, there is no data loss. *

    *

    * For more information about switching over an Amazon Aurora global database, see Performing switchovers for Aurora global databases in the Amazon Aurora User Guide. *

    *
  • *
* * @param failoverGlobalClusterRequest * @return A Java Future containing the result of the FailoverGlobalCluster 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. *
    *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • InvalidGlobalClusterStateException The global cluster is in an invalid state and can't perform the * requested operation.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.FailoverGlobalCluster * @see AWS API * Documentation */ @Override public CompletableFuture failoverGlobalCluster( FailoverGlobalClusterRequest failoverGlobalClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(failoverGlobalClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, failoverGlobalClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "FailoverGlobalCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(FailoverGlobalClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("FailoverGlobalCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new FailoverGlobalClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(failoverGlobalClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all tags on an Amazon RDS resource. *

*

* For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources * in the Amazon RDS User Guide or Tagging Amazon Aurora and * Amazon RDS Resources in the Amazon Aurora User Guide. *

* * @param listTagsForResourceRequest * @return A Java Future containing the result of the ListTagsForResource 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • BlueGreenDeploymentNotFoundException BlueGreenDeploymentIdentifier doesn't refer to an * existing blue/green deployment.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • TenantDatabaseNotFoundException The specified tenant database wasn't found in the DB instance.
  • *
  • DbSnapshotTenantDatabaseNotFoundException The specified snapshot tenant database wasn't found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ListTagsForResource * @see AWS API * Documentation */ @Override public CompletableFuture listTagsForResource( ListTagsForResourceRequest listTagsForResourceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTagsForResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTagsForResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTagsForResource"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListTagsForResourceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListTagsForResource").withProtocolMetadata(protocolMetadata) .withMarshaller(new ListTagsForResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(listTagsForResourceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Changes the audit policy state of a database activity stream to either locked (default) or unlocked. A locked * policy is read-only, whereas an unlocked policy is read/write. If your activity stream is started and locked, you * can unlock it, customize your audit policy, and then lock your activity stream. Restarting the activity stream * isn't required. For more information, see Modifying a * database activity stream in the Amazon RDS User Guide. *

*

* This operation is supported for RDS for Oracle and Microsoft SQL Server. *

* * @param modifyActivityStreamRequest * @return A Java Future containing the result of the ModifyActivityStream 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. *
    *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyActivityStream * @see AWS API * Documentation */ @Override public CompletableFuture modifyActivityStream( ModifyActivityStreamRequest modifyActivityStreamRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyActivityStreamRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyActivityStreamRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyActivityStream"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyActivityStreamResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyActivityStream").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyActivityStreamRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyActivityStreamRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Override the system-default Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificate for Amazon RDS * for new DB instances, or remove the override. *

*

* By using this operation, you can specify an RDS-approved SSL/TLS certificate for new DB instances that is * different from the default certificate provided by RDS. You can also use this operation to remove the override, * so that new DB instances use the default certificate provided by RDS. *

*

* You might need to override the default certificate in the following situations: *

*
    *
  • *

    * You already migrated your applications to support the latest certificate authority (CA) certificate, but the new * CA certificate is not yet the RDS default CA certificate for the specified Amazon Web Services Region. *

    *
  • *
  • *

    * RDS has already moved to a new default CA certificate for the specified Amazon Web Services Region, but you are * still in the process of supporting the new CA certificate. In this case, you temporarily need additional time to * finish your application changes. *

    *
  • *
*

* For more information about rotating your SSL/TLS certificate for RDS DB engines, see * Rotating Your SSL/TLS Certificate in the Amazon RDS User Guide. *

*

* For more information about rotating your SSL/TLS certificate for Aurora DB engines, see * Rotating Your SSL/TLS Certificate in the Amazon Aurora User Guide. *

* * @param modifyCertificatesRequest * @return A Java Future containing the result of the ModifyCertificates 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. *
    *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyCertificates * @see AWS API * Documentation */ @Override public CompletableFuture modifyCertificates(ModifyCertificatesRequest modifyCertificatesRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyCertificatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyCertificatesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyCertificates"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyCertificatesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyCertificates").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyCertificatesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyCertificatesRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Set the capacity of an Aurora Serverless v1 DB cluster to a specific value. *

*

* Aurora Serverless v1 scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might * not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call * ModifyCurrentDBClusterCapacity to set the capacity explicitly. *

*

* After this call sets the DB cluster capacity, Aurora Serverless v1 can automatically scale the DB cluster based * on the cooldown period for scaling up and the cooldown period for scaling down. *

*

* For more information about Aurora Serverless v1, see Using Amazon Aurora * Serverless v1 in the Amazon Aurora User Guide. *

* *

* If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections * that prevent Aurora Serverless v1 from finding a scaling point might be dropped. For more information about * scaling points, see Autoscaling for Aurora Serverless v1 in the Amazon Aurora User Guide. *

*
*

* This operation only applies to Aurora Serverless v1 DB clusters. *

*
* * @param modifyCurrentDbClusterCapacityRequest * @return A Java Future containing the result of the ModifyCurrentDBClusterCapacity 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbClusterCapacityException Capacity isn't a valid Aurora Serverless DB cluster * capacity. Valid capacity values are 2, 4, 8, 16, * 32, 64, 128, and 256.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyCurrentDBClusterCapacity * @see AWS API Documentation */ @Override public CompletableFuture modifyCurrentDBClusterCapacity( ModifyCurrentDbClusterCapacityRequest modifyCurrentDbClusterCapacityRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyCurrentDbClusterCapacityRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyCurrentDbClusterCapacityRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyCurrentDBClusterCapacity"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyCurrentDbClusterCapacityResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyCurrentDBClusterCapacity").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyCurrentDbClusterCapacityRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyCurrentDbClusterCapacityRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the status of a custom engine version (CEV). You can find CEVs to modify by calling * DescribeDBEngineVersions. *

* *

* The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with Amazon Web * Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the * ModifyCustomDbEngineVersion event aren't logged. However, you might see calls from the API gateway * that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for the * ModifyCustomDbEngineVersion event. *

*
*

* For more information, see Modifying CEV * status in the Amazon RDS User Guide. *

* * @param modifyCustomDbEngineVersionRequest * @return A Java Future containing the result of the ModifyCustomDBEngineVersion 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. *
    *
  • CustomDbEngineVersionNotFoundException The specified CEV was not found.
  • *
  • InvalidCustomDbEngineVersionStateException You can't delete the CEV.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyCustomDBEngineVersion * @see AWS API Documentation */ @Override public CompletableFuture modifyCustomDBEngineVersion( ModifyCustomDbEngineVersionRequest modifyCustomDbEngineVersionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyCustomDbEngineVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyCustomDbEngineVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyCustomDBEngineVersion"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyCustomDbEngineVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyCustomDBEngineVersion").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyCustomDbEngineVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyCustomDbEngineVersionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the settings of an Amazon Aurora DB cluster or a Multi-AZ DB cluster. You can change one or more * settings by specifying these parameters and the new values in the request. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param modifyDbClusterRequest * @return A Java Future containing the result of the ModifyDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • InvalidDbSubnetGroupStateException The DB subnet group cannot be deleted because it's in use.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • DbClusterParameterGroupNotFoundException DBClusterParameterGroupName doesn't refer to an * existing DB cluster parameter group.
  • *
  • InvalidDbSecurityGroupStateException The state of the DB security group doesn't allow deletion.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbClusterAlreadyExistsException The user already has a DB cluster with the given identifier.
  • *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • StorageTypeNotAvailableException The aurora-iopt1 storage type isn't available, because * you modified the DB cluster to use this storage type less than one month ago.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBCluster(ModifyDbClusterRequest modifyDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the properties of an endpoint in an Amazon Aurora DB cluster. *

* *

* This operation only applies to Aurora DB clusters. *

*
* * @param modifyDbClusterEndpointRequest * @return A Java Future containing the result of the ModifyDBClusterEndpoint 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. *
    *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbClusterEndpointStateException The requested operation can't be performed on the endpoint * while the endpoint is in this state.
  • *
  • DbClusterEndpointNotFoundException The specified custom endpoint doesn't exist.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBClusterEndpoint * @see AWS * API Documentation */ @Override public CompletableFuture modifyDBClusterEndpoint( ModifyDbClusterEndpointRequest modifyDbClusterEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbClusterEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbClusterEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBClusterEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbClusterEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBClusterEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbClusterEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbClusterEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the * following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 * parameters can be modified in a single request. *

* *

* After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB * cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully * complete the create operation before the parameter group is used as the default for a new DB cluster. This is * especially important for parameters that are critical when creating the default database for a DB cluster, such * as the character set for the default database defined by the character_set_database parameter. You * can use the Parameter Groups option of the Amazon RDS * console or the DescribeDBClusterParameters operation to verify that your DB cluster parameter * group has been created or modified. *

*

* If the modified DB cluster parameter group is used by an Aurora Serverless v1 cluster, Aurora applies the update * immediately. The cluster restart might interrupt your workload. In that case, your application must reopen any * connections and retry any transactions that were active when the parameter changes took effect. *

*
*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param modifyDbClusterParameterGroupRequest * @return A Java Future containing the result of the ModifyDBClusterParameterGroup 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • InvalidDbParameterGroupStateException The DB parameter group is in use or is in an invalid state. If * you are attempting to delete the parameter group, you can't delete it when the parameter group is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBClusterParameterGroup * @see AWS API Documentation */ @Override public CompletableFuture modifyDBClusterParameterGroup( ModifyDbClusterParameterGroupRequest modifyDbClusterParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbClusterParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbClusterParameterGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBClusterParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbClusterParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBClusterParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbClusterParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbClusterParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot. *

*

* To share a manual DB cluster snapshot with other Amazon Web Services accounts, specify restore as * the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the Amazon * Web Services accounts that are authorized to restore the manual DB cluster snapshot. Use the value * all to make the manual DB cluster snapshot public, which means that it can be copied or restored by * all Amazon Web Services accounts. *

* *

* Don't add the all value for any manual DB cluster snapshots that contain private information that * you don't want available to all Amazon Web Services accounts. *

*
*

* If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized * Amazon Web Services account IDs for the ValuesToAdd parameter. You can't use all as a * value for that parameter in this case. *

*

* To view which Amazon Web Services accounts have access to copy or restore a manual DB cluster snapshot, or * whether a manual DB cluster snapshot is public or private, use the DescribeDBClusterSnapshotAttributes API * operation. The accounts are returned as values for the restore attribute. *

* * @param modifyDbClusterSnapshotAttributeRequest * @return A Java Future containing the result of the ModifyDBClusterSnapshotAttribute 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. *
    *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • SharedSnapshotQuotaExceededException You have exceeded the maximum number of accounts that you can * share a manual DB snapshot with.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBClusterSnapshotAttribute * @see AWS API Documentation */ @Override public CompletableFuture modifyDBClusterSnapshotAttribute( ModifyDbClusterSnapshotAttributeRequest modifyDbClusterSnapshotAttributeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbClusterSnapshotAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbClusterSnapshotAttributeRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBClusterSnapshotAttribute"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbClusterSnapshotAttributeResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBClusterSnapshotAttribute").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbClusterSnapshotAttributeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbClusterSnapshotAttributeRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying * these parameters and the new values in the request. To learn what modifications you can make to your DB instance, * call DescribeValidDBInstanceModifications before you call ModifyDBInstance. *

* * @param modifyDbInstanceRequest * @return A Java Future containing the result of the ModifyDBInstance 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. *
    *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InvalidDbSecurityGroupStateException The state of the DB security group doesn't allow deletion.
  • *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • ProvisionedIopsNotAvailableInAzException Provisioned IOPS not available in the specified Availability * Zone.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • DbUpgradeDependencyFailureException The DB upgrade failed because a resource the DB depends on can't * be modified.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • TenantDatabaseQuotaExceededException You attempted to create more tenant databases than are permitted * in your Amazon Web Services account.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBInstance(ModifyDbInstanceRequest modifyDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the * following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 * parameters can be modified in a single request. *

* *

* After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance * that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the * modify operation before the parameter group is used as the default for a new DB instance. This is especially * important for parameters that are critical when creating the default database for a DB instance, such as the * character set for the default database defined by the character_set_database parameter. You can use * the Parameter Groups option of the Amazon RDS console or * the DescribeDBParameters command to verify that your DB parameter group has been created or modified. *

*
* * @param modifyDbParameterGroupRequest * @return A Java Future containing the result of the ModifyDBParameterGroup 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. *
    *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • InvalidDbParameterGroupStateException The DB parameter group is in use or is in an invalid state. If * you are attempting to delete the parameter group, you can't delete it when the parameter group is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBParameterGroup * @see AWS * API Documentation */ @Override public CompletableFuture modifyDBParameterGroup( ModifyDbParameterGroupRequest modifyDbParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Changes the settings for an existing DB proxy. *

* * @param modifyDbProxyRequest * @return A Java Future containing the result of the ModifyDBProxy 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyAlreadyExistsException The specified proxy name must be unique for all proxies owned by your * Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBProxy * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBProxy(ModifyDbProxyRequest modifyDbProxyRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbProxyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbProxyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBProxy"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbProxyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBProxy").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbProxyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbProxyRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Changes the settings for an existing DB proxy endpoint. *

* * @param modifyDbProxyEndpointRequest * @return A Java Future containing the result of the ModifyDBProxyEndpoint 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. *
    *
  • DbProxyEndpointNotFoundException The DB proxy endpoint doesn't exist.
  • *
  • DbProxyEndpointAlreadyExistsException The specified DB proxy endpoint name must be unique for all DB * proxy endpoints owned by your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyEndpointStateException You can't perform this operation while the DB proxy endpoint is * in a particular state.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBProxyEndpoint * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBProxyEndpoint( ModifyDbProxyEndpointRequest modifyDbProxyEndpointRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbProxyEndpointRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbProxyEndpointRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBProxyEndpoint"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbProxyEndpointResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBProxyEndpoint").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbProxyEndpointRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbProxyEndpointRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the properties of a DBProxyTargetGroup. *

* * @param modifyDbProxyTargetGroupRequest * @return A Java Future containing the result of the ModifyDBProxyTargetGroup 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBProxyTargetGroup * @see AWS * API Documentation */ @Override public CompletableFuture modifyDBProxyTargetGroup( ModifyDbProxyTargetGroupRequest modifyDbProxyTargetGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbProxyTargetGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbProxyTargetGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBProxyTargetGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbProxyTargetGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBProxyTargetGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbProxyTargetGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbProxyTargetGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the recommendation status and recommended action status for the specified recommendation. *

* * @param modifyDbRecommendationRequest * @return A Java Future containing the result of the ModifyDBRecommendation 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. *
    *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBRecommendation * @see AWS * API Documentation */ @Override public CompletableFuture modifyDBRecommendation( ModifyDbRecommendationRequest modifyDbRecommendationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbRecommendationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbRecommendationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBRecommendation"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbRecommendationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBRecommendation").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbRecommendationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbRecommendationRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the settings of an Aurora Limitless Database DB shard group. You can change one or more settings by * specifying these parameters and the new values in the request. *

* * @param modifyDbShardGroupRequest * @return A Java Future containing the result of the ModifyDBShardGroup 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. *
    *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbShardGroupAlreadyExistsException The specified DB shard group name must be unique in your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbShardGroupNotFoundException The specified DB shard group name wasn't found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBShardGroup * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBShardGroup(ModifyDbShardGroupRequest modifyDbShardGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbShardGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbShardGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBShardGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbShardGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBShardGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbShardGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbShardGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted or unencrypted, but not * shared or public. *

*

* Amazon RDS supports upgrading DB snapshots for MySQL, PostgreSQL, and Oracle. This operation doesn't apply to RDS * Custom or RDS for Db2. *

* * @param modifyDbSnapshotRequest * @return A Java Future containing the result of the ModifyDBSnapshot 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. *
    *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBSnapshot * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBSnapshot(ModifyDbSnapshotRequest modifyDbSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot. *

*

* To share a manual DB snapshot with other Amazon Web Services accounts, specify restore as the * AttributeName and use the ValuesToAdd parameter to add a list of IDs of the Amazon Web * Services accounts that are authorized to restore the manual DB snapshot. Uses the value all to make * the manual DB snapshot public, which means it can be copied or restored by all Amazon Web Services accounts. *

* *

* Don't add the all value for any manual DB snapshots that contain private information that you don't * want available to all Amazon Web Services accounts. *

*
*

* If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized Amazon Web * Services account IDs for the ValuesToAdd parameter. You can't use all as a value for * that parameter in this case. *

*

* To view which Amazon Web Services accounts have access to copy or restore a manual DB snapshot, or whether a * manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API operation. The accounts are * returned as values for the restore attribute. *

* * @param modifyDbSnapshotAttributeRequest * @return A Java Future containing the result of the ModifyDBSnapshotAttribute 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. *
    *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • InvalidDbSnapshotStateException The state of the DB snapshot doesn't allow deletion.
  • *
  • SharedSnapshotQuotaExceededException You have exceeded the maximum number of accounts that you can * share a manual DB snapshot with.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBSnapshotAttribute * @see AWS * API Documentation */ @Override public CompletableFuture modifyDBSnapshotAttribute( ModifyDbSnapshotAttributeRequest modifyDbSnapshotAttributeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbSnapshotAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbSnapshotAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBSnapshotAttribute"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbSnapshotAttributeResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBSnapshotAttribute").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbSnapshotAttributeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbSnapshotAttributeRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in * the Amazon Web Services Region. *

* * @param modifyDbSubnetGroupRequest * @return A Java Future containing the result of the ModifyDBSubnetGroup 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. *
    *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetQuotaExceededException The request would result in the user exceeding the allowed number of * subnets in a DB subnet groups.
  • *
  • SubnetAlreadyInUseException The DB subnet is already in use in the Availability Zone.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyDBSubnetGroup * @see AWS API * Documentation */ @Override public CompletableFuture modifyDBSubnetGroup( ModifyDbSubnetGroupRequest modifyDbSubnetGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyDbSubnetGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyDbSubnetGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyDBSubnetGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyDbSubnetGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyDBSubnetGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyDbSubnetGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyDbSubnetGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies an existing RDS event notification subscription. You can't modify the source identifiers using this * call. To change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and * RemoveSourceIdentifierFromSubscription calls. *

*

* You can see a list of the event categories for a given source type (SourceType) in Events in the Amazon RDS * User Guide or by using the DescribeEventCategories operation. *

* * @param modifyEventSubscriptionRequest * @return A Java Future containing the result of the ModifyEventSubscription 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. *
    *
  • EventSubscriptionQuotaExceededException You have reached the maximum number of event subscriptions.
  • *
  • SubscriptionNotFoundException The subscription name does not exist.
  • *
  • SnsInvalidTopicException SNS has responded that there is a problem with the SNS topic specified.
  • *
  • SnsNoAuthorizationException You do not have permission to publish to the SNS topic ARN.
  • *
  • SnsTopicArnNotFoundException The SNS topic ARN does not exist.
  • *
  • SubscriptionCategoryNotFoundException The supplied category 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyEventSubscription * @see AWS * API Documentation */ @Override public CompletableFuture modifyEventSubscription( ModifyEventSubscriptionRequest modifyEventSubscriptionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyEventSubscriptionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyEventSubscriptionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyEventSubscription"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyEventSubscriptionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyEventSubscription").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyEventSubscriptionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyEventSubscriptionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies a setting for an Amazon Aurora global database cluster. You can change one or more database * configuration parameters by specifying these parameters and the new values in the request. For more information * on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

* *

* This operation only applies to Aurora global database clusters. *

*
* * @param modifyGlobalClusterRequest * @return A Java Future containing the result of the ModifyGlobalCluster 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. *
    *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • GlobalClusterAlreadyExistsException The GlobalClusterIdentifier already exists. Specify * a new global database identifier (unique name) to create a new global database cluster or to rename an * existing one.
  • *
  • InvalidGlobalClusterStateException The global cluster is in an invalid state and can't perform the * requested operation.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyGlobalCluster * @see AWS API * Documentation */ @Override public CompletableFuture modifyGlobalCluster( ModifyGlobalClusterRequest modifyGlobalClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyGlobalClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyGlobalClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyGlobalCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyGlobalClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyGlobalCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyGlobalClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyGlobalClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies a zero-ETL integration with Amazon Redshift. *

* *

* Currently, you can only modify integrations that have Aurora MySQL source DB clusters. Integrations with Aurora * PostgreSQL and RDS sources currently don't support modifying the integration. *

*
* * @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. *
    *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • InvalidIntegrationStateException The integration is in an invalid state and can't perform the * requested operation.
  • *
  • IntegrationConflictOperationException A conflicting conditional operation is currently in progress * against this resource. Typically occurs when there are multiple requests being made to the same resource * at the same time, and these requests conflict with each other.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.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, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyIntegration"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyIntegrationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); 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 whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies an existing option group. *

* * @param modifyOptionGroupRequest * @return A Java Future containing the result of the ModifyOptionGroup 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. *
    *
  • InvalidOptionGroupStateException The option group isn't in the available state.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyOptionGroup * @see AWS API * Documentation */ @Override public CompletableFuture modifyOptionGroup(ModifyOptionGroupRequest modifyOptionGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyOptionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyOptionGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyOptionGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyOptionGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyOptionGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyOptionGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyOptionGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies an existing tenant database in a DB instance. You can change the tenant database name or the master user * password. This operation is supported only for RDS for Oracle CDB instances using the multi-tenant configuration. *

* * @param modifyTenantDatabaseRequest * @return A Java Future containing the result of the ModifyTenantDatabase 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • TenantDatabaseNotFoundException The specified tenant database wasn't found in the DB instance.
  • *
  • TenantDatabaseAlreadyExistsException You attempted to either create a tenant database that already * exists or modify a tenant database to use the name of an existing tenant database.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ModifyTenantDatabase * @see AWS API * Documentation */ @Override public CompletableFuture modifyTenantDatabase( ModifyTenantDatabaseRequest modifyTenantDatabaseRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(modifyTenantDatabaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, modifyTenantDatabaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ModifyTenantDatabase"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ModifyTenantDatabaseResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ModifyTenantDatabase").withProtocolMetadata(protocolMetadata) .withMarshaller(new ModifyTenantDatabaseRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(modifyTenantDatabaseRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Promotes a read replica DB instance to a standalone DB instance. *

* *
    *
  • *

    * Backup duration is a function of the amount of changes to the database since the previous backup. If you plan to * promote a read replica to a standalone instance, we recommend that you enable backups and complete at least one * backup prior to promotion. In addition, a read replica cannot be promoted to a standalone instance when it is in * the backing-up status. If you have enabled backups on your read replica, configure the automated * backup window so that daily backups do not interfere with read replica promotion. *

    *
  • *
  • *

    * This command doesn't apply to Aurora MySQL, Aurora PostgreSQL, or RDS Custom. *

    *
  • *
*
* * @param promoteReadReplicaRequest * @return A Java Future containing the result of the PromoteReadReplica 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. *
    *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.PromoteReadReplica * @see AWS API * Documentation */ @Override public CompletableFuture promoteReadReplica(PromoteReadReplicaRequest promoteReadReplicaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(promoteReadReplicaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, promoteReadReplicaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PromoteReadReplica"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PromoteReadReplicaResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PromoteReadReplica").withProtocolMetadata(protocolMetadata) .withMarshaller(new PromoteReadReplicaRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(promoteReadReplicaRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Promotes a read replica DB cluster to a standalone DB cluster. *

* * @param promoteReadReplicaDbClusterRequest * @return A Java Future containing the result of the PromoteReadReplicaDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.PromoteReadReplicaDBCluster * @see AWS API Documentation */ @Override public CompletableFuture promoteReadReplicaDBCluster( PromoteReadReplicaDbClusterRequest promoteReadReplicaDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(promoteReadReplicaDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, promoteReadReplicaDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PromoteReadReplicaDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PromoteReadReplicaDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PromoteReadReplicaDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new PromoteReadReplicaDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(promoteReadReplicaDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Purchases a reserved DB instance offering. *

* * @param purchaseReservedDbInstancesOfferingRequest * @return A Java Future containing the result of the PurchaseReservedDBInstancesOffering 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. *
    *
  • ReservedDbInstancesOfferingNotFoundException Specified offering does not exist.
  • *
  • ReservedDbInstanceAlreadyExistsException User already has a reservation with the given identifier.
  • *
  • ReservedDbInstanceQuotaExceededException Request would exceed the user's DB Instance quota.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.PurchaseReservedDBInstancesOffering * @see AWS API Documentation */ @Override public CompletableFuture purchaseReservedDBInstancesOffering( PurchaseReservedDbInstancesOfferingRequest purchaseReservedDbInstancesOfferingRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(purchaseReservedDbInstancesOfferingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, purchaseReservedDbInstancesOfferingRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PurchaseReservedDBInstancesOffering"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PurchaseReservedDbInstancesOfferingResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PurchaseReservedDBInstancesOffering").withProtocolMetadata(protocolMetadata) .withMarshaller(new PurchaseReservedDbInstancesOfferingRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(purchaseReservedDbInstancesOfferingRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* You might need to reboot your DB cluster, usually for maintenance reasons. For example, if you make certain * modifications, or if you change the DB cluster parameter group associated with the DB cluster, reboot the DB * cluster for the changes to take effect. *

*

* Rebooting a DB cluster restarts the database engine service. Rebooting a DB cluster results in a momentary * outage, during which the DB cluster status is set to rebooting. *

*

* Use this operation only for a non-Aurora Multi-AZ DB cluster. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param rebootDbClusterRequest * @return A Java Future containing the result of the RebootDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RebootDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture rebootDBCluster(RebootDbClusterRequest rebootDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(rebootDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, rebootDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RebootDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RebootDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RebootDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new RebootDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(rebootDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain * modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the * instance for the changes to take effect. *

*

* Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary * outage, during which the DB instance status is set to rebooting. *

*

* For more information about rebooting, see Rebooting a DB * Instance in the Amazon RDS User Guide. *

*

* This command doesn't apply to RDS Custom. *

*

* If your DB instance is part of a Multi-AZ DB cluster, you can reboot the DB cluster with the * RebootDBCluster operation. *

* * @param rebootDbInstanceRequest * @return A Java Future containing the result of the RebootDBInstance 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. *
    *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RebootDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture rebootDBInstance(RebootDbInstanceRequest rebootDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(rebootDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, rebootDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RebootDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RebootDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RebootDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new RebootDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(rebootDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* You might need to reboot your DB shard group, usually for maintenance reasons. For example, if you make certain * modifications, reboot the DB shard group for the changes to take effect. *

*

* This operation applies only to Aurora Limitless Database DBb shard groups. *

* * @param rebootDbShardGroupRequest * @return A Java Future containing the result of the RebootDBShardGroup 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. *
    *
  • DbShardGroupNotFoundException The specified DB shard group name wasn't found.
  • *
  • InvalidDbShardGroupStateException The DB shard group must be in the available state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RebootDBShardGroup * @see AWS API * Documentation */ @Override public CompletableFuture rebootDBShardGroup(RebootDbShardGroupRequest rebootDbShardGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(rebootDbShardGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, rebootDbShardGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RebootDBShardGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RebootDbShardGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RebootDBShardGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new RebootDbShardGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(rebootDbShardGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup. *

* * @param registerDbProxyTargetsRequest * @return A Java Future containing the result of the RegisterDBProxyTargets 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. *
    *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbProxyTargetAlreadyRegisteredException The proxy is already associated with the specified RDS DB * instance or Aurora DB cluster.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbProxyStateException The requested operation can't be performed while the proxy is in this * state.
  • *
  • InsufficientAvailableIPsInSubnetException The requested operation can't be performed because there * aren't enough available IP addresses in the proxy's subnets. Add more CIDR blocks to the VPC or remove IP * address that aren't required from the subnets.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RegisterDBProxyTargets * @see AWS * API Documentation */ @Override public CompletableFuture registerDBProxyTargets( RegisterDbProxyTargetsRequest registerDbProxyTargetsRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(registerDbProxyTargetsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, registerDbProxyTargetsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RegisterDBProxyTargets"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RegisterDbProxyTargetsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RegisterDBProxyTargets").withProtocolMetadata(protocolMetadata) .withMarshaller(new RegisterDbProxyTargetsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(registerDbProxyTargetsRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster becomes a standalone * cluster with read-write capability instead of being read-only and receiving data from a primary cluster in a * different Region. *

* *

* This operation only applies to Aurora DB clusters. *

*
* * @param removeFromGlobalClusterRequest * @return A Java Future containing the result of the RemoveFromGlobalCluster 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. *
    *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • InvalidGlobalClusterStateException The global cluster is in an invalid state and can't perform the * requested operation.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RemoveFromGlobalCluster * @see AWS * API Documentation */ @Override public CompletableFuture removeFromGlobalCluster( RemoveFromGlobalClusterRequest removeFromGlobalClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeFromGlobalClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeFromGlobalClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveFromGlobalCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveFromGlobalClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveFromGlobalCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new RemoveFromGlobalClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(removeFromGlobalClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the asssociation of an Amazon Web Services Identity and Access Management (IAM) role from a DB cluster. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param removeRoleFromDbClusterRequest * @return A Java Future containing the result of the RemoveRoleFromDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbClusterRoleNotFoundException The specified IAM role Amazon Resource Name (ARN) isn't associated * with the specified DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RemoveRoleFromDBCluster * @see AWS * API Documentation */ @Override public CompletableFuture removeRoleFromDBCluster( RemoveRoleFromDbClusterRequest removeRoleFromDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeRoleFromDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeRoleFromDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveRoleFromDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveRoleFromDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveRoleFromDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new RemoveRoleFromDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(removeRoleFromDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Disassociates an Amazon Web Services Identity and Access Management (IAM) role from a DB instance. *

* * @param removeRoleFromDbInstanceRequest * @return A Java Future containing the result of the RemoveRoleFromDBInstance 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbInstanceRoleNotFoundException The specified RoleArn value doesn't match the specified * feature for the DB instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RemoveRoleFromDBInstance * @see AWS * API Documentation */ @Override public CompletableFuture removeRoleFromDBInstance( RemoveRoleFromDbInstanceRequest removeRoleFromDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeRoleFromDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeRoleFromDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveRoleFromDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveRoleFromDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveRoleFromDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new RemoveRoleFromDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(removeRoleFromDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a source identifier from an existing RDS event notification subscription. *

* * @param removeSourceIdentifierFromSubscriptionRequest * @return A Java Future containing the result of the RemoveSourceIdentifierFromSubscription 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. *
    *
  • SubscriptionNotFoundException The subscription name does not exist.
  • *
  • SourceNotFoundException The requested source could not be found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RemoveSourceIdentifierFromSubscription * @see AWS API Documentation */ @Override public CompletableFuture removeSourceIdentifierFromSubscription( RemoveSourceIdentifierFromSubscriptionRequest removeSourceIdentifierFromSubscriptionRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeSourceIdentifierFromSubscriptionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeSourceIdentifierFromSubscriptionRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveSourceIdentifierFromSubscription"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveSourceIdentifierFromSubscriptionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveSourceIdentifierFromSubscription").withProtocolMetadata(protocolMetadata) .withMarshaller(new RemoveSourceIdentifierFromSubscriptionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(removeSourceIdentifierFromSubscriptionRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes metadata tags from an Amazon RDS resource. *

*

* For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources * in the Amazon RDS User Guide or Tagging Amazon Aurora and * Amazon RDS Resources in the Amazon Aurora User Guide. *

* * @param removeTagsFromResourceRequest * @return A Java Future containing the result of the RemoveTagsFromResource 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbProxyNotFoundException The specified proxy name doesn't correspond to a proxy owned by your Amazon * Web Services account in the specified Amazon Web Services Region.
  • *
  • DbProxyTargetGroupNotFoundException The specified target group isn't available for a proxy owned by * your Amazon Web Services account in the specified Amazon Web Services Region.
  • *
  • BlueGreenDeploymentNotFoundException BlueGreenDeploymentIdentifier doesn't refer to an * existing blue/green deployment.
  • *
  • IntegrationNotFoundException The specified integration could not be found.
  • *
  • TenantDatabaseNotFoundException The specified tenant database wasn't found in the DB instance.
  • *
  • DbSnapshotTenantDatabaseNotFoundException The specified snapshot tenant database wasn't found.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RemoveTagsFromResource * @see AWS * API Documentation */ @Override public CompletableFuture removeTagsFromResource( RemoveTagsFromResourceRequest removeTagsFromResourceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeTagsFromResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeTagsFromResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveTagsFromResource"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveTagsFromResourceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveTagsFromResource").withProtocolMetadata(protocolMetadata) .withMarshaller(new RemoveTagsFromResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(removeTagsFromResourceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit * a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster * parameter group, specify the DBClusterParameterGroupName and ResetAllParameters * parameters. *

*

* When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to * pending-reboot to take effect on the next DB instance restart or RebootDBInstance * request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the * updated static parameter to apply to. *

*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param resetDbClusterParameterGroupRequest * @return A Java Future containing the result of the ResetDBClusterParameterGroup 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. *
    *
  • InvalidDbParameterGroupStateException The DB parameter group is in use or is in an invalid state. If * you are attempting to delete the parameter group, you can't delete it when the parameter group is in this * state.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ResetDBClusterParameterGroup * @see AWS API Documentation */ @Override public CompletableFuture resetDBClusterParameterGroup( ResetDbClusterParameterGroupRequest resetDbClusterParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(resetDbClusterParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, resetDbClusterParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResetDBClusterParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ResetDbClusterParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ResetDBClusterParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ResetDbClusterParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(resetDbClusterParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, * provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB * parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. * When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to * pending-reboot to take effect on the next DB instance restart or RebootDBInstance * request. *

* * @param resetDbParameterGroupRequest * @return A Java Future containing the result of the ResetDBParameterGroup 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. *
    *
  • InvalidDbParameterGroupStateException The DB parameter group is in use or is in an invalid state. If * you are attempting to delete the parameter group, you can't delete it when the parameter group is in this * state.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.ResetDBParameterGroup * @see AWS API * Documentation */ @Override public CompletableFuture resetDBParameterGroup( ResetDbParameterGroupRequest resetDbParameterGroupRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(resetDbParameterGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, resetDbParameterGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResetDBParameterGroup"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ResetDbParameterGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ResetDBParameterGroup").withProtocolMetadata(protocolMetadata) .withMarshaller(new ResetDbParameterGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(resetDbParameterGroupRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an Amazon Aurora DB cluster from MySQL data stored in an Amazon S3 bucket. Amazon RDS must be authorized * to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in * Migrating Data from MySQL by Using an Amazon S3 Bucket in the Amazon Aurora User Guide. *

* *

* This operation only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the * CreateDBInstance operation to create DB instances for the restored DB cluster, specifying the * identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after * the RestoreDBClusterFromS3 operation has completed and the DB cluster is available. *

*
*

* For more information on Amazon Aurora, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

* *

* This operation only applies to Aurora DB clusters. The source DB engine must be MySQL. *

*
* * @param restoreDbClusterFromS3Request * @return A Java Future containing the result of the RestoreDBClusterFromS3 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. *
    *
  • DbClusterAlreadyExistsException The user already has a DB cluster with the given identifier.
  • *
  • DbClusterQuotaExceededException The user attempted to create a new DB cluster and the user has * already reached the maximum allowed DB cluster quota.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbSubnetGroupStateException The DB subnet group cannot be deleted because it's in use.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidS3BucketException The specified Amazon S3 bucket name can't be found or Amazon RDS isn't * authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and * S3IngestionRoleArn values and try again.
  • *
  • DbClusterParameterGroupNotFoundException DBClusterParameterGroupName doesn't refer to an * existing DB cluster parameter group.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • InsufficientStorageClusterCapacityException There is insufficient storage available for the current * action. You might be able to resolve this error by updating your subnet group to use different * Availability Zones that have more storage available.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RestoreDBClusterFromS3 * @see AWS * API Documentation */ @Override public CompletableFuture restoreDBClusterFromS3( RestoreDbClusterFromS3Request restoreDbClusterFromS3Request) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(restoreDbClusterFromS3Request, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, restoreDbClusterFromS3Request .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RestoreDBClusterFromS3"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RestoreDbClusterFromS3Response::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RestoreDBClusterFromS3").withProtocolMetadata(protocolMetadata) .withMarshaller(new RestoreDbClusterFromS3RequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(restoreDbClusterFromS3Request)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB cluster from a DB snapshot or DB cluster snapshot. *

*

* The target DB cluster is created from the source snapshot with a default configuration. If you don't specify a * security group, the new DB cluster is associated with the default security group. *

* *

* This operation only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the * CreateDBInstance operation to create DB instances for the restored DB cluster, specifying the * identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after * the RestoreDBClusterFromSnapshot operation has completed and the DB cluster is available. *

*
*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param restoreDbClusterFromSnapshotRequest * @return A Java Future containing the result of the RestoreDBClusterFromSnapshot 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. *
    *
  • DbClusterAlreadyExistsException The user already has a DB cluster with the given identifier.
  • *
  • DbClusterQuotaExceededException The user attempted to create a new DB cluster and the user has * already reached the maximum allowed DB cluster quota.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • InsufficientDbClusterCapacityException The DB cluster doesn't have enough capacity for the current * operation.
  • *
  • InsufficientStorageClusterCapacityException There is insufficient storage available for the current * action. You might be able to resolve this error by updating your subnet group to use different * Availability Zones that have more storage available.
  • *
  • InvalidDbSnapshotStateException The state of the DB snapshot doesn't allow deletion.
  • *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidRestoreException Cannot restore from VPC backup to non-VPC DB instance.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • DbClusterParameterGroupNotFoundException DBClusterParameterGroupName doesn't refer to an * existing DB cluster parameter group.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RestoreDBClusterFromSnapshot * @see AWS API Documentation */ @Override public CompletableFuture restoreDBClusterFromSnapshot( RestoreDbClusterFromSnapshotRequest restoreDbClusterFromSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(restoreDbClusterFromSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, restoreDbClusterFromSnapshotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RestoreDBClusterFromSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RestoreDbClusterFromSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RestoreDBClusterFromSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new RestoreDbClusterFromSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(restoreDbClusterFromSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before * LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is * created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB * cluster is created with the default DB security group. *

* *

* For Aurora, this operation only restores the DB cluster, not the DB instances for that DB cluster. You must * invoke the CreateDBInstance operation to create DB instances for the restored DB cluster, specifying * the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only * after the RestoreDBClusterToPointInTime operation has completed and the DB cluster is available. *

*
*

* For more information on Amazon Aurora DB clusters, see What is Amazon * Aurora? in the Amazon Aurora User Guide. *

*

* For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

* * @param restoreDbClusterToPointInTimeRequest * @return A Java Future containing the result of the RestoreDBClusterToPointInTime 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. *
    *
  • DbClusterAlreadyExistsException The user already has a DB cluster with the given identifier.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbClusterQuotaExceededException The user attempted to create a new DB cluster and the user has * already reached the maximum allowed DB cluster quota.
  • *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • InsufficientDbClusterCapacityException The DB cluster doesn't have enough capacity for the current * operation.
  • *
  • InsufficientStorageClusterCapacityException There is insufficient storage available for the current * action. You might be able to resolve this error by updating your subnet group to use different * Availability Zones that have more storage available.
  • *
  • InvalidDbClusterSnapshotStateException The supplied value isn't a valid DB cluster snapshot state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbSnapshotStateException The state of the DB snapshot doesn't allow deletion.
  • *
  • InvalidRestoreException Cannot restore from VPC backup to non-VPC DB instance.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • DbClusterParameterGroupNotFoundException DBClusterParameterGroupName doesn't refer to an * existing DB cluster parameter group.
  • *
  • DbClusterAutomatedBackupNotFoundException No automated backup for this DB cluster was found.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RestoreDBClusterToPointInTime * @see AWS API Documentation */ @Override public CompletableFuture restoreDBClusterToPointInTime( RestoreDbClusterToPointInTimeRequest restoreDbClusterToPointInTimeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(restoreDbClusterToPointInTimeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, restoreDbClusterToPointInTimeRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RestoreDBClusterToPointInTime"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RestoreDbClusterToPointInTimeResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RestoreDBClusterToPointInTime").withProtocolMetadata(protocolMetadata) .withMarshaller(new RestoreDbClusterToPointInTimeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(restoreDbClusterToPointInTimeRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new DB instance from a DB snapshot. The target database is created from the source database restore * point with most of the source's original configuration, including the default security group and DB parameter * group. By default, the new DB instance is created as a Single-AZ deployment, except when the instance is a SQL * Server instance that has an option group associated with mirroring. In this case, the instance becomes a Multi-AZ * deployment, not a Single-AZ deployment. *

*

* If you want to replace your original DB instance with the new, restored DB instance, then rename your original DB * instance before you call the RestoreDBInstanceFromDBSnapshot operation. RDS doesn't allow two DB * instances with the same name. After you have renamed your original DB instance with a different identifier, then * you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the * RestoreDBInstanceFromDBSnapshot operation. The result is that you replace the original DB instance * with the DB instance created from the snapshot. *

*

* If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of * the shared DB snapshot. *

*

* To restore from a DB snapshot with an unsupported engine version, you must first upgrade the engine version of * the snapshot. For more information about upgrading a RDS for MySQL DB snapshot engine version, see Upgrading a MySQL DB * snapshot engine version. For more information about upgrading a RDS for PostgreSQL DB snapshot engine * version, Upgrading a * PostgreSQL DB snapshot engine version. *

* *

* This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use * RestoreDBClusterFromSnapshot. *

*
* * @param restoreDbInstanceFromDbSnapshotRequest * @return A Java Future containing the result of the RestoreDBInstanceFromDBSnapshot 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. *
    *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • InstanceQuotaExceededException The request would result in the user exceeding the allowed number of * DB instances.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • InvalidDbSnapshotStateException The state of the DB snapshot doesn't allow deletion.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • InvalidRestoreException Cannot restore from VPC backup to non-VPC DB instance.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • ProvisionedIopsNotAvailableInAzException Provisioned IOPS not available in the specified Availability * Zone.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • TenantDatabaseQuotaExceededException You attempted to create more tenant databases than are permitted * in your Amazon Web Services account.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RestoreDBInstanceFromDBSnapshot * @see AWS API Documentation */ @Override public CompletableFuture restoreDBInstanceFromDBSnapshot( RestoreDbInstanceFromDbSnapshotRequest restoreDbInstanceFromDbSnapshotRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(restoreDbInstanceFromDbSnapshotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, restoreDbInstanceFromDbSnapshotRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RestoreDBInstanceFromDBSnapshot"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RestoreDbInstanceFromDbSnapshotResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RestoreDBInstanceFromDBSnapshot").withProtocolMetadata(protocolMetadata) .withMarshaller(new RestoreDbInstanceFromDbSnapshotRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(restoreDbInstanceFromDbSnapshotRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can * create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then * restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into * an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide. *

*

* This operation doesn't apply to RDS Custom. *

* * @param restoreDbInstanceFromS3Request * @return A Java Future containing the result of the RestoreDBInstanceFromS3 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. *
    *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • InstanceQuotaExceededException The request would result in the user exceeding the allowed number of * DB instances.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • InvalidS3BucketException The specified Amazon S3 bucket name can't be found or Amazon RDS isn't * authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and * S3IngestionRoleArn values and try again.
  • *
  • ProvisionedIopsNotAvailableInAzException Provisioned IOPS not available in the specified Availability * Zone.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RestoreDBInstanceFromS3 * @see AWS * API Documentation */ @Override public CompletableFuture restoreDBInstanceFromS3( RestoreDbInstanceFromS3Request restoreDbInstanceFromS3Request) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(restoreDbInstanceFromS3Request, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, restoreDbInstanceFromS3Request .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RestoreDBInstanceFromS3"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RestoreDbInstanceFromS3Response::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RestoreDBInstanceFromS3").withProtocolMetadata(protocolMetadata) .withMarshaller(new RestoreDbInstanceFromS3RequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(restoreDbInstanceFromS3Request)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time * identified by the LatestRestorableTime property. You can restore to a point up to the number of days * specified by the BackupRetentionPeriod property. *

*

* The target database is created with most of the original configuration, but in a system-selected Availability * Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, * the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that * has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment * and not a single-AZ deployment. *

* *

* This operation doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use * RestoreDBClusterToPointInTime. *

*
* * @param restoreDbInstanceToPointInTimeRequest * @return A Java Future containing the result of the RestoreDBInstanceToPointInTime 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. *
    *
  • DbInstanceAlreadyExistsException The user already has a DB instance with the given identifier.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InstanceQuotaExceededException The request would result in the user exceeding the allowed number of * DB instances.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • PointInTimeRestoreNotEnabledException SourceDBInstanceIdentifier refers to a DB instance * with BackupRetentionPeriod equal to 0.
  • *
  • StorageQuotaExceededException The request would result in the user exceeding the allowed amount of * storage available across all DB instances.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • InvalidRestoreException Cannot restore from VPC backup to non-VPC DB instance.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • ProvisionedIopsNotAvailableInAzException Provisioned IOPS not available in the specified Availability * Zone.
  • *
  • OptionGroupNotFoundException The specified option group could not be found.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • DomainNotFoundException Domain doesn't refer to an existing Active Directory domain.
  • *
  • DbParameterGroupNotFoundException DBParameterGroupName doesn't refer to an existing DB * parameter group.
  • *
  • DbInstanceAutomatedBackupNotFoundException No automated backup for this DB instance was found.
  • *
  • NetworkTypeNotSupportedException The network type is invalid for the DB instance. Valid nework type * values are IPV4 and DUAL.
  • *
  • TenantDatabaseQuotaExceededException You attempted to create more tenant databases than are permitted * in your Amazon Web Services account.
  • *
  • CertificateNotFoundException CertificateIdentifier doesn't refer to an existing * certificate.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RestoreDBInstanceToPointInTime * @see AWS API Documentation */ @Override public CompletableFuture restoreDBInstanceToPointInTime( RestoreDbInstanceToPointInTimeRequest restoreDbInstanceToPointInTimeRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(restoreDbInstanceToPointInTimeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, restoreDbInstanceToPointInTimeRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RestoreDBInstanceToPointInTime"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RestoreDbInstanceToPointInTimeResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RestoreDBInstanceToPointInTime").withProtocolMetadata(protocolMetadata) .withMarshaller(new RestoreDbInstanceToPointInTimeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(restoreDbInstanceToPointInTimeRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC security groups. * Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and * either EC2SecurityGroupName or EC2SecurityGroupId). *

* *

* EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that * you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC * in the Amazon EC2 User Guide, the blog EC2-Classic Networking is * Retiring – Here’s How to Prepare, and Moving a DB instance not * in a VPC into a VPC in the Amazon RDS User Guide. *

*
* * @param revokeDbSecurityGroupIngressRequest * @return A Java Future containing the result of the RevokeDBSecurityGroupIngress 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. *
    *
  • DbSecurityGroupNotFoundException DBSecurityGroupName doesn't refer to an existing DB * security group.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • InvalidDbSecurityGroupStateException The state of the DB security group doesn't allow deletion.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.RevokeDBSecurityGroupIngress * @see AWS API Documentation */ @Override public CompletableFuture revokeDBSecurityGroupIngress( RevokeDbSecurityGroupIngressRequest revokeDbSecurityGroupIngressRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(revokeDbSecurityGroupIngressRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, revokeDbSecurityGroupIngressRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RevokeDBSecurityGroupIngress"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RevokeDbSecurityGroupIngressResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RevokeDBSecurityGroupIngress").withProtocolMetadata(protocolMetadata) .withMarshaller(new RevokeDbSecurityGroupIngressRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(revokeDbSecurityGroupIngressRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts a database activity stream to monitor activity on the database. For more information, see Monitoring Amazon * Aurora with Database Activity Streams in the Amazon Aurora User Guide or Monitoring Amazon RDS with * Database Activity Streams in the Amazon RDS User Guide. *

* * @param startActivityStreamRequest * @return A Java Future containing the result of the StartActivityStream 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. *
    *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StartActivityStream * @see AWS API * Documentation */ @Override public CompletableFuture startActivityStream( StartActivityStreamRequest startActivityStreamRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startActivityStreamRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startActivityStreamRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartActivityStream"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StartActivityStreamResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartActivityStream").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartActivityStreamRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startActivityStreamRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts an Amazon Aurora DB cluster that was stopped using the Amazon Web Services console, the stop-db-cluster * CLI command, or the StopDBCluster operation. *

*

* For more information, see Stopping and * Starting an Aurora Cluster in the Amazon Aurora User Guide. *

* *

* This operation only applies to Aurora DB clusters. *

*
* * @param startDbClusterRequest * @return A Java Future containing the result of the StartDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StartDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture startDBCluster(StartDbClusterRequest startDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StartDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI * command, or the StopDBInstance operation. *

*

* For more information, see Starting an Amazon RDS DB * instance That Was Previously Stopped in the Amazon RDS User Guide. *

* *

* This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. For Aurora DB clusters, use * StartDBCluster instead. *

*
* * @param startDbInstanceRequest * @return A Java Future containing the result of the StartDBInstance 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InsufficientDbInstanceCapacityException The specified DB instance class isn't available in the * specified Availability Zone.
  • *
  • DbSubnetGroupNotFoundException DBSubnetGroupName doesn't refer to an existing DB subnet * group.
  • *
  • DbSubnetGroupDoesNotCoverEnoughAZsException Subnets in the DB subnet group should cover at least two * Availability Zones unless there is only one Availability Zone.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidSubnetException The requested subnet is invalid, or multiple subnets were requested that are * not all in a common VPC.
  • *
  • InvalidVpcNetworkStateException The DB subnet group doesn't cover all Availability Zones after it's * created because of users' change.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • AuthorizationNotFoundException The specified CIDR IP range or Amazon EC2 security group might not be * authorized for the specified DB security group.

    *

    * Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StartDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture startDBInstance(StartDbInstanceRequest startDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StartDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Enables replication of automated backups to a different Amazon Web Services Region. *

*

* This command doesn't apply to RDS Custom. *

*

* For more information, see Replicating Automated * Backups to Another Amazon Web Services Region in the Amazon RDS User Guide. *

* * @param startDbInstanceAutomatedBackupsReplicationRequest * @return A Java Future containing the result of the StartDBInstanceAutomatedBackupsReplication 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • DbInstanceAutomatedBackupQuotaExceededException The quota for retained automated backups was * exceeded. This prevents you from retaining any additional automated backups. The retained automated * backups quota is the same as your DB instance quota.
  • *
  • StorageTypeNotSupportedException The specified StorageType can't be associated with the * DB instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StartDBInstanceAutomatedBackupsReplication * @see AWS API Documentation */ @Override public CompletableFuture startDBInstanceAutomatedBackupsReplication( StartDbInstanceAutomatedBackupsReplicationRequest startDbInstanceAutomatedBackupsReplicationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( startDbInstanceAutomatedBackupsReplicationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startDbInstanceAutomatedBackupsReplicationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartDBInstanceAutomatedBackupsReplication"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StartDbInstanceAutomatedBackupsReplicationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartDBInstanceAutomatedBackupsReplication") .withProtocolMetadata(protocolMetadata) .withMarshaller(new StartDbInstanceAutomatedBackupsReplicationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startDbInstanceAutomatedBackupsReplicationRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Starts an export of DB snapshot or DB cluster data to Amazon S3. The provided IAM role must have access to the S3 * bucket. *

*

* You can't export snapshot data from Db2 or RDS Custom DB instances. *

*

* For more information on exporting DB snapshot data, see Exporting DB snapshot data * to Amazon S3 in the Amazon RDS User Guide or Exporting DB * cluster snapshot data to Amazon S3 in the Amazon Aurora User Guide. *

*

* For more information on exporting DB cluster data, see Exporting DB cluster * data to Amazon S3 in the Amazon Aurora User Guide. *

* * @param startExportTaskRequest * @return A Java Future containing the result of the StartExportTask 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. *
    *
  • DbSnapshotNotFoundException DBSnapshotIdentifier doesn't refer to an existing DB * snapshot.
  • *
  • DbClusterSnapshotNotFoundException DBClusterSnapshotIdentifier doesn't refer to an * existing DB cluster snapshot.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • ExportTaskAlreadyExistsException You can't start an export task that's already running.
  • *
  • InvalidS3BucketException The specified Amazon S3 bucket name can't be found or Amazon RDS isn't * authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and * S3IngestionRoleArn values and try again.
  • *
  • IamRoleNotFoundException The IAM role is missing for exporting to an Amazon S3 bucket.
  • *
  • IamRoleMissingPermissionsException The IAM role requires additional permissions to export to an * Amazon S3 bucket.
  • *
  • InvalidExportOnlyException The export is invalid for exporting to an Amazon S3 bucket.
  • *
  • KmsKeyNotAccessibleException An error occurred accessing an Amazon Web Services KMS key.
  • *
  • InvalidExportSourceStateException The state of the export snapshot is invalid for exporting to an * Amazon S3 bucket.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StartExportTask * @see AWS API * Documentation */ @Override public CompletableFuture startExportTask(StartExportTaskRequest startExportTaskRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startExportTaskRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startExportTaskRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartExportTask"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StartExportTaskResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StartExportTask").withProtocolMetadata(protocolMetadata) .withMarshaller(new StartExportTaskRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(startExportTaskRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops a database activity stream that was started using the Amazon Web Services console, the * start-activity-stream CLI command, or the StartActivityStream operation. *

*

* For more information, see Monitoring Amazon * Aurora with Database Activity Streams in the Amazon Aurora User Guide or Monitoring Amazon RDS with * Database Activity Streams in the Amazon RDS User Guide. *

* * @param stopActivityStreamRequest * @return A Java Future containing the result of the StopActivityStream 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. *
    *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • ResourceNotFoundException The specified resource ID was not found.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StopActivityStream * @see AWS API * Documentation */ @Override public CompletableFuture stopActivityStream(StopActivityStreamRequest stopActivityStreamRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopActivityStreamRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopActivityStreamRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopActivityStream"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StopActivityStreamResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopActivityStream").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopActivityStreamRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopActivityStreamRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains the DB cluster's metadata, * including its endpoints and DB parameter groups. Aurora also retains the transaction logs so you can do a * point-in-time restore if necessary. *

*

* For more information, see Stopping and * Starting an Aurora Cluster in the Amazon Aurora User Guide. *

* *

* This operation only applies to Aurora DB clusters. *

*
* * @param stopDbClusterRequest * @return A Java Future containing the result of the StopDBCluster 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. *
    *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StopDBCluster * @see AWS API * Documentation */ @Override public CompletableFuture stopDBCluster(StopDbClusterRequest stopDbClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopDbClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopDbClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopDBCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StopDbClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopDBCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopDbClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopDbClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, * including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction * logs so you can do a point-in-time restore if necessary. *

*

* For more information, see Stopping an Amazon RDS DB * Instance Temporarily in the Amazon RDS User Guide. *

* *

* This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. For Aurora clusters, use * StopDBCluster instead. *

*
* * @param stopDbInstanceRequest * @return A Java Future containing the result of the StopDBInstance 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • DbSnapshotAlreadyExistsException DBSnapshotIdentifier is already used by an existing * snapshot.
  • *
  • SnapshotQuotaExceededException The request would result in the user exceeding the allowed number of * DB snapshots.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StopDBInstance * @see AWS API * Documentation */ @Override public CompletableFuture stopDBInstance(StopDbInstanceRequest stopDbInstanceRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopDbInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopDbInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopDBInstance"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StopDbInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopDBInstance").withProtocolMetadata(protocolMetadata) .withMarshaller(new StopDbInstanceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopDbInstanceRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Stops automated backup replication for a DB instance. *

*

* This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. *

*

* For more information, see Replicating Automated * Backups to Another Amazon Web Services Region in the Amazon RDS User Guide. *

* * @param stopDbInstanceAutomatedBackupsReplicationRequest * @return A Java Future containing the result of the StopDBInstanceAutomatedBackupsReplication 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.StopDBInstanceAutomatedBackupsReplication * @see AWS API Documentation */ @Override public CompletableFuture stopDBInstanceAutomatedBackupsReplication( StopDbInstanceAutomatedBackupsReplicationRequest stopDbInstanceAutomatedBackupsReplicationRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( stopDbInstanceAutomatedBackupsReplicationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopDbInstanceAutomatedBackupsReplicationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopDBInstanceAutomatedBackupsReplication"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StopDbInstanceAutomatedBackupsReplicationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("StopDBInstanceAutomatedBackupsReplication") .withProtocolMetadata(protocolMetadata) .withMarshaller(new StopDbInstanceAutomatedBackupsReplicationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(stopDbInstanceAutomatedBackupsReplicationRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Switches over a blue/green deployment. *

*

* Before you switch over, production traffic is routed to the databases in the blue environment. After you switch * over, production traffic is routed to the databases in the green environment. *

*

* For more information, see Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS * Blue/Green Deployments for database updates in the Amazon Aurora User Guide. *

* * @param switchoverBlueGreenDeploymentRequest * @return A Java Future containing the result of the SwitchoverBlueGreenDeployment 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. *
    *
  • BlueGreenDeploymentNotFoundException BlueGreenDeploymentIdentifier doesn't refer to an * existing blue/green deployment.
  • *
  • InvalidBlueGreenDeploymentStateException The blue/green deployment can't be switched over or deleted * because there is an invalid configuration in the green environment.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.SwitchoverBlueGreenDeployment * @see AWS API Documentation */ @Override public CompletableFuture switchoverBlueGreenDeployment( SwitchoverBlueGreenDeploymentRequest switchoverBlueGreenDeploymentRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(switchoverBlueGreenDeploymentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, switchoverBlueGreenDeploymentRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SwitchoverBlueGreenDeployment"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SwitchoverBlueGreenDeploymentResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SwitchoverBlueGreenDeployment").withProtocolMetadata(protocolMetadata) .withMarshaller(new SwitchoverBlueGreenDeploymentRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(switchoverBlueGreenDeploymentRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Switches over the specified secondary DB cluster to be the new primary DB cluster in the global database cluster. * Switchover operations were previously called "managed planned failovers." *

*

* Aurora promotes the specified secondary cluster to assume full read/write capabilities and demotes the current * primary cluster to a secondary (read-only) cluster, maintaining the orginal replication topology. All secondary * clusters are synchronized with the primary at the beginning of the process so the new primary continues * operations for the Aurora global database without losing any data. Your database is unavailable for a short time * while the primary and selected secondary clusters are assuming their new roles. For more information about * switching over an Aurora global database, see Performing switchovers for Amazon Aurora global databases in the Amazon Aurora User Guide. *

* *

* This operation is intended for controlled environments, for operations such as "regional rotation" or to fall * back to the original primary after a global database failover. *

*
* * @param switchoverGlobalClusterRequest * @return A Java Future containing the result of the SwitchoverGlobalCluster 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. *
    *
  • GlobalClusterNotFoundException The GlobalClusterIdentifier doesn't refer to an existing * global database cluster.
  • *
  • InvalidGlobalClusterStateException The global cluster is in an invalid state and can't perform the * requested operation.
  • *
  • InvalidDbClusterStateException The requested operation can't be performed while the cluster is in * this state.
  • *
  • DbClusterNotFoundException DBClusterIdentifier doesn't refer to an existing DB cluster.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.SwitchoverGlobalCluster * @see AWS * API Documentation */ @Override public CompletableFuture switchoverGlobalCluster( SwitchoverGlobalClusterRequest switchoverGlobalClusterRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(switchoverGlobalClusterRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, switchoverGlobalClusterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SwitchoverGlobalCluster"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SwitchoverGlobalClusterResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SwitchoverGlobalCluster").withProtocolMetadata(protocolMetadata) .withMarshaller(new SwitchoverGlobalClusterRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(switchoverGlobalClusterRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } /** *

* Switches over an Oracle standby database in an Oracle Data Guard environment, making it the new primary database. * Issue this command in the Region that hosts the current standby database. *

* * @param switchoverReadReplicaRequest * @return A Java Future containing the result of the SwitchoverReadReplica 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. *
    *
  • DbInstanceNotFoundException DBInstanceIdentifier doesn't refer to an existing DB * instance.
  • *
  • InvalidDbInstanceStateException The DB instance isn't in a valid state.
  • *
  • 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.
  • *
  • RdsException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample RdsAsyncClient.SwitchoverReadReplica * @see AWS API * Documentation */ @Override public CompletableFuture switchoverReadReplica( SwitchoverReadReplicaRequest switchoverReadReplicaRequest) { SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(switchoverReadReplicaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, switchoverReadReplicaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "RDS"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SwitchoverReadReplica"); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SwitchoverReadReplicaResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SwitchoverReadReplica").withProtocolMetadata(protocolMetadata) .withMarshaller(new SwitchoverReadReplicaRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withMetricCollector(apiCallMetricCollector) .withInput(switchoverReadReplicaRequest)); CompletableFuture whenCompleteFuture = null; whenCompleteFuture = executeFuture.whenComplete((r, e) -> { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); }); return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture); } catch (Throwable t) { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); return CompletableFutureUtils.failedFuture(t); } } @Override public RdsAsyncWaiter waiter() { return RdsAsyncWaiter.builder().client(this).scheduledExecutorService(executorService).build(); } @Override public final RdsServiceClientConfiguration serviceClientConfiguration() { return new RdsServiceClientConfigurationBuilder(this.clientConfiguration.toBuilder()).build(); } @Override public final String serviceName() { return SERVICE_NAME; } private AwsQueryProtocolFactory init() { return AwsQueryProtocolFactory .builder() .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBProxyEndpointStateFault") .exceptionBuilderSupplier(InvalidDbProxyEndpointStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidBlueGreenDeploymentStateFault") .exceptionBuilderSupplier(InvalidBlueGreenDeploymentStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IamRoleNotFound") .exceptionBuilderSupplier(IamRoleNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ExportTaskNotFound") .exceptionBuilderSupplier(ExportTaskNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationNotFoundFault") .exceptionBuilderSupplier(IntegrationNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterQuotaExceededFault") .exceptionBuilderSupplier(DbClusterQuotaExceededException::builder).httpStatusCode(403).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterAutomatedBackupQuotaExceededFault") .exceptionBuilderSupplier(DbClusterAutomatedBackupQuotaExceededException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidRestoreFault") .exceptionBuilderSupplier(InvalidRestoreException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidExportOnly") .exceptionBuilderSupplier(InvalidExportOnlyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceRoleQuotaExceeded") .exceptionBuilderSupplier(DbInstanceRoleQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterBacktrackNotFoundFault") .exceptionBuilderSupplier(DbClusterBacktrackNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InsufficientDBClusterCapacityFault") .exceptionBuilderSupplier(InsufficientDbClusterCapacityException::builder).httpStatusCode(403) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSubnetGroupDoesNotCoverEnoughAZs") .exceptionBuilderSupplier(DbSubnetGroupDoesNotCoverEnoughAZsException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnsupportedDBEngineVersion") .exceptionBuilderSupplier(UnsupportedDbEngineVersionException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KMSKeyNotAccessibleFault") .exceptionBuilderSupplier(KmsKeyNotAccessibleException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidVPCNetworkStateFault") .exceptionBuilderSupplier(InvalidVpcNetworkStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidOptionGroupStateFault") .exceptionBuilderSupplier(InvalidOptionGroupStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceRoleNotFound") .exceptionBuilderSupplier(DbInstanceRoleNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("BlueGreenDeploymentAlreadyExistsFault") .exceptionBuilderSupplier(BlueGreenDeploymentAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationConflictOperationFault") .exceptionBuilderSupplier(IntegrationConflictOperationException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBParameterGroupQuotaExceeded") .exceptionBuilderSupplier(DbParameterGroupQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StorageTypeNotAvailableFault") .exceptionBuilderSupplier(StorageTypeNotAvailableException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceRoleAlreadyExists") .exceptionBuilderSupplier(DbInstanceRoleAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InsufficientStorageClusterCapacity") .exceptionBuilderSupplier(InsufficientStorageClusterCapacityException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceAlreadyExists") .exceptionBuilderSupplier(DbInstanceAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyEndpointNotFoundFault") .exceptionBuilderSupplier(DbProxyEndpointNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterAlreadyExistsFault") .exceptionBuilderSupplier(DbClusterAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReservedDBInstancesOfferingNotFound") .exceptionBuilderSupplier(ReservedDbInstancesOfferingNotFoundException::builder) .httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PointInTimeRestoreNotEnabled") .exceptionBuilderSupplier(PointInTimeRestoreNotEnabledException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBSnapshotState") .exceptionBuilderSupplier(InvalidDbSnapshotStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBClusterCapacityFault") .exceptionBuilderSupplier(InvalidDbClusterCapacityException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CustomAvailabilityZoneNotFound") .exceptionBuilderSupplier(CustomAvailabilityZoneNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SNSTopicArnNotFound") .exceptionBuilderSupplier(SnsTopicArnNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyEndpointAlreadyExistsFault") .exceptionBuilderSupplier(DbProxyEndpointAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyNotFoundFault") .exceptionBuilderSupplier(DbProxyNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CustomDBEngineVersionAlreadyExistsFault") .exceptionBuilderSupplier(CustomDbEngineVersionAlreadyExistsException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NetworkTypeNotSupported") .exceptionBuilderSupplier(NetworkTypeNotSupportedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AuthorizationQuotaExceeded") .exceptionBuilderSupplier(AuthorizationQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InstanceQuotaExceeded") .exceptionBuilderSupplier(InstanceQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterNotFoundFault") .exceptionBuilderSupplier(DbClusterNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SnapshotQuotaExceeded") .exceptionBuilderSupplier(SnapshotQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("GlobalClusterQuotaExceededFault") .exceptionBuilderSupplier(GlobalClusterQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CreateCustomDBEngineVersionFault") .exceptionBuilderSupplier(CreateCustomDbEngineVersionException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBSubnetStateFault") .exceptionBuilderSupplier(InvalidDbSubnetStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TenantDatabaseQuotaExceeded") .exceptionBuilderSupplier(TenantDatabaseQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("BlueGreenDeploymentNotFoundFault") .exceptionBuilderSupplier(BlueGreenDeploymentNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceAutomatedBackupNotFound") .exceptionBuilderSupplier(DbInstanceAutomatedBackupNotFoundException::builder) .httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SharedSnapshotQuotaExceeded") .exceptionBuilderSupplier(SharedSnapshotQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSnapshotAlreadyExists") .exceptionBuilderSupplier(DbSnapshotAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBShardGroupState") .exceptionBuilderSupplier(InvalidDbShardGroupStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("QuotaExceeded.DBSecurityGroup") .exceptionBuilderSupplier(DbSecurityGroupQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSubnetQuotaExceededFault") .exceptionBuilderSupplier(DbSubnetQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SourceDatabaseNotSupportedFault") .exceptionBuilderSupplier(SourceDatabaseNotSupportedException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBUpgradeDependencyFailure") .exceptionBuilderSupplier(DbUpgradeDependencyFailureException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ProvisionedIopsNotAvailableInAZFault") .exceptionBuilderSupplier(ProvisionedIopsNotAvailableInAzException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidResourceStateFault") .exceptionBuilderSupplier(InvalidResourceStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InsufficientDBInstanceCapacity") .exceptionBuilderSupplier(InsufficientDbInstanceCapacityException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterEndpointAlreadyExistsFault") .exceptionBuilderSupplier(DbClusterEndpointAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyQuotaExceededFault") .exceptionBuilderSupplier(DbProxyQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSnapshotNotFound") .exceptionBuilderSupplier(DbSnapshotNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReservedDBInstanceAlreadyExists") .exceptionBuilderSupplier(ReservedDbInstanceAlreadyExistsException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyTargetNotFoundFault") .exceptionBuilderSupplier(DbProxyTargetNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OptionGroupNotFoundFault") .exceptionBuilderSupplier(OptionGroupNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBShardGroupAlreadyExists") .exceptionBuilderSupplier(DbShardGroupAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterSnapshotNotFoundFault") .exceptionBuilderSupplier(DbClusterSnapshotNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CustomDBEngineVersionNotFoundFault") .exceptionBuilderSupplier(CustomDbEngineVersionNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBShardGroupNotFound") .exceptionBuilderSupplier(DbShardGroupNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DomainNotFoundFault") .exceptionBuilderSupplier(DomainNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterEndpointNotFoundFault") .exceptionBuilderSupplier(DbClusterEndpointNotFoundException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterAutomatedBackupNotFoundFault") .exceptionBuilderSupplier(DbClusterAutomatedBackupNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StorageQuotaExceeded") .exceptionBuilderSupplier(StorageQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBClusterEndpointStateFault") .exceptionBuilderSupplier(InvalidDbClusterEndpointStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AuthorizationNotFound") .exceptionBuilderSupplier(AuthorizationNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBParameterGroupNotFound") .exceptionBuilderSupplier(DbParameterGroupNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OptionGroupAlreadyExistsFault") .exceptionBuilderSupplier(OptionGroupAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OptionGroupQuotaExceededFault") .exceptionBuilderSupplier(OptionGroupQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidExportSourceState") .exceptionBuilderSupplier(InvalidExportSourceStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBInstanceAutomatedBackupState") .exceptionBuilderSupplier(InvalidDbInstanceAutomatedBackupStateException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBLogFileNotFoundFault") .exceptionBuilderSupplier(DbLogFileNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterRoleNotFound") .exceptionBuilderSupplier(DbClusterRoleNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SubscriptionCategoryNotFound") .exceptionBuilderSupplier(SubscriptionCategoryNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("Ec2ImagePropertiesNotSupportedFault") .exceptionBuilderSupplier(Ec2ImagePropertiesNotSupportedException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceNotFound") .exceptionBuilderSupplier(DbInstanceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationQuotaExceededFault") .exceptionBuilderSupplier(IntegrationQuotaExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyTargetAlreadyRegisteredFault") .exceptionBuilderSupplier(DbProxyTargetAlreadyRegisteredException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReservedDBInstanceNotFound") .exceptionBuilderSupplier(ReservedDbInstanceNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSubnetGroupQuotaExceeded") .exceptionBuilderSupplier(DbSubnetGroupQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterRoleQuotaExceeded") .exceptionBuilderSupplier(DbClusterRoleQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CertificateNotFound") .exceptionBuilderSupplier(CertificateNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBSecurityGroupState") .exceptionBuilderSupplier(InvalidDbSecurityGroupStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBInstanceAutomatedBackupQuotaExceeded") .exceptionBuilderSupplier(DbInstanceAutomatedBackupQuotaExceededException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidExportTaskStateFault") .exceptionBuilderSupplier(InvalidExportTaskStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSnapshotTenantDatabaseNotFoundFault") .exceptionBuilderSupplier(DbSnapshotTenantDatabaseNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidS3BucketFault") .exceptionBuilderSupplier(InvalidS3BucketException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBSubnetGroupFault") .exceptionBuilderSupplier(InvalidDbSubnetGroupException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotFoundFault") .exceptionBuilderSupplier(ResourceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StorageTypeNotSupported") .exceptionBuilderSupplier(StorageTypeNotSupportedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SubscriptionNotFound") .exceptionBuilderSupplier(SubscriptionNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SubnetAlreadyInUse") .exceptionBuilderSupplier(SubnetAlreadyInUseException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyTargetGroupNotFoundFault") .exceptionBuilderSupplier(DbProxyTargetGroupNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("GlobalClusterNotFoundFault") .exceptionBuilderSupplier(GlobalClusterNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSubnetGroupAlreadyExists") .exceptionBuilderSupplier(DbSubnetGroupAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IntegrationAlreadyExistsFault") .exceptionBuilderSupplier(IntegrationAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterRoleAlreadyExists") .exceptionBuilderSupplier(DbClusterRoleAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidEventSubscriptionState") .exceptionBuilderSupplier(InvalidEventSubscriptionStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InsufficientAvailableIPsInSubnetFault") .exceptionBuilderSupplier(InsufficientAvailableIPsInSubnetException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidSubnet") .exceptionBuilderSupplier(InvalidSubnetException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MaxDBShardGroupLimitReached") .exceptionBuilderSupplier(MaxDbShardGroupLimitReachedException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyEndpointQuotaExceededFault") .exceptionBuilderSupplier(DbProxyEndpointQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CustomDBEngineVersionQuotaExceededFault") .exceptionBuilderSupplier(CustomDbEngineVersionQuotaExceededException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TenantDatabaseNotFound") .exceptionBuilderSupplier(TenantDatabaseNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSecurityGroupNotSupported") .exceptionBuilderSupplier(DbSecurityGroupNotSupportedException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TenantDatabaseAlreadyExists") .exceptionBuilderSupplier(TenantDatabaseAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ExportTaskAlreadyExists") .exceptionBuilderSupplier(ExportTaskAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("GlobalClusterAlreadyExistsFault") .exceptionBuilderSupplier(GlobalClusterAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSubnetGroupNotAllowedFault") .exceptionBuilderSupplier(DbSubnetGroupNotAllowedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterSnapshotAlreadyExistsFault") .exceptionBuilderSupplier(DbClusterSnapshotAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidGlobalClusterStateFault") .exceptionBuilderSupplier(InvalidGlobalClusterStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBClusterStateFault") .exceptionBuilderSupplier(InvalidDbClusterStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBSubnetGroupStateFault") .exceptionBuilderSupplier(InvalidDbSubnetGroupStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterParameterGroupNotFound") .exceptionBuilderSupplier(DbClusterParameterGroupNotFoundException::builder).httpStatusCode(404) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SNSInvalidTopic") .exceptionBuilderSupplier(SnsInvalidTopicException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSubnetGroupNotFoundFault") .exceptionBuilderSupplier(DbSubnetGroupNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBProxyStateFault") .exceptionBuilderSupplier(InvalidDbProxyStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SourceClusterNotSupportedFault") .exceptionBuilderSupplier(SourceClusterNotSupportedException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IamRoleMissingPermissions") .exceptionBuilderSupplier(IamRoleMissingPermissionsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidIntegrationStateFault") .exceptionBuilderSupplier(InvalidIntegrationStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBClusterSnapshotStateFault") .exceptionBuilderSupplier(InvalidDbClusterSnapshotStateException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSecurityGroupNotFound") .exceptionBuilderSupplier(DbSecurityGroupNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBParameterGroupAlreadyExists") .exceptionBuilderSupplier(DbParameterGroupAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SNSNoAuthorization") .exceptionBuilderSupplier(SnsNoAuthorizationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBClusterEndpointQuotaExceededFault") .exceptionBuilderSupplier(DbClusterEndpointQuotaExceededException::builder).httpStatusCode(403) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReservedDBInstanceQuotaExceeded") .exceptionBuilderSupplier(ReservedDbInstanceQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SubscriptionAlreadyExist") .exceptionBuilderSupplier(SubscriptionAlreadyExistException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBProxyAlreadyExistsFault") .exceptionBuilderSupplier(DbProxyAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DBSecurityGroupAlreadyExists") .exceptionBuilderSupplier(DbSecurityGroupAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SourceNotFound") .exceptionBuilderSupplier(SourceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBInstanceState") .exceptionBuilderSupplier(InvalidDbInstanceStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EventSubscriptionQuotaExceeded") .exceptionBuilderSupplier(EventSubscriptionQuotaExceededException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AuthorizationAlreadyExists") .exceptionBuilderSupplier(AuthorizationAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidCustomDBEngineVersionStateFault") .exceptionBuilderSupplier(InvalidCustomDbEngineVersionStateException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBClusterAutomatedBackupStateFault") .exceptionBuilderSupplier(InvalidDbClusterAutomatedBackupStateException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDBParameterGroupState") .exceptionBuilderSupplier(InvalidDbParameterGroupStateException::builder).httpStatusCode(400) .build()).clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(RdsException::builder).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(); } RdsServiceClientConfigurationBuilder serviceConfigBuilder = new RdsServiceClientConfigurationBuilder(configuration); for (SdkPlugin plugin : plugins) { plugin.configureClient(serviceConfigBuilder); } updateRetryStrategyClientConfiguration(configuration); return configuration.build(); } @Override public void close() { clientHandler.close(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy