software.amazon.awssdk.services.redshift.DefaultRedshiftClient Maven / Gradle / Ivy
Show all versions of redshift Show documentation
/*
* 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.redshift;
import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
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.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
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.redshift.internal.RedshiftServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.redshift.model.AcceptReservedNodeExchangeRequest;
import software.amazon.awssdk.services.redshift.model.AcceptReservedNodeExchangeResponse;
import software.amazon.awssdk.services.redshift.model.AccessToClusterDeniedException;
import software.amazon.awssdk.services.redshift.model.AccessToSnapshotDeniedException;
import software.amazon.awssdk.services.redshift.model.AddPartnerRequest;
import software.amazon.awssdk.services.redshift.model.AddPartnerResponse;
import software.amazon.awssdk.services.redshift.model.AssociateDataShareConsumerRequest;
import software.amazon.awssdk.services.redshift.model.AssociateDataShareConsumerResponse;
import software.amazon.awssdk.services.redshift.model.AuthenticationProfileAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.AuthenticationProfileNotFoundException;
import software.amazon.awssdk.services.redshift.model.AuthenticationProfileQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.AuthorizationAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.AuthorizationNotFoundException;
import software.amazon.awssdk.services.redshift.model.AuthorizationQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.AuthorizeClusterSecurityGroupIngressRequest;
import software.amazon.awssdk.services.redshift.model.AuthorizeClusterSecurityGroupIngressResponse;
import software.amazon.awssdk.services.redshift.model.AuthorizeDataShareRequest;
import software.amazon.awssdk.services.redshift.model.AuthorizeDataShareResponse;
import software.amazon.awssdk.services.redshift.model.AuthorizeEndpointAccessRequest;
import software.amazon.awssdk.services.redshift.model.AuthorizeEndpointAccessResponse;
import software.amazon.awssdk.services.redshift.model.AuthorizeSnapshotAccessRequest;
import software.amazon.awssdk.services.redshift.model.AuthorizeSnapshotAccessResponse;
import software.amazon.awssdk.services.redshift.model.BatchDeleteClusterSnapshotsRequest;
import software.amazon.awssdk.services.redshift.model.BatchDeleteClusterSnapshotsResponse;
import software.amazon.awssdk.services.redshift.model.BatchDeleteRequestSizeExceededException;
import software.amazon.awssdk.services.redshift.model.BatchModifyClusterSnapshotsLimitExceededException;
import software.amazon.awssdk.services.redshift.model.BatchModifyClusterSnapshotsRequest;
import software.amazon.awssdk.services.redshift.model.BatchModifyClusterSnapshotsResponse;
import software.amazon.awssdk.services.redshift.model.BucketNotFoundException;
import software.amazon.awssdk.services.redshift.model.CancelResizeRequest;
import software.amazon.awssdk.services.redshift.model.CancelResizeResponse;
import software.amazon.awssdk.services.redshift.model.ClusterAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ClusterNotFoundException;
import software.amazon.awssdk.services.redshift.model.ClusterOnLatestRevisionException;
import software.amazon.awssdk.services.redshift.model.ClusterParameterGroupAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ClusterParameterGroupNotFoundException;
import software.amazon.awssdk.services.redshift.model.ClusterParameterGroupQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ClusterQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ClusterSecurityGroupAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ClusterSecurityGroupNotFoundException;
import software.amazon.awssdk.services.redshift.model.ClusterSecurityGroupQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ClusterSnapshotAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ClusterSnapshotNotFoundException;
import software.amazon.awssdk.services.redshift.model.ClusterSnapshotQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ClusterSubnetGroupAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ClusterSubnetGroupNotFoundException;
import software.amazon.awssdk.services.redshift.model.ClusterSubnetGroupQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ClusterSubnetQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ConflictPolicyUpdateException;
import software.amazon.awssdk.services.redshift.model.CopyClusterSnapshotRequest;
import software.amazon.awssdk.services.redshift.model.CopyClusterSnapshotResponse;
import software.amazon.awssdk.services.redshift.model.CopyToRegionDisabledException;
import software.amazon.awssdk.services.redshift.model.CreateAuthenticationProfileRequest;
import software.amazon.awssdk.services.redshift.model.CreateAuthenticationProfileResponse;
import software.amazon.awssdk.services.redshift.model.CreateClusterParameterGroupRequest;
import software.amazon.awssdk.services.redshift.model.CreateClusterParameterGroupResponse;
import software.amazon.awssdk.services.redshift.model.CreateClusterRequest;
import software.amazon.awssdk.services.redshift.model.CreateClusterResponse;
import software.amazon.awssdk.services.redshift.model.CreateClusterSecurityGroupRequest;
import software.amazon.awssdk.services.redshift.model.CreateClusterSecurityGroupResponse;
import software.amazon.awssdk.services.redshift.model.CreateClusterSnapshotRequest;
import software.amazon.awssdk.services.redshift.model.CreateClusterSnapshotResponse;
import software.amazon.awssdk.services.redshift.model.CreateClusterSubnetGroupRequest;
import software.amazon.awssdk.services.redshift.model.CreateClusterSubnetGroupResponse;
import software.amazon.awssdk.services.redshift.model.CreateCustomDomainAssociationRequest;
import software.amazon.awssdk.services.redshift.model.CreateCustomDomainAssociationResponse;
import software.amazon.awssdk.services.redshift.model.CreateEndpointAccessRequest;
import software.amazon.awssdk.services.redshift.model.CreateEndpointAccessResponse;
import software.amazon.awssdk.services.redshift.model.CreateEventSubscriptionRequest;
import software.amazon.awssdk.services.redshift.model.CreateEventSubscriptionResponse;
import software.amazon.awssdk.services.redshift.model.CreateHsmClientCertificateRequest;
import software.amazon.awssdk.services.redshift.model.CreateHsmClientCertificateResponse;
import software.amazon.awssdk.services.redshift.model.CreateHsmConfigurationRequest;
import software.amazon.awssdk.services.redshift.model.CreateHsmConfigurationResponse;
import software.amazon.awssdk.services.redshift.model.CreateRedshiftIdcApplicationRequest;
import software.amazon.awssdk.services.redshift.model.CreateRedshiftIdcApplicationResponse;
import software.amazon.awssdk.services.redshift.model.CreateScheduledActionRequest;
import software.amazon.awssdk.services.redshift.model.CreateScheduledActionResponse;
import software.amazon.awssdk.services.redshift.model.CreateSnapshotCopyGrantRequest;
import software.amazon.awssdk.services.redshift.model.CreateSnapshotCopyGrantResponse;
import software.amazon.awssdk.services.redshift.model.CreateSnapshotScheduleRequest;
import software.amazon.awssdk.services.redshift.model.CreateSnapshotScheduleResponse;
import software.amazon.awssdk.services.redshift.model.CreateTagsRequest;
import software.amazon.awssdk.services.redshift.model.CreateTagsResponse;
import software.amazon.awssdk.services.redshift.model.CreateUsageLimitRequest;
import software.amazon.awssdk.services.redshift.model.CreateUsageLimitResponse;
import software.amazon.awssdk.services.redshift.model.CustomCnameAssociationException;
import software.amazon.awssdk.services.redshift.model.CustomDomainAssociationNotFoundException;
import software.amazon.awssdk.services.redshift.model.DeauthorizeDataShareRequest;
import software.amazon.awssdk.services.redshift.model.DeauthorizeDataShareResponse;
import software.amazon.awssdk.services.redshift.model.DeleteAuthenticationProfileRequest;
import software.amazon.awssdk.services.redshift.model.DeleteAuthenticationProfileResponse;
import software.amazon.awssdk.services.redshift.model.DeleteClusterParameterGroupRequest;
import software.amazon.awssdk.services.redshift.model.DeleteClusterParameterGroupResponse;
import software.amazon.awssdk.services.redshift.model.DeleteClusterRequest;
import software.amazon.awssdk.services.redshift.model.DeleteClusterResponse;
import software.amazon.awssdk.services.redshift.model.DeleteClusterSecurityGroupRequest;
import software.amazon.awssdk.services.redshift.model.DeleteClusterSecurityGroupResponse;
import software.amazon.awssdk.services.redshift.model.DeleteClusterSnapshotRequest;
import software.amazon.awssdk.services.redshift.model.DeleteClusterSnapshotResponse;
import software.amazon.awssdk.services.redshift.model.DeleteClusterSubnetGroupRequest;
import software.amazon.awssdk.services.redshift.model.DeleteClusterSubnetGroupResponse;
import software.amazon.awssdk.services.redshift.model.DeleteCustomDomainAssociationRequest;
import software.amazon.awssdk.services.redshift.model.DeleteCustomDomainAssociationResponse;
import software.amazon.awssdk.services.redshift.model.DeleteEndpointAccessRequest;
import software.amazon.awssdk.services.redshift.model.DeleteEndpointAccessResponse;
import software.amazon.awssdk.services.redshift.model.DeleteEventSubscriptionRequest;
import software.amazon.awssdk.services.redshift.model.DeleteEventSubscriptionResponse;
import software.amazon.awssdk.services.redshift.model.DeleteHsmClientCertificateRequest;
import software.amazon.awssdk.services.redshift.model.DeleteHsmClientCertificateResponse;
import software.amazon.awssdk.services.redshift.model.DeleteHsmConfigurationRequest;
import software.amazon.awssdk.services.redshift.model.DeleteHsmConfigurationResponse;
import software.amazon.awssdk.services.redshift.model.DeletePartnerRequest;
import software.amazon.awssdk.services.redshift.model.DeletePartnerResponse;
import software.amazon.awssdk.services.redshift.model.DeleteRedshiftIdcApplicationRequest;
import software.amazon.awssdk.services.redshift.model.DeleteRedshiftIdcApplicationResponse;
import software.amazon.awssdk.services.redshift.model.DeleteResourcePolicyRequest;
import software.amazon.awssdk.services.redshift.model.DeleteResourcePolicyResponse;
import software.amazon.awssdk.services.redshift.model.DeleteScheduledActionRequest;
import software.amazon.awssdk.services.redshift.model.DeleteScheduledActionResponse;
import software.amazon.awssdk.services.redshift.model.DeleteSnapshotCopyGrantRequest;
import software.amazon.awssdk.services.redshift.model.DeleteSnapshotCopyGrantResponse;
import software.amazon.awssdk.services.redshift.model.DeleteSnapshotScheduleRequest;
import software.amazon.awssdk.services.redshift.model.DeleteSnapshotScheduleResponse;
import software.amazon.awssdk.services.redshift.model.DeleteTagsRequest;
import software.amazon.awssdk.services.redshift.model.DeleteTagsResponse;
import software.amazon.awssdk.services.redshift.model.DeleteUsageLimitRequest;
import software.amazon.awssdk.services.redshift.model.DeleteUsageLimitResponse;
import software.amazon.awssdk.services.redshift.model.DependentServiceAccessDeniedException;
import software.amazon.awssdk.services.redshift.model.DependentServiceRequestThrottlingException;
import software.amazon.awssdk.services.redshift.model.DependentServiceUnavailableException;
import software.amazon.awssdk.services.redshift.model.DescribeAccountAttributesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeAccountAttributesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeAuthenticationProfilesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeAuthenticationProfilesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterDbRevisionsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterDbRevisionsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterParameterGroupsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterParameterGroupsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterParametersRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterParametersResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterSecurityGroupsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterSecurityGroupsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterSnapshotsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterSnapshotsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterSubnetGroupsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterSubnetGroupsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterTracksRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterTracksResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClusterVersionsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClusterVersionsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeClustersRequest;
import software.amazon.awssdk.services.redshift.model.DescribeClustersResponse;
import software.amazon.awssdk.services.redshift.model.DescribeCustomDomainAssociationsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeCustomDomainAssociationsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeDataSharesForConsumerRequest;
import software.amazon.awssdk.services.redshift.model.DescribeDataSharesForConsumerResponse;
import software.amazon.awssdk.services.redshift.model.DescribeDataSharesForProducerRequest;
import software.amazon.awssdk.services.redshift.model.DescribeDataSharesForProducerResponse;
import software.amazon.awssdk.services.redshift.model.DescribeDataSharesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeDataSharesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeDefaultClusterParametersRequest;
import software.amazon.awssdk.services.redshift.model.DescribeDefaultClusterParametersResponse;
import software.amazon.awssdk.services.redshift.model.DescribeEndpointAccessRequest;
import software.amazon.awssdk.services.redshift.model.DescribeEndpointAccessResponse;
import software.amazon.awssdk.services.redshift.model.DescribeEndpointAuthorizationRequest;
import software.amazon.awssdk.services.redshift.model.DescribeEndpointAuthorizationResponse;
import software.amazon.awssdk.services.redshift.model.DescribeEventCategoriesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeEventCategoriesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeEventSubscriptionsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeEventSubscriptionsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeEventsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeEventsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeHsmClientCertificatesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeHsmClientCertificatesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeHsmConfigurationsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeHsmConfigurationsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeInboundIntegrationsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeInboundIntegrationsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeLoggingStatusRequest;
import software.amazon.awssdk.services.redshift.model.DescribeLoggingStatusResponse;
import software.amazon.awssdk.services.redshift.model.DescribeNodeConfigurationOptionsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeNodeConfigurationOptionsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeOrderableClusterOptionsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeOrderableClusterOptionsResponse;
import software.amazon.awssdk.services.redshift.model.DescribePartnersRequest;
import software.amazon.awssdk.services.redshift.model.DescribePartnersResponse;
import software.amazon.awssdk.services.redshift.model.DescribeRedshiftIdcApplicationsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeRedshiftIdcApplicationsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeReservedNodeExchangeStatusRequest;
import software.amazon.awssdk.services.redshift.model.DescribeReservedNodeExchangeStatusResponse;
import software.amazon.awssdk.services.redshift.model.DescribeReservedNodeOfferingsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeReservedNodeOfferingsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeReservedNodesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeReservedNodesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeResizeRequest;
import software.amazon.awssdk.services.redshift.model.DescribeResizeResponse;
import software.amazon.awssdk.services.redshift.model.DescribeScheduledActionsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeScheduledActionsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeSnapshotCopyGrantsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeSnapshotCopyGrantsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeSnapshotSchedulesRequest;
import software.amazon.awssdk.services.redshift.model.DescribeSnapshotSchedulesResponse;
import software.amazon.awssdk.services.redshift.model.DescribeStorageRequest;
import software.amazon.awssdk.services.redshift.model.DescribeStorageResponse;
import software.amazon.awssdk.services.redshift.model.DescribeTableRestoreStatusRequest;
import software.amazon.awssdk.services.redshift.model.DescribeTableRestoreStatusResponse;
import software.amazon.awssdk.services.redshift.model.DescribeTagsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeTagsResponse;
import software.amazon.awssdk.services.redshift.model.DescribeUsageLimitsRequest;
import software.amazon.awssdk.services.redshift.model.DescribeUsageLimitsResponse;
import software.amazon.awssdk.services.redshift.model.DisableLoggingRequest;
import software.amazon.awssdk.services.redshift.model.DisableLoggingResponse;
import software.amazon.awssdk.services.redshift.model.DisableSnapshotCopyRequest;
import software.amazon.awssdk.services.redshift.model.DisableSnapshotCopyResponse;
import software.amazon.awssdk.services.redshift.model.DisassociateDataShareConsumerRequest;
import software.amazon.awssdk.services.redshift.model.DisassociateDataShareConsumerResponse;
import software.amazon.awssdk.services.redshift.model.EnableLoggingRequest;
import software.amazon.awssdk.services.redshift.model.EnableLoggingResponse;
import software.amazon.awssdk.services.redshift.model.EnableSnapshotCopyRequest;
import software.amazon.awssdk.services.redshift.model.EnableSnapshotCopyResponse;
import software.amazon.awssdk.services.redshift.model.EndpointAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.EndpointAuthorizationAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.EndpointAuthorizationNotFoundException;
import software.amazon.awssdk.services.redshift.model.EndpointAuthorizationsPerClusterLimitExceededException;
import software.amazon.awssdk.services.redshift.model.EndpointNotFoundException;
import software.amazon.awssdk.services.redshift.model.EndpointsPerAuthorizationLimitExceededException;
import software.amazon.awssdk.services.redshift.model.EndpointsPerClusterLimitExceededException;
import software.amazon.awssdk.services.redshift.model.EventSubscriptionQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.FailoverPrimaryComputeRequest;
import software.amazon.awssdk.services.redshift.model.FailoverPrimaryComputeResponse;
import software.amazon.awssdk.services.redshift.model.GetClusterCredentialsRequest;
import software.amazon.awssdk.services.redshift.model.GetClusterCredentialsResponse;
import software.amazon.awssdk.services.redshift.model.GetClusterCredentialsWithIamRequest;
import software.amazon.awssdk.services.redshift.model.GetClusterCredentialsWithIamResponse;
import software.amazon.awssdk.services.redshift.model.GetReservedNodeExchangeConfigurationOptionsRequest;
import software.amazon.awssdk.services.redshift.model.GetReservedNodeExchangeConfigurationOptionsResponse;
import software.amazon.awssdk.services.redshift.model.GetReservedNodeExchangeOfferingsRequest;
import software.amazon.awssdk.services.redshift.model.GetReservedNodeExchangeOfferingsResponse;
import software.amazon.awssdk.services.redshift.model.GetResourcePolicyRequest;
import software.amazon.awssdk.services.redshift.model.GetResourcePolicyResponse;
import software.amazon.awssdk.services.redshift.model.HsmClientCertificateAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.HsmClientCertificateNotFoundException;
import software.amazon.awssdk.services.redshift.model.HsmClientCertificateQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.HsmConfigurationAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.HsmConfigurationNotFoundException;
import software.amazon.awssdk.services.redshift.model.HsmConfigurationQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.InProgressTableRestoreQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.IncompatibleOrderableOptionsException;
import software.amazon.awssdk.services.redshift.model.InsufficientClusterCapacityException;
import software.amazon.awssdk.services.redshift.model.InsufficientS3BucketPolicyException;
import software.amazon.awssdk.services.redshift.model.IntegrationNotFoundException;
import software.amazon.awssdk.services.redshift.model.InvalidAuthenticationProfileRequestException;
import software.amazon.awssdk.services.redshift.model.InvalidAuthorizationStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterParameterGroupStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterSecurityGroupStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterSnapshotScheduleStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterSnapshotStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterSubnetGroupStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterSubnetStateException;
import software.amazon.awssdk.services.redshift.model.InvalidClusterTrackException;
import software.amazon.awssdk.services.redshift.model.InvalidDataShareException;
import software.amazon.awssdk.services.redshift.model.InvalidElasticIpException;
import software.amazon.awssdk.services.redshift.model.InvalidEndpointStateException;
import software.amazon.awssdk.services.redshift.model.InvalidHsmClientCertificateStateException;
import software.amazon.awssdk.services.redshift.model.InvalidHsmConfigurationStateException;
import software.amazon.awssdk.services.redshift.model.InvalidNamespaceException;
import software.amazon.awssdk.services.redshift.model.InvalidPolicyException;
import software.amazon.awssdk.services.redshift.model.InvalidReservedNodeStateException;
import software.amazon.awssdk.services.redshift.model.InvalidRestoreException;
import software.amazon.awssdk.services.redshift.model.InvalidRetentionPeriodException;
import software.amazon.awssdk.services.redshift.model.InvalidS3BucketNameException;
import software.amazon.awssdk.services.redshift.model.InvalidS3KeyPrefixException;
import software.amazon.awssdk.services.redshift.model.InvalidScheduleException;
import software.amazon.awssdk.services.redshift.model.InvalidScheduledActionException;
import software.amazon.awssdk.services.redshift.model.InvalidSnapshotCopyGrantStateException;
import software.amazon.awssdk.services.redshift.model.InvalidSubnetException;
import software.amazon.awssdk.services.redshift.model.InvalidSubscriptionStateException;
import software.amazon.awssdk.services.redshift.model.InvalidTableRestoreArgumentException;
import software.amazon.awssdk.services.redshift.model.InvalidTagException;
import software.amazon.awssdk.services.redshift.model.InvalidUsageLimitException;
import software.amazon.awssdk.services.redshift.model.InvalidVpcNetworkStateException;
import software.amazon.awssdk.services.redshift.model.Ipv6CidrBlockNotFoundException;
import software.amazon.awssdk.services.redshift.model.LimitExceededException;
import software.amazon.awssdk.services.redshift.model.ListRecommendationsRequest;
import software.amazon.awssdk.services.redshift.model.ListRecommendationsResponse;
import software.amazon.awssdk.services.redshift.model.ModifyAquaConfigurationRequest;
import software.amazon.awssdk.services.redshift.model.ModifyAquaConfigurationResponse;
import software.amazon.awssdk.services.redshift.model.ModifyAuthenticationProfileRequest;
import software.amazon.awssdk.services.redshift.model.ModifyAuthenticationProfileResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterDbRevisionRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterDbRevisionResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterIamRolesRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterIamRolesResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterMaintenanceRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterMaintenanceResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterParameterGroupRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterParameterGroupResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterSnapshotRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterSnapshotResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterSnapshotScheduleRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterSnapshotScheduleResponse;
import software.amazon.awssdk.services.redshift.model.ModifyClusterSubnetGroupRequest;
import software.amazon.awssdk.services.redshift.model.ModifyClusterSubnetGroupResponse;
import software.amazon.awssdk.services.redshift.model.ModifyCustomDomainAssociationRequest;
import software.amazon.awssdk.services.redshift.model.ModifyCustomDomainAssociationResponse;
import software.amazon.awssdk.services.redshift.model.ModifyEndpointAccessRequest;
import software.amazon.awssdk.services.redshift.model.ModifyEndpointAccessResponse;
import software.amazon.awssdk.services.redshift.model.ModifyEventSubscriptionRequest;
import software.amazon.awssdk.services.redshift.model.ModifyEventSubscriptionResponse;
import software.amazon.awssdk.services.redshift.model.ModifyRedshiftIdcApplicationRequest;
import software.amazon.awssdk.services.redshift.model.ModifyRedshiftIdcApplicationResponse;
import software.amazon.awssdk.services.redshift.model.ModifyScheduledActionRequest;
import software.amazon.awssdk.services.redshift.model.ModifyScheduledActionResponse;
import software.amazon.awssdk.services.redshift.model.ModifySnapshotCopyRetentionPeriodRequest;
import software.amazon.awssdk.services.redshift.model.ModifySnapshotCopyRetentionPeriodResponse;
import software.amazon.awssdk.services.redshift.model.ModifySnapshotScheduleRequest;
import software.amazon.awssdk.services.redshift.model.ModifySnapshotScheduleResponse;
import software.amazon.awssdk.services.redshift.model.ModifyUsageLimitRequest;
import software.amazon.awssdk.services.redshift.model.ModifyUsageLimitResponse;
import software.amazon.awssdk.services.redshift.model.NumberOfNodesPerClusterLimitExceededException;
import software.amazon.awssdk.services.redshift.model.NumberOfNodesQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.PartnerNotFoundException;
import software.amazon.awssdk.services.redshift.model.PauseClusterRequest;
import software.amazon.awssdk.services.redshift.model.PauseClusterResponse;
import software.amazon.awssdk.services.redshift.model.PurchaseReservedNodeOfferingRequest;
import software.amazon.awssdk.services.redshift.model.PurchaseReservedNodeOfferingResponse;
import software.amazon.awssdk.services.redshift.model.PutResourcePolicyRequest;
import software.amazon.awssdk.services.redshift.model.PutResourcePolicyResponse;
import software.amazon.awssdk.services.redshift.model.RebootClusterRequest;
import software.amazon.awssdk.services.redshift.model.RebootClusterResponse;
import software.amazon.awssdk.services.redshift.model.RedshiftException;
import software.amazon.awssdk.services.redshift.model.RedshiftIdcApplicationAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.RedshiftIdcApplicationNotExistsException;
import software.amazon.awssdk.services.redshift.model.RedshiftIdcApplicationQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.RejectDataShareRequest;
import software.amazon.awssdk.services.redshift.model.RejectDataShareResponse;
import software.amazon.awssdk.services.redshift.model.ReservedNodeAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ReservedNodeAlreadyMigratedException;
import software.amazon.awssdk.services.redshift.model.ReservedNodeExchangeNotFoundException;
import software.amazon.awssdk.services.redshift.model.ReservedNodeNotFoundException;
import software.amazon.awssdk.services.redshift.model.ReservedNodeOfferingNotFoundException;
import software.amazon.awssdk.services.redshift.model.ReservedNodeQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ResetClusterParameterGroupRequest;
import software.amazon.awssdk.services.redshift.model.ResetClusterParameterGroupResponse;
import software.amazon.awssdk.services.redshift.model.ResizeClusterRequest;
import software.amazon.awssdk.services.redshift.model.ResizeClusterResponse;
import software.amazon.awssdk.services.redshift.model.ResizeNotFoundException;
import software.amazon.awssdk.services.redshift.model.ResourceNotFoundException;
import software.amazon.awssdk.services.redshift.model.RestoreFromClusterSnapshotRequest;
import software.amazon.awssdk.services.redshift.model.RestoreFromClusterSnapshotResponse;
import software.amazon.awssdk.services.redshift.model.RestoreTableFromClusterSnapshotRequest;
import software.amazon.awssdk.services.redshift.model.RestoreTableFromClusterSnapshotResponse;
import software.amazon.awssdk.services.redshift.model.ResumeClusterRequest;
import software.amazon.awssdk.services.redshift.model.ResumeClusterResponse;
import software.amazon.awssdk.services.redshift.model.RevokeClusterSecurityGroupIngressRequest;
import software.amazon.awssdk.services.redshift.model.RevokeClusterSecurityGroupIngressResponse;
import software.amazon.awssdk.services.redshift.model.RevokeEndpointAccessRequest;
import software.amazon.awssdk.services.redshift.model.RevokeEndpointAccessResponse;
import software.amazon.awssdk.services.redshift.model.RevokeSnapshotAccessRequest;
import software.amazon.awssdk.services.redshift.model.RevokeSnapshotAccessResponse;
import software.amazon.awssdk.services.redshift.model.RotateEncryptionKeyRequest;
import software.amazon.awssdk.services.redshift.model.RotateEncryptionKeyResponse;
import software.amazon.awssdk.services.redshift.model.ScheduleDefinitionTypeUnsupportedException;
import software.amazon.awssdk.services.redshift.model.ScheduledActionAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.ScheduledActionNotFoundException;
import software.amazon.awssdk.services.redshift.model.ScheduledActionQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.ScheduledActionTypeUnsupportedException;
import software.amazon.awssdk.services.redshift.model.SnapshotCopyAlreadyDisabledException;
import software.amazon.awssdk.services.redshift.model.SnapshotCopyAlreadyEnabledException;
import software.amazon.awssdk.services.redshift.model.SnapshotCopyDisabledException;
import software.amazon.awssdk.services.redshift.model.SnapshotCopyGrantAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.SnapshotCopyGrantNotFoundException;
import software.amazon.awssdk.services.redshift.model.SnapshotCopyGrantQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.SnapshotScheduleAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.SnapshotScheduleNotFoundException;
import software.amazon.awssdk.services.redshift.model.SnapshotScheduleQuotaExceededException;
import software.amazon.awssdk.services.redshift.model.SnapshotScheduleUpdateInProgressException;
import software.amazon.awssdk.services.redshift.model.SnsInvalidTopicException;
import software.amazon.awssdk.services.redshift.model.SnsNoAuthorizationException;
import software.amazon.awssdk.services.redshift.model.SnsTopicArnNotFoundException;
import software.amazon.awssdk.services.redshift.model.SourceNotFoundException;
import software.amazon.awssdk.services.redshift.model.SubnetAlreadyInUseException;
import software.amazon.awssdk.services.redshift.model.SubscriptionAlreadyExistException;
import software.amazon.awssdk.services.redshift.model.SubscriptionCategoryNotFoundException;
import software.amazon.awssdk.services.redshift.model.SubscriptionEventIdNotFoundException;
import software.amazon.awssdk.services.redshift.model.SubscriptionNotFoundException;
import software.amazon.awssdk.services.redshift.model.SubscriptionSeverityNotFoundException;
import software.amazon.awssdk.services.redshift.model.TableLimitExceededException;
import software.amazon.awssdk.services.redshift.model.TableRestoreNotFoundException;
import software.amazon.awssdk.services.redshift.model.TagLimitExceededException;
import software.amazon.awssdk.services.redshift.model.UnauthorizedOperationException;
import software.amazon.awssdk.services.redshift.model.UnauthorizedPartnerIntegrationException;
import software.amazon.awssdk.services.redshift.model.UnknownSnapshotCopyRegionException;
import software.amazon.awssdk.services.redshift.model.UnsupportedOperationException;
import software.amazon.awssdk.services.redshift.model.UnsupportedOptionException;
import software.amazon.awssdk.services.redshift.model.UpdatePartnerStatusRequest;
import software.amazon.awssdk.services.redshift.model.UpdatePartnerStatusResponse;
import software.amazon.awssdk.services.redshift.model.UsageLimitAlreadyExistsException;
import software.amazon.awssdk.services.redshift.model.UsageLimitNotFoundException;
import software.amazon.awssdk.services.redshift.transform.AcceptReservedNodeExchangeRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.AddPartnerRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.AssociateDataShareConsumerRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.AuthorizeClusterSecurityGroupIngressRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.AuthorizeDataShareRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.AuthorizeEndpointAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.AuthorizeSnapshotAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.BatchDeleteClusterSnapshotsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.BatchModifyClusterSnapshotsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CancelResizeRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CopyClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateAuthenticationProfileRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateClusterSecurityGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateClusterSubnetGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateCustomDomainAssociationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateEndpointAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateEventSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateHsmClientCertificateRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateHsmConfigurationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateRedshiftIdcApplicationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateScheduledActionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateSnapshotCopyGrantRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateSnapshotScheduleRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateTagsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.CreateUsageLimitRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeauthorizeDataShareRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteAuthenticationProfileRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteClusterSecurityGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteClusterSubnetGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteCustomDomainAssociationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteEndpointAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteEventSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteHsmClientCertificateRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteHsmConfigurationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeletePartnerRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteRedshiftIdcApplicationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteScheduledActionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteSnapshotCopyGrantRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteSnapshotScheduleRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteTagsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DeleteUsageLimitRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeAccountAttributesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeAuthenticationProfilesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterDbRevisionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterParameterGroupsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterParametersRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterSecurityGroupsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterSnapshotsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterSubnetGroupsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterTracksRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClusterVersionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeClustersRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeCustomDomainAssociationsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeDataSharesForConsumerRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeDataSharesForProducerRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeDataSharesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeDefaultClusterParametersRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeEndpointAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeEndpointAuthorizationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeEventCategoriesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeEventSubscriptionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeEventsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeHsmClientCertificatesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeHsmConfigurationsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeInboundIntegrationsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeLoggingStatusRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeNodeConfigurationOptionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeOrderableClusterOptionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribePartnersRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeRedshiftIdcApplicationsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeReservedNodeExchangeStatusRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeReservedNodeOfferingsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeReservedNodesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeResizeRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeScheduledActionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeSnapshotCopyGrantsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeSnapshotSchedulesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeStorageRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeTableRestoreStatusRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeTagsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DescribeUsageLimitsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DisableLoggingRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DisableSnapshotCopyRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.DisassociateDataShareConsumerRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.EnableLoggingRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.EnableSnapshotCopyRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.FailoverPrimaryComputeRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.GetClusterCredentialsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.GetClusterCredentialsWithIamRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.GetReservedNodeExchangeConfigurationOptionsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.GetReservedNodeExchangeOfferingsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.GetResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ListRecommendationsRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyAquaConfigurationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyAuthenticationProfileRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterDbRevisionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterIamRolesRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterMaintenanceRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterSnapshotScheduleRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyClusterSubnetGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyCustomDomainAssociationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyEndpointAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyEventSubscriptionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyRedshiftIdcApplicationRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyScheduledActionRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifySnapshotCopyRetentionPeriodRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifySnapshotScheduleRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ModifyUsageLimitRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.PauseClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.PurchaseReservedNodeOfferingRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.PutResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RebootClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RejectDataShareRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ResetClusterParameterGroupRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ResizeClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RestoreFromClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RestoreTableFromClusterSnapshotRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.ResumeClusterRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RevokeClusterSecurityGroupIngressRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RevokeEndpointAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RevokeSnapshotAccessRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.RotateEncryptionKeyRequestMarshaller;
import software.amazon.awssdk.services.redshift.transform.UpdatePartnerStatusRequestMarshaller;
import software.amazon.awssdk.services.redshift.waiters.RedshiftWaiter;
import software.amazon.awssdk.utils.Logger;
/**
* Internal implementation of {@link RedshiftClient}.
*
* @see RedshiftClient#builder()
*/
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultRedshiftClient implements RedshiftClient {
private static final Logger log = Logger.loggerFor(DefaultRedshiftClient.class);
private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata.builder()
.serviceProtocol(AwsServiceProtocol.QUERY).build();
private final SyncClientHandler clientHandler;
private final AwsQueryProtocolFactory protocolFactory;
private final SdkClientConfiguration clientConfiguration;
protected DefaultRedshiftClient(SdkClientConfiguration clientConfiguration) {
this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
this.protocolFactory = init();
}
/**
*
* Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type,
* or number of nodes) and no additional costs.
*
*
* @param acceptReservedNodeExchangeRequest
* @return Result of the AcceptReservedNodeExchange operation returned by the service.
* @throws ReservedNodeNotFoundException
* The specified reserved compute node not found.
* @throws InvalidReservedNodeStateException
* Indicates that the Reserved Node being exchanged is not in an active state.
* @throws ReservedNodeAlreadyMigratedException
* Indicates that the reserved node has already been exchanged.
* @throws ReservedNodeOfferingNotFoundException
* Specified offering does not exist.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws DependentServiceUnavailableException
* Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30
* to 60 seconds and try again.
* @throws ReservedNodeAlreadyExistsException
* User already has a reservation with the given identifier.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AcceptReservedNodeExchange
* @see AWS API Documentation
*/
@Override
public AcceptReservedNodeExchangeResponse acceptReservedNodeExchange(
AcceptReservedNodeExchangeRequest acceptReservedNodeExchangeRequest) throws ReservedNodeNotFoundException,
InvalidReservedNodeStateException, ReservedNodeAlreadyMigratedException, ReservedNodeOfferingNotFoundException,
UnsupportedOperationException, DependentServiceUnavailableException, ReservedNodeAlreadyExistsException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AcceptReservedNodeExchangeResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(acceptReservedNodeExchangeRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, acceptReservedNodeExchangeRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AcceptReservedNodeExchange");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AcceptReservedNodeExchange").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(acceptReservedNodeExchangeRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AcceptReservedNodeExchangeRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Adds a partner integration to a cluster. This operation authorizes a partner to push status updates for the
* specified database. To complete the integration, you also set up the integration on the partner website.
*
*
* @param addPartnerRequest
* @return Result of the AddPartner operation returned by the service.
* @throws PartnerNotFoundException
* The name of the partner was not found.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws UnauthorizedPartnerIntegrationException
* The partner integration is not authorized.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AddPartner
* @see AWS API
* Documentation
*/
@Override
public AddPartnerResponse addPartner(AddPartnerRequest addPartnerRequest) throws PartnerNotFoundException,
ClusterNotFoundException, UnauthorizedPartnerIntegrationException, UnsupportedOperationException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AddPartnerResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addPartnerRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, addPartnerRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddPartner");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("AddPartner").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration)
.withInput(addPartnerRequest).withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AddPartnerRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* From a datashare consumer account, associates a datashare with the account (AssociateEntireAccount) or the
* specified namespace (ConsumerArn). If you make this association, the consumer can consume the datashare.
*
*
* @param associateDataShareConsumerRequest
* @return Result of the AssociateDataShareConsumer operation returned by the service.
* @throws InvalidDataShareException
* There is an error with the datashare.
* @throws InvalidNamespaceException
* The namespace isn't valid because the namespace doesn't exist. Provide a valid namespace.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AssociateDataShareConsumer
* @see AWS API Documentation
*/
@Override
public AssociateDataShareConsumerResponse associateDataShareConsumer(
AssociateDataShareConsumerRequest associateDataShareConsumerRequest) throws InvalidDataShareException,
InvalidNamespaceException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AssociateDataShareConsumerResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateDataShareConsumerRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, associateDataShareConsumerRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateDataShareConsumer");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AssociateDataShareConsumer").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(associateDataShareConsumerRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AssociateDataShareConsumerRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application
* accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to
* either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group.
* You can add as many as 20 ingress rules to an Amazon Redshift security group.
*
*
* If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and
* EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same
* Amazon Web Services Region.
*
*
* If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see
* the Wikipedia article on Classless
* Inter-Domain Routing.
*
*
* You must also associate the security group with a cluster so that clients running on these IP addresses or the
* EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security
* Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param authorizeClusterSecurityGroupIngressRequest
* @return Result of the AuthorizeClusterSecurityGroupIngress operation returned by the service.
* @throws ClusterSecurityGroupNotFoundException
* The cluster security group name does not refer to an existing cluster security group.
* @throws InvalidClusterSecurityGroupStateException
* The state of the cluster security group is not available
.
* @throws AuthorizationAlreadyExistsException
* The specified CIDR block or EC2 security group is already authorized for the specified cluster security
* group.
* @throws AuthorizationQuotaExceededException
* The authorization quota for the cluster security group has been reached.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AuthorizeClusterSecurityGroupIngress
* @see AWS API Documentation
*/
@Override
public AuthorizeClusterSecurityGroupIngressResponse authorizeClusterSecurityGroupIngress(
AuthorizeClusterSecurityGroupIngressRequest authorizeClusterSecurityGroupIngressRequest)
throws ClusterSecurityGroupNotFoundException, InvalidClusterSecurityGroupStateException,
AuthorizationAlreadyExistsException, AuthorizationQuotaExceededException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AuthorizeClusterSecurityGroupIngressResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(authorizeClusterSecurityGroupIngressRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
authorizeClusterSecurityGroupIngressRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AuthorizeClusterSecurityGroupIngress");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AuthorizeClusterSecurityGroupIngress").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(authorizeClusterSecurityGroupIngressRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AuthorizeClusterSecurityGroupIngressRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* From a data producer account, authorizes the sharing of a datashare with one or more consumer accounts or
* managing entities. To authorize a datashare for a data consumer, the producer account must have the correct
* access permissions.
*
*
* @param authorizeDataShareRequest
* @return Result of the AuthorizeDataShare operation returned by the service.
* @throws InvalidDataShareException
* There is an error with the datashare.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AuthorizeDataShare
* @see AWS
* API Documentation
*/
@Override
public AuthorizeDataShareResponse authorizeDataShare(AuthorizeDataShareRequest authorizeDataShareRequest)
throws InvalidDataShareException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AuthorizeDataShareResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(authorizeDataShareRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, authorizeDataShareRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AuthorizeDataShare");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("AuthorizeDataShare").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(authorizeDataShareRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AuthorizeDataShareRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Grants access to a cluster.
*
*
* @param authorizeEndpointAccessRequest
* @return Result of the AuthorizeEndpointAccess operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws EndpointAuthorizationsPerClusterLimitExceededException
* The number of endpoint authorizations per cluster has exceeded its limit.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws EndpointAuthorizationAlreadyExistsException
* The authorization already exists for this endpoint.
* @throws InvalidAuthorizationStateException
* The status of the authorization is not valid.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AuthorizeEndpointAccess
* @see AWS API Documentation
*/
@Override
public AuthorizeEndpointAccessResponse authorizeEndpointAccess(AuthorizeEndpointAccessRequest authorizeEndpointAccessRequest)
throws ClusterNotFoundException, EndpointAuthorizationsPerClusterLimitExceededException,
UnsupportedOperationException, EndpointAuthorizationAlreadyExistsException, InvalidAuthorizationStateException,
InvalidClusterStateException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AuthorizeEndpointAccessResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(authorizeEndpointAccessRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, authorizeEndpointAccessRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AuthorizeEndpointAccess");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AuthorizeEndpointAccess").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(authorizeEndpointAccessRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AuthorizeEndpointAccessRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Authorizes the specified Amazon Web Services account to restore the specified snapshot.
*
*
* For more information about working with snapshots, go to Amazon Redshift Snapshots
* in the Amazon Redshift Cluster Management Guide.
*
*
* @param authorizeSnapshotAccessRequest
* @return Result of the AuthorizeSnapshotAccess operation returned by the service.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster snapshot.
* @throws AuthorizationAlreadyExistsException
* The specified CIDR block or EC2 security group is already authorized for the specified cluster security
* group.
* @throws AuthorizationQuotaExceededException
* The authorization quota for the cluster security group has been reached.
* @throws DependentServiceRequestThrottlingException
* The request cannot be completed because a dependent service is throttling requests made by Amazon
* Redshift on your behalf. Wait and retry the request.
* @throws InvalidClusterSnapshotStateException
* The specified cluster snapshot is not in the available
state, or other accounts are
* authorized to access the snapshot.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in Amazon Web Services KMS.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.AuthorizeSnapshotAccess
* @see AWS API Documentation
*/
@Override
public AuthorizeSnapshotAccessResponse authorizeSnapshotAccess(AuthorizeSnapshotAccessRequest authorizeSnapshotAccessRequest)
throws ClusterSnapshotNotFoundException, AuthorizationAlreadyExistsException, AuthorizationQuotaExceededException,
DependentServiceRequestThrottlingException, InvalidClusterSnapshotStateException, LimitExceededException,
UnsupportedOperationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(AuthorizeSnapshotAccessResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(authorizeSnapshotAccessRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, authorizeSnapshotAccessRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AuthorizeSnapshotAccess");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AuthorizeSnapshotAccess").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(authorizeSnapshotAccessRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new AuthorizeSnapshotAccessRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a set of cluster snapshots.
*
*
* @param batchDeleteClusterSnapshotsRequest
* @return Result of the BatchDeleteClusterSnapshots operation returned by the service.
* @throws BatchDeleteRequestSizeExceededException
* The maximum number for a batch delete of snapshots has been reached. The limit is 100.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.BatchDeleteClusterSnapshots
* @see AWS API Documentation
*/
@Override
public BatchDeleteClusterSnapshotsResponse batchDeleteClusterSnapshots(
BatchDeleteClusterSnapshotsRequest batchDeleteClusterSnapshotsRequest)
throws BatchDeleteRequestSizeExceededException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(BatchDeleteClusterSnapshotsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchDeleteClusterSnapshotsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, batchDeleteClusterSnapshotsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchDeleteClusterSnapshots");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("BatchDeleteClusterSnapshots").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(batchDeleteClusterSnapshotsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new BatchDeleteClusterSnapshotsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Modifies the settings for a set of cluster snapshots.
*
*
* @param batchModifyClusterSnapshotsRequest
* @return Result of the BatchModifyClusterSnapshots operation returned by the service.
* @throws InvalidRetentionPeriodException
* The retention period specified is either in the past or is not a valid value.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @throws BatchModifyClusterSnapshotsLimitExceededException
* The maximum number for snapshot identifiers has been reached. The limit is 100.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.BatchModifyClusterSnapshots
* @see AWS API Documentation
*/
@Override
public BatchModifyClusterSnapshotsResponse batchModifyClusterSnapshots(
BatchModifyClusterSnapshotsRequest batchModifyClusterSnapshotsRequest) throws InvalidRetentionPeriodException,
BatchModifyClusterSnapshotsLimitExceededException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(BatchModifyClusterSnapshotsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchModifyClusterSnapshotsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, batchModifyClusterSnapshotsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchModifyClusterSnapshots");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("BatchModifyClusterSnapshots").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(batchModifyClusterSnapshotsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new BatchModifyClusterSnapshotsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Cancels a resize operation for a cluster.
*
*
* @param cancelResizeRequest
* @return Result of the CancelResize operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws ResizeNotFoundException
* A resize operation for the specified cluster is not found.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CancelResize
* @see AWS API
* Documentation
*/
@Override
public CancelResizeResponse cancelResize(CancelResizeRequest cancelResizeRequest) throws ClusterNotFoundException,
ResizeNotFoundException, InvalidClusterStateException, UnsupportedOperationException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CancelResizeResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelResizeRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelResizeRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelResize");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CancelResize").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(cancelResizeRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CancelResizeRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated
* snapshot and it must be in the available state.
*
*
* When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the
* retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an
* automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained
* until you delete them.
*
*
* For more information about working with snapshots, go to Amazon Redshift Snapshots
* in the Amazon Redshift Cluster Management Guide.
*
*
* @param copyClusterSnapshotRequest
* @return Result of the CopyClusterSnapshot operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws ClusterSnapshotAlreadyExistsException
* The value specified as a snapshot identifier is already used by an existing snapshot.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster snapshot.
* @throws InvalidClusterSnapshotStateException
* The specified cluster snapshot is not in the available
state, or other accounts are
* authorized to access the snapshot.
* @throws ClusterSnapshotQuotaExceededException
* The request would result in the user exceeding the allowed number of cluster snapshots.
* @throws InvalidRetentionPeriodException
* The retention period specified is either in the past or is not a valid value.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CopyClusterSnapshot
* @see AWS
* API Documentation
*/
@Override
public CopyClusterSnapshotResponse copyClusterSnapshot(CopyClusterSnapshotRequest copyClusterSnapshotRequest)
throws ClusterNotFoundException, ClusterSnapshotAlreadyExistsException, ClusterSnapshotNotFoundException,
InvalidClusterSnapshotStateException, ClusterSnapshotQuotaExceededException, InvalidRetentionPeriodException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CopyClusterSnapshotResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(copyClusterSnapshotRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, copyClusterSnapshotRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CopyClusterSnapshot");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CopyClusterSnapshot").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(copyClusterSnapshotRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CopyClusterSnapshotRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates an authentication profile with the specified parameters.
*
*
* @param createAuthenticationProfileRequest
* @return Result of the CreateAuthenticationProfile operation returned by the service.
* @throws AuthenticationProfileAlreadyExistsException
* The authentication profile already exists.
* @throws AuthenticationProfileQuotaExceededException
* The size or number of authentication profiles has exceeded the quota. The maximum length of the JSON
* string and maximum number of authentication profiles is determined by a quota for your account.
* @throws InvalidAuthenticationProfileRequestException
* The authentication profile request is not valid. The profile name can't be null or empty. The
* authentication profile API operation must be available in the Amazon Web Services Region.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateAuthenticationProfile
* @see AWS API Documentation
*/
@Override
public CreateAuthenticationProfileResponse createAuthenticationProfile(
CreateAuthenticationProfileRequest createAuthenticationProfileRequest)
throws AuthenticationProfileAlreadyExistsException, AuthenticationProfileQuotaExceededException,
InvalidAuthenticationProfileRequestException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateAuthenticationProfileResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createAuthenticationProfileRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createAuthenticationProfileRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateAuthenticationProfile");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateAuthenticationProfile").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createAuthenticationProfileRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateAuthenticationProfileRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a new cluster with the specified parameters.
*
*
* To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster
* subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more
* information about managing clusters, go to Amazon Redshift Clusters
* in the Amazon Redshift Cluster Management Guide.
*
*
* @param createClusterRequest
* @return Result of the CreateCluster operation returned by the service.
* @throws ClusterAlreadyExistsException
* The account already has a cluster with the given identifier.
* @throws InsufficientClusterCapacityException
* The number of nodes specified exceeds the allotted capacity of the cluster.
* @throws ClusterParameterGroupNotFoundException
* The parameter group name does not refer to an existing parameter group.
* @throws ClusterSecurityGroupNotFoundException
* The cluster security group name does not refer to an existing cluster security group.
* @throws ClusterQuotaExceededException
* The request would exceed the allowed number of cluster instances for this account. For information about
* increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws NumberOfNodesQuotaExceededException
* The operation would exceed the number of nodes allotted to the account. For information about increasing
* your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws NumberOfNodesPerClusterLimitExceededException
* The operation would exceed the number of nodes allowed for a cluster.
* @throws ClusterSubnetGroupNotFoundException
* The cluster subnet group name does not refer to an existing cluster subnet group.
* @throws InvalidVpcNetworkStateException
* The cluster subnet group does not cover all Availability Zones.
* @throws InvalidClusterSubnetGroupStateException
* The cluster subnet group cannot be deleted because it is in use.
* @throws InvalidSubnetException
* The requested subnet is not valid, or not all of the subnets are in the same VPC.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws HsmClientCertificateNotFoundException
* There is no Amazon Redshift HSM client certificate with the specified identifier.
* @throws HsmConfigurationNotFoundException
* There is no Amazon Redshift HSM configuration with the specified identifier.
* @throws InvalidElasticIpException
* The Elastic IP (EIP) is invalid or cannot be found.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in Amazon Web Services KMS.
* @throws DependentServiceRequestThrottlingException
* The request cannot be completed because a dependent service is throttling requests made by Amazon
* Redshift on your behalf. Wait and retry the request.
* @throws InvalidClusterTrackException
* The provided cluster track name is not valid.
* @throws SnapshotScheduleNotFoundException
* We could not find the specified snapshot schedule.
* @throws InvalidRetentionPeriodException
* The retention period specified is either in the past or is not a valid value.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @throws Ipv6CidrBlockNotFoundException
* There are no subnets in your VPC with associated IPv6 CIDR blocks. To use dual-stack mode, associate an
* IPv6 CIDR block with each subnet in your VPC.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws RedshiftIdcApplicationNotExistsException
* The application you attempted to find doesn't exist.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateCluster
* @see AWS API
* Documentation
*/
@Override
public CreateClusterResponse createCluster(CreateClusterRequest createClusterRequest) throws ClusterAlreadyExistsException,
InsufficientClusterCapacityException, ClusterParameterGroupNotFoundException, ClusterSecurityGroupNotFoundException,
ClusterQuotaExceededException, NumberOfNodesQuotaExceededException, NumberOfNodesPerClusterLimitExceededException,
ClusterSubnetGroupNotFoundException, InvalidVpcNetworkStateException, InvalidClusterSubnetGroupStateException,
InvalidSubnetException, UnauthorizedOperationException, HsmClientCertificateNotFoundException,
HsmConfigurationNotFoundException, InvalidElasticIpException, TagLimitExceededException, InvalidTagException,
LimitExceededException, DependentServiceRequestThrottlingException, InvalidClusterTrackException,
SnapshotScheduleNotFoundException, InvalidRetentionPeriodException, Ipv6CidrBlockNotFoundException,
UnsupportedOperationException, RedshiftIdcApplicationNotExistsException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateClusterResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createClusterRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createClusterRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCluster");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CreateCluster").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createClusterRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateClusterRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates an Amazon Redshift parameter group.
*
*
* Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group
* when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster
* is created by using ModifyCluster.
*
*
* Parameters in the parameter group define specific behavior that applies to the databases you create on the
* cluster. For more information about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param createClusterParameterGroupRequest
* @return Result of the CreateClusterParameterGroup operation returned by the service.
* @throws ClusterParameterGroupQuotaExceededException
* The request would result in the user exceeding the allowed number of cluster parameter groups. For
* information about increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws ClusterParameterGroupAlreadyExistsException
* A cluster parameter group with the same name already exists.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateClusterParameterGroup
* @see AWS API Documentation
*/
@Override
public CreateClusterParameterGroupResponse createClusterParameterGroup(
CreateClusterParameterGroupRequest createClusterParameterGroupRequest)
throws ClusterParameterGroupQuotaExceededException, ClusterParameterGroupAlreadyExistsException,
TagLimitExceededException, InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateClusterParameterGroupResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createClusterParameterGroupRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createClusterParameterGroupRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateClusterParameterGroup");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateClusterParameterGroup").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createClusterParameterGroupRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateClusterParameterGroupRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.
*
*
* For information about managing security groups, go to Amazon Redshift Cluster
* Security Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param createClusterSecurityGroupRequest
* @return Result of the CreateClusterSecurityGroup operation returned by the service.
* @throws ClusterSecurityGroupAlreadyExistsException
* A cluster security group with the same name already exists.
* @throws ClusterSecurityGroupQuotaExceededException
* The request would result in the user exceeding the allowed number of cluster security groups. For
* information about increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateClusterSecurityGroup
* @see AWS API Documentation
*/
@Override
public CreateClusterSecurityGroupResponse createClusterSecurityGroup(
CreateClusterSecurityGroupRequest createClusterSecurityGroupRequest)
throws ClusterSecurityGroupAlreadyExistsException, ClusterSecurityGroupQuotaExceededException,
TagLimitExceededException, InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateClusterSecurityGroupResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createClusterSecurityGroupRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createClusterSecurityGroupRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateClusterSecurityGroup");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateClusterSecurityGroup").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createClusterSecurityGroupRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateClusterSecurityGroupRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a manual snapshot of the specified cluster. The cluster must be in the available
state.
*
*
* For more information about working with snapshots, go to Amazon Redshift Snapshots
* in the Amazon Redshift Cluster Management Guide.
*
*
* @param createClusterSnapshotRequest
* @return Result of the CreateClusterSnapshot operation returned by the service.
* @throws ClusterSnapshotAlreadyExistsException
* The value specified as a snapshot identifier is already used by an existing snapshot.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws ClusterSnapshotQuotaExceededException
* The request would result in the user exceeding the allowed number of cluster snapshots.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws InvalidRetentionPeriodException
* The retention period specified is either in the past or is not a valid value.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateClusterSnapshot
* @see AWS API Documentation
*/
@Override
public CreateClusterSnapshotResponse createClusterSnapshot(CreateClusterSnapshotRequest createClusterSnapshotRequest)
throws ClusterSnapshotAlreadyExistsException, InvalidClusterStateException, ClusterNotFoundException,
ClusterSnapshotQuotaExceededException, TagLimitExceededException, InvalidTagException,
InvalidRetentionPeriodException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateClusterSnapshotResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createClusterSnapshotRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createClusterSnapshotRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateClusterSnapshot");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CreateClusterSnapshot").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createClusterSnapshotRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateClusterSnapshotRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing
* Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.
*
*
* For information about subnet groups, go to Amazon Redshift
* Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param createClusterSubnetGroupRequest
* @return Result of the CreateClusterSubnetGroup operation returned by the service.
* @throws ClusterSubnetGroupAlreadyExistsException
* A ClusterSubnetGroupName is already used by an existing cluster subnet group.
* @throws ClusterSubnetGroupQuotaExceededException
* The request would result in user exceeding the allowed number of cluster subnet groups. For information
* about increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws ClusterSubnetQuotaExceededException
* The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For
* information about increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws InvalidSubnetException
* The requested subnet is not valid, or not all of the subnets are in the same VPC.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws DependentServiceRequestThrottlingException
* The request cannot be completed because a dependent service is throttling requests made by Amazon
* Redshift on your behalf. Wait and retry the request.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateClusterSubnetGroup
* @see AWS API Documentation
*/
@Override
public CreateClusterSubnetGroupResponse createClusterSubnetGroup(
CreateClusterSubnetGroupRequest createClusterSubnetGroupRequest) throws ClusterSubnetGroupAlreadyExistsException,
ClusterSubnetGroupQuotaExceededException, ClusterSubnetQuotaExceededException, InvalidSubnetException,
UnauthorizedOperationException, TagLimitExceededException, InvalidTagException,
DependentServiceRequestThrottlingException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateClusterSubnetGroupResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createClusterSubnetGroupRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createClusterSubnetGroupRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateClusterSubnetGroup");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateClusterSubnetGroup").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createClusterSubnetGroupRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateClusterSubnetGroupRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Used to create a custom domain name for a cluster. Properties include the custom domain name, the cluster the
* custom domain is associated with, and the certificate Amazon Resource Name (ARN).
*
*
* @param createCustomDomainAssociationRequest
* @return Result of the CreateCustomDomainAssociation operation returned by the service.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws CustomCnameAssociationException
* An error occurred when an attempt was made to change the custom domain association.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateCustomDomainAssociation
* @see AWS API Documentation
*/
@Override
public CreateCustomDomainAssociationResponse createCustomDomainAssociation(
CreateCustomDomainAssociationRequest createCustomDomainAssociationRequest) throws UnsupportedOperationException,
ClusterNotFoundException, CustomCnameAssociationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateCustomDomainAssociationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCustomDomainAssociationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
createCustomDomainAssociationRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCustomDomainAssociation");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateCustomDomainAssociation").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createCustomDomainAssociationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateCustomDomainAssociationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a Redshift-managed VPC endpoint.
*
*
* @param createEndpointAccessRequest
* @return Result of the CreateEndpointAccess operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws AccessToClusterDeniedException
* You are not authorized to access the cluster.
* @throws EndpointsPerClusterLimitExceededException
* The number of Redshift-managed VPC endpoints per cluster has exceeded its limit.
* @throws EndpointsPerAuthorizationLimitExceededException
* The number of Redshift-managed VPC endpoints per authorization has exceeded its limit.
* @throws InvalidClusterSecurityGroupStateException
* The state of the cluster security group is not available
.
* @throws ClusterSubnetGroupNotFoundException
* The cluster subnet group name does not refer to an existing cluster subnet group.
* @throws EndpointAlreadyExistsException
* The account already has a Redshift-managed VPC endpoint with the given identifier.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateEndpointAccess
* @see AWS
* API Documentation
*/
@Override
public CreateEndpointAccessResponse createEndpointAccess(CreateEndpointAccessRequest createEndpointAccessRequest)
throws ClusterNotFoundException, AccessToClusterDeniedException, EndpointsPerClusterLimitExceededException,
EndpointsPerAuthorizationLimitExceededException, InvalidClusterSecurityGroupStateException,
ClusterSubnetGroupNotFoundException, EndpointAlreadyExistsException, UnsupportedOperationException,
InvalidClusterStateException, UnauthorizedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateEndpointAccessResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createEndpointAccessRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createEndpointAccessRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateEndpointAccess");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CreateEndpointAccess").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createEndpointAccessRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateEndpointAccessRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of
* an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API.
* To obtain an ARN with Amazon 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 source type, and lists of Amazon Redshift source IDs, event categories, and event severities.
* Notifications will be sent for all events you want that match those criteria. For example, you can specify source
* type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity =
* ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup
* categories for the specified clusters.
*
*
* If you specify both the source type and source IDs, such as source type = cluster and source identifier =
* my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source
* type but do not specify a source identifier, you will receive notice of the events for the objects of that type
* in your Amazon Web Services account. If you do not specify either the SourceType nor the SourceIdentifier, you
* will be notified of events generated from all Amazon Redshift sources belonging to your Amazon Web Services
* account. You must specify a source type if you specify a source ID.
*
*
* @param createEventSubscriptionRequest
* @return Result of the CreateEventSubscription operation returned by the service.
* @throws EventSubscriptionQuotaExceededException
* The request would exceed the allowed number of event subscriptions for this account. For information
* about increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws SubscriptionAlreadyExistException
* There is already an existing event notification subscription with the specified name.
* @throws SnsInvalidTopicException
* Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.
* @throws SnsNoAuthorizationException
* You do not have permission to publish to the specified Amazon SNS topic.
* @throws SnsTopicArnNotFoundException
* An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.
* @throws SubscriptionEventIdNotFoundException
* An Amazon Redshift event with the specified event ID does not exist.
* @throws SubscriptionCategoryNotFoundException
* The value specified for the event category was not one of the allowed values, or it specified a category
* that does not apply to the specified source type. The allowed values are Configuration, Management,
* Monitoring, and Security.
* @throws SubscriptionSeverityNotFoundException
* The value specified for the event severity was not one of the allowed values, or it specified a severity
* that does not apply to the specified source type. The allowed values are ERROR and INFO.
* @throws SourceNotFoundException
* The specified Amazon Redshift event source could not be found.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateEventSubscription
* @see AWS API Documentation
*/
@Override
public CreateEventSubscriptionResponse createEventSubscription(CreateEventSubscriptionRequest createEventSubscriptionRequest)
throws EventSubscriptionQuotaExceededException, SubscriptionAlreadyExistException, SnsInvalidTopicException,
SnsNoAuthorizationException, SnsTopicArnNotFoundException, SubscriptionEventIdNotFoundException,
SubscriptionCategoryNotFoundException, SubscriptionSeverityNotFoundException, SourceNotFoundException,
TagLimitExceededException, InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateEventSubscriptionResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
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, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateEventSubscription");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateEventSubscription").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createEventSubscriptionRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateEventSubscriptionRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in
* order to store and retrieve the keys used to encrypt the cluster databases.
*
*
* The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate,
* you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and
* use encryption keys in the HSM. For more information, go to Hardware
* Security Modules in the Amazon Redshift Cluster Management Guide.
*
*
* @param createHsmClientCertificateRequest
* @return Result of the CreateHsmClientCertificate operation returned by the service.
* @throws HsmClientCertificateAlreadyExistsException
* There is already an existing Amazon Redshift HSM client certificate with the specified identifier.
* @throws HsmClientCertificateQuotaExceededException
* The quota for HSM client certificates has been reached. For information about increasing your quota, go
* to Limits in
* Amazon Redshift in the Amazon Redshift Cluster Management Guide.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateHsmClientCertificate
* @see AWS API Documentation
*/
@Override
public CreateHsmClientCertificateResponse createHsmClientCertificate(
CreateHsmClientCertificateRequest createHsmClientCertificateRequest)
throws HsmClientCertificateAlreadyExistsException, HsmClientCertificateQuotaExceededException,
TagLimitExceededException, InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateHsmClientCertificateResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createHsmClientCertificateRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createHsmClientCertificateRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateHsmClientCertificate");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateHsmClientCertificate").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createHsmClientCertificateRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateHsmClientCertificateRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and
* use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can
* specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.
*
*
* In addition to creating an HSM configuration, you must also create an HSM client certificate. For more
* information, go to Hardware
* Security Modules in the Amazon Redshift Cluster Management Guide.
*
*
* @param createHsmConfigurationRequest
* @return Result of the CreateHsmConfiguration operation returned by the service.
* @throws HsmConfigurationAlreadyExistsException
* There is already an existing Amazon Redshift HSM configuration with the specified identifier.
* @throws HsmConfigurationQuotaExceededException
* The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon
* Redshift in the Amazon Redshift Cluster Management Guide.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateHsmConfiguration
* @see AWS API Documentation
*/
@Override
public CreateHsmConfigurationResponse createHsmConfiguration(CreateHsmConfigurationRequest createHsmConfigurationRequest)
throws HsmConfigurationAlreadyExistsException, HsmConfigurationQuotaExceededException, TagLimitExceededException,
InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateHsmConfigurationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createHsmConfigurationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createHsmConfigurationRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateHsmConfiguration");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateHsmConfiguration").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createHsmConfigurationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateHsmConfigurationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates an Amazon Redshift application for use with IAM Identity Center.
*
*
* @param createRedshiftIdcApplicationRequest
* @return Result of the CreateRedshiftIdcApplication operation returned by the service.
* @throws RedshiftIdcApplicationAlreadyExistsException
* The application you attempted to add already exists.
* @throws DependentServiceUnavailableException
* Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30
* to 60 seconds and try again.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws DependentServiceAccessDeniedException
* A dependent service denied access for the integration.
* @throws RedshiftIdcApplicationQuotaExceededException
* The maximum number of Redshift IAM Identity Center applications was exceeded.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateRedshiftIdcApplication
* @see AWS API Documentation
*/
@Override
public CreateRedshiftIdcApplicationResponse createRedshiftIdcApplication(
CreateRedshiftIdcApplicationRequest createRedshiftIdcApplicationRequest)
throws RedshiftIdcApplicationAlreadyExistsException, DependentServiceUnavailableException,
UnsupportedOperationException, DependentServiceAccessDeniedException, RedshiftIdcApplicationQuotaExceededException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateRedshiftIdcApplicationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createRedshiftIdcApplicationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createRedshiftIdcApplicationRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateRedshiftIdcApplication");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateRedshiftIdcApplication").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createRedshiftIdcApplicationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateRedshiftIdcApplicationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For
* example, you can create a schedule of when to run the ResizeCluster
API operation.
*
*
* @param createScheduledActionRequest
* @return Result of the CreateScheduledAction operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws ScheduledActionAlreadyExistsException
* The scheduled action already exists.
* @throws ScheduledActionQuotaExceededException
* The quota for scheduled actions exceeded.
* @throws ScheduledActionTypeUnsupportedException
* The action type specified for a scheduled action is not supported.
* @throws InvalidScheduleException
* The schedule you submitted isn't valid.
* @throws InvalidScheduledActionException
* The scheduled action is not valid.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateScheduledAction
* @see AWS API Documentation
*/
@Override
public CreateScheduledActionResponse createScheduledAction(CreateScheduledActionRequest createScheduledActionRequest)
throws ClusterNotFoundException, ScheduledActionAlreadyExistsException, ScheduledActionQuotaExceededException,
ScheduledActionTypeUnsupportedException, InvalidScheduleException, InvalidScheduledActionException,
UnauthorizedOperationException, UnsupportedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateScheduledActionResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createScheduledActionRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createScheduledActionRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateScheduledAction");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CreateScheduledAction").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createScheduledActionRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateScheduledActionRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a snapshot copy grant that permits Amazon Redshift to use an encrypted symmetric key from Key Management
* Service (KMS) to encrypt copied snapshots in a destination region.
*
*
* For more information about managing snapshot copy grants, go to Amazon Redshift Database
* Encryption in the Amazon Redshift Cluster Management Guide.
*
*
* @param createSnapshotCopyGrantRequest
* The result of the CreateSnapshotCopyGrant
action.
* @return Result of the CreateSnapshotCopyGrant operation returned by the service.
* @throws SnapshotCopyGrantAlreadyExistsException
* The snapshot copy grant can't be created because a grant with the same name already exists.
* @throws SnapshotCopyGrantQuotaExceededException
* The Amazon Web Services account has exceeded the maximum number of snapshot copy grants in this region.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in Amazon Web Services KMS.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws InvalidTagException
* The tag is invalid.
* @throws DependentServiceRequestThrottlingException
* The request cannot be completed because a dependent service is throttling requests made by Amazon
* Redshift on your behalf. Wait and retry the request.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateSnapshotCopyGrant
* @see AWS API Documentation
*/
@Override
public CreateSnapshotCopyGrantResponse createSnapshotCopyGrant(CreateSnapshotCopyGrantRequest createSnapshotCopyGrantRequest)
throws SnapshotCopyGrantAlreadyExistsException, SnapshotCopyGrantQuotaExceededException, LimitExceededException,
TagLimitExceededException, InvalidTagException, DependentServiceRequestThrottlingException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateSnapshotCopyGrantResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createSnapshotCopyGrantRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createSnapshotCopyGrantRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSnapshotCopyGrant");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateSnapshotCopyGrant").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createSnapshotCopyGrantRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateSnapshotCopyGrantRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Create a snapshot schedule that can be associated to a cluster and which overrides the default system backup
* schedule.
*
*
* @param createSnapshotScheduleRequest
* @return Result of the CreateSnapshotSchedule operation returned by the service.
* @throws SnapshotScheduleAlreadyExistsException
* The specified snapshot schedule already exists.
* @throws InvalidScheduleException
* The schedule you submitted isn't valid.
* @throws SnapshotScheduleQuotaExceededException
* You have exceeded the quota of snapshot schedules.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws ScheduleDefinitionTypeUnsupportedException
* The definition you submitted is not supported.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateSnapshotSchedule
* @see AWS API Documentation
*/
@Override
public CreateSnapshotScheduleResponse createSnapshotSchedule(CreateSnapshotScheduleRequest createSnapshotScheduleRequest)
throws SnapshotScheduleAlreadyExistsException, InvalidScheduleException, SnapshotScheduleQuotaExceededException,
TagLimitExceededException, ScheduleDefinitionTypeUnsupportedException, InvalidTagException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateSnapshotScheduleResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createSnapshotScheduleRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createSnapshotScheduleRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSnapshotSchedule");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateSnapshotSchedule").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createSnapshotScheduleRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateSnapshotScheduleRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Adds tags to a cluster.
*
*
* A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, you will receive an
* error and the attempt will fail.
*
*
* If you specify a key that already exists for the resource, the value for that key will be updated with the new
* value.
*
*
* @param createTagsRequest
* Contains the output from the CreateTags
action.
* @return Result of the CreateTags operation returned by the service.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws ResourceNotFoundException
* The resource could not be found.
* @throws InvalidTagException
* The tag is invalid.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateTags
* @see AWS API
* Documentation
*/
@Override
public CreateTagsResponse createTags(CreateTagsRequest createTagsRequest) throws TagLimitExceededException,
ResourceNotFoundException, InvalidTagException, InvalidClusterStateException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateTagsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTagsRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createTagsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTags");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CreateTags").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration)
.withInput(createTagsRequest).withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateTagsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Creates a usage limit for a specified Amazon Redshift feature on a cluster. The usage limit is identified by the
* returned usage limit identifier.
*
*
* @param createUsageLimitRequest
* @return Result of the CreateUsageLimit operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in Amazon Web Services KMS.
* @throws UsageLimitAlreadyExistsException
* The usage limit already exists.
* @throws InvalidUsageLimitException
* The usage limit is not valid.
* @throws TagLimitExceededException
* You have exceeded the number of tags allowed.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.CreateUsageLimit
* @see AWS API
* Documentation
*/
@Override
public CreateUsageLimitResponse createUsageLimit(CreateUsageLimitRequest createUsageLimitRequest)
throws ClusterNotFoundException, InvalidClusterStateException, LimitExceededException,
UsageLimitAlreadyExistsException, InvalidUsageLimitException, TagLimitExceededException,
UnsupportedOperationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(CreateUsageLimitResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createUsageLimitRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, createUsageLimitRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUsageLimit");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("CreateUsageLimit").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(createUsageLimitRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new CreateUsageLimitRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* From a datashare producer account, removes authorization from the specified datashare.
*
*
* @param deauthorizeDataShareRequest
* @return Result of the DeauthorizeDataShare operation returned by the service.
* @throws InvalidDataShareException
* There is an error with the datashare.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeauthorizeDataShare
* @see AWS
* API Documentation
*/
@Override
public DeauthorizeDataShareResponse deauthorizeDataShare(DeauthorizeDataShareRequest deauthorizeDataShareRequest)
throws InvalidDataShareException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeauthorizeDataShareResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deauthorizeDataShareRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deauthorizeDataShareRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeauthorizeDataShare");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeauthorizeDataShare").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deauthorizeDataShareRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeauthorizeDataShareRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes an authentication profile.
*
*
* @param deleteAuthenticationProfileRequest
* @return Result of the DeleteAuthenticationProfile operation returned by the service.
* @throws AuthenticationProfileNotFoundException
* The authentication profile can't be found.
* @throws InvalidAuthenticationProfileRequestException
* The authentication profile request is not valid. The profile name can't be null or empty. The
* authentication profile API operation must be available in the Amazon Web Services Region.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteAuthenticationProfile
* @see AWS API Documentation
*/
@Override
public DeleteAuthenticationProfileResponse deleteAuthenticationProfile(
DeleteAuthenticationProfileRequest deleteAuthenticationProfileRequest) throws AuthenticationProfileNotFoundException,
InvalidAuthenticationProfileRequestException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteAuthenticationProfileResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteAuthenticationProfileRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteAuthenticationProfileRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteAuthenticationProfile");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteAuthenticationProfile").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteAuthenticationProfileRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteAuthenticationProfileRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a previously provisioned cluster without its final snapshot being created. A successful response from the
* web service indicates that the request was received correctly. Use DescribeClusters to monitor the status
* of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about
* managing clusters, go to Amazon Redshift Clusters
* in the Amazon Redshift Cluster Management Guide.
*
*
* If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to
* false
and specify a name for FinalClusterSnapshotIdentifier. You can later restore this
* snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be
* "final-snapshot" while the snapshot is being taken, then it's "deleting" once Amazon Redshift begins deleting the
* cluster.
*
*
* For more information about managing clusters, go to Amazon Redshift Clusters
* in the Amazon Redshift Cluster Management Guide.
*
*
* @param deleteClusterRequest
* @return Result of the DeleteCluster operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws ClusterSnapshotAlreadyExistsException
* The value specified as a snapshot identifier is already used by an existing snapshot.
* @throws ClusterSnapshotQuotaExceededException
* The request would result in the user exceeding the allowed number of cluster snapshots.
* @throws InvalidRetentionPeriodException
* The retention period specified is either in the past or is not a valid value.
*
* The value must be either -1 or an integer between 1 and 3,653.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteCluster
* @see AWS API
* Documentation
*/
@Override
public DeleteClusterResponse deleteCluster(DeleteClusterRequest deleteClusterRequest) throws ClusterNotFoundException,
InvalidClusterStateException, ClusterSnapshotAlreadyExistsException, ClusterSnapshotQuotaExceededException,
InvalidRetentionPeriodException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteClusterResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteClusterRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteClusterRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCluster");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteCluster").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteClusterRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteClusterRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a specified Amazon Redshift parameter group.
*
*
*
* You cannot delete a parameter group if it is associated with a cluster.
*
*
*
* @param deleteClusterParameterGroupRequest
* @return Result of the DeleteClusterParameterGroup operation returned by the service.
* @throws InvalidClusterParameterGroupStateException
* The cluster parameter group action can not be completed because another task is in progress that involves
* the parameter group. Wait a few moments and try the operation again.
* @throws ClusterParameterGroupNotFoundException
* The parameter group name does not refer to an existing parameter group.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteClusterParameterGroup
* @see AWS API Documentation
*/
@Override
public DeleteClusterParameterGroupResponse deleteClusterParameterGroup(
DeleteClusterParameterGroupRequest deleteClusterParameterGroupRequest)
throws InvalidClusterParameterGroupStateException, ClusterParameterGroupNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteClusterParameterGroupResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteClusterParameterGroupRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteClusterParameterGroupRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteClusterParameterGroup");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteClusterParameterGroup").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteClusterParameterGroupRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteClusterParameterGroupRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes an Amazon Redshift security group.
*
*
*
* You cannot delete a security group that is associated with any clusters. You cannot delete the default security
* group.
*
*
*
* For information about managing security groups, go to Amazon Redshift Cluster
* Security Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param deleteClusterSecurityGroupRequest
* @return Result of the DeleteClusterSecurityGroup operation returned by the service.
* @throws InvalidClusterSecurityGroupStateException
* The state of the cluster security group is not available
.
* @throws ClusterSecurityGroupNotFoundException
* The cluster security group name does not refer to an existing cluster security group.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteClusterSecurityGroup
* @see AWS API Documentation
*/
@Override
public DeleteClusterSecurityGroupResponse deleteClusterSecurityGroup(
DeleteClusterSecurityGroupRequest deleteClusterSecurityGroupRequest)
throws InvalidClusterSecurityGroupStateException, ClusterSecurityGroupNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteClusterSecurityGroupResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteClusterSecurityGroupRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteClusterSecurityGroupRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteClusterSecurityGroup");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteClusterSecurityGroup").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteClusterSecurityGroupRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteClusterSecurityGroupRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes the specified manual snapshot. The snapshot must be in the available
state, with no other
* users authorized to access the snapshot.
*
*
* Unlike automated snapshots, manual snapshots are retained even after you delete your cluster. Amazon Redshift
* does not delete your manual snapshots. You must delete manual snapshot explicitly to avoid getting charged. If
* other accounts are authorized to access the snapshot, you must revoke all of the authorizations before you can
* delete the snapshot.
*
*
* @param deleteClusterSnapshotRequest
* @return Result of the DeleteClusterSnapshot operation returned by the service.
* @throws InvalidClusterSnapshotStateException
* The specified cluster snapshot is not in the available
state, or other accounts are
* authorized to access the snapshot.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster snapshot.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteClusterSnapshot
* @see AWS API Documentation
*/
@Override
public DeleteClusterSnapshotResponse deleteClusterSnapshot(DeleteClusterSnapshotRequest deleteClusterSnapshotRequest)
throws InvalidClusterSnapshotStateException, ClusterSnapshotNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteClusterSnapshotResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteClusterSnapshotRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteClusterSnapshotRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteClusterSnapshot");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteClusterSnapshot").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteClusterSnapshotRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteClusterSnapshotRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes the specified cluster subnet group.
*
*
* @param deleteClusterSubnetGroupRequest
* @return Result of the DeleteClusterSubnetGroup operation returned by the service.
* @throws InvalidClusterSubnetGroupStateException
* The cluster subnet group cannot be deleted because it is in use.
* @throws InvalidClusterSubnetStateException
* The state of the subnet is invalid.
* @throws ClusterSubnetGroupNotFoundException
* The cluster subnet group name does not refer to an existing cluster subnet group.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteClusterSubnetGroup
* @see AWS API Documentation
*/
@Override
public DeleteClusterSubnetGroupResponse deleteClusterSubnetGroup(
DeleteClusterSubnetGroupRequest deleteClusterSubnetGroupRequest) throws InvalidClusterSubnetGroupStateException,
InvalidClusterSubnetStateException, ClusterSubnetGroupNotFoundException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteClusterSubnetGroupResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteClusterSubnetGroupRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteClusterSubnetGroupRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteClusterSubnetGroup");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteClusterSubnetGroup").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteClusterSubnetGroupRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteClusterSubnetGroupRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Contains information about deleting a custom domain association for a cluster.
*
*
* @param deleteCustomDomainAssociationRequest
* @return Result of the DeleteCustomDomainAssociation operation returned by the service.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws CustomCnameAssociationException
* An error occurred when an attempt was made to change the custom domain association.
* @throws CustomDomainAssociationNotFoundException
* An error occurred. The custom domain name couldn't be found.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteCustomDomainAssociation
* @see AWS API Documentation
*/
@Override
public DeleteCustomDomainAssociationResponse deleteCustomDomainAssociation(
DeleteCustomDomainAssociationRequest deleteCustomDomainAssociationRequest) throws UnsupportedOperationException,
ClusterNotFoundException, CustomCnameAssociationException, CustomDomainAssociationNotFoundException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteCustomDomainAssociationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCustomDomainAssociationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
deleteCustomDomainAssociationRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCustomDomainAssociation");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteCustomDomainAssociation").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteCustomDomainAssociationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteCustomDomainAssociationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a Redshift-managed VPC endpoint.
*
*
* @param deleteEndpointAccessRequest
* @return Result of the DeleteEndpointAccess operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws InvalidEndpointStateException
* The status of the endpoint is not valid.
* @throws InvalidClusterSecurityGroupStateException
* The state of the cluster security group is not available
.
* @throws EndpointNotFoundException
* The endpoint name doesn't refer to an existing endpoint.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteEndpointAccess
* @see AWS
* API Documentation
*/
@Override
public DeleteEndpointAccessResponse deleteEndpointAccess(DeleteEndpointAccessRequest deleteEndpointAccessRequest)
throws ClusterNotFoundException, InvalidEndpointStateException, InvalidClusterSecurityGroupStateException,
EndpointNotFoundException, InvalidClusterStateException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteEndpointAccessResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteEndpointAccessRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteEndpointAccessRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteEndpointAccess");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteEndpointAccess").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteEndpointAccessRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteEndpointAccessRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes an Amazon Redshift event notification subscription.
*
*
* @param deleteEventSubscriptionRequest
* @return Result of the DeleteEventSubscription operation returned by the service.
* @throws SubscriptionNotFoundException
* An Amazon Redshift event notification subscription with the specified name does not exist.
* @throws InvalidSubscriptionStateException
* The subscription request is invalid because it is a duplicate request. This subscription request is
* already in progress.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteEventSubscription
* @see AWS API Documentation
*/
@Override
public DeleteEventSubscriptionResponse deleteEventSubscription(DeleteEventSubscriptionRequest deleteEventSubscriptionRequest)
throws SubscriptionNotFoundException, InvalidSubscriptionStateException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteEventSubscriptionResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
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, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteEventSubscription");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteEventSubscription").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteEventSubscriptionRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteEventSubscriptionRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes the specified HSM client certificate.
*
*
* @param deleteHsmClientCertificateRequest
* @return Result of the DeleteHsmClientCertificate operation returned by the service.
* @throws InvalidHsmClientCertificateStateException
* The specified HSM client certificate is not in the available
state, or it is still in use by
* one or more Amazon Redshift clusters.
* @throws HsmClientCertificateNotFoundException
* There is no Amazon Redshift HSM client certificate with the specified identifier.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteHsmClientCertificate
* @see AWS API Documentation
*/
@Override
public DeleteHsmClientCertificateResponse deleteHsmClientCertificate(
DeleteHsmClientCertificateRequest deleteHsmClientCertificateRequest)
throws InvalidHsmClientCertificateStateException, HsmClientCertificateNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteHsmClientCertificateResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteHsmClientCertificateRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteHsmClientCertificateRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteHsmClientCertificate");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteHsmClientCertificate").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteHsmClientCertificateRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteHsmClientCertificateRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes the specified Amazon Redshift HSM configuration.
*
*
* @param deleteHsmConfigurationRequest
* @return Result of the DeleteHsmConfiguration operation returned by the service.
* @throws InvalidHsmConfigurationStateException
* The specified HSM configuration is not in the available
state, or it is still in use by one
* or more Amazon Redshift clusters.
* @throws HsmConfigurationNotFoundException
* There is no Amazon Redshift HSM configuration with the specified identifier.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteHsmConfiguration
* @see AWS API Documentation
*/
@Override
public DeleteHsmConfigurationResponse deleteHsmConfiguration(DeleteHsmConfigurationRequest deleteHsmConfigurationRequest)
throws InvalidHsmConfigurationStateException, HsmConfigurationNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteHsmConfigurationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteHsmConfigurationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteHsmConfigurationRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteHsmConfiguration");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteHsmConfiguration").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteHsmConfigurationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteHsmConfigurationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a partner integration from a cluster. Data can still flow to the cluster until the integration is deleted
* at the partner's website.
*
*
* @param deletePartnerRequest
* @return Result of the DeletePartner operation returned by the service.
* @throws PartnerNotFoundException
* The name of the partner was not found.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws UnauthorizedPartnerIntegrationException
* The partner integration is not authorized.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeletePartner
* @see AWS API
* Documentation
*/
@Override
public DeletePartnerResponse deletePartner(DeletePartnerRequest deletePartnerRequest) throws PartnerNotFoundException,
ClusterNotFoundException, UnauthorizedPartnerIntegrationException, UnsupportedOperationException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeletePartnerResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePartnerRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePartnerRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePartner");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeletePartner").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deletePartnerRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeletePartnerRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes an Amazon Redshift IAM Identity Center application.
*
*
* @param deleteRedshiftIdcApplicationRequest
* @return Result of the DeleteRedshiftIdcApplication operation returned by the service.
* @throws RedshiftIdcApplicationNotExistsException
* The application you attempted to find doesn't exist.
* @throws DependentServiceUnavailableException
* Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30
* to 60 seconds and try again.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws DependentServiceAccessDeniedException
* A dependent service denied access for the integration.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteRedshiftIdcApplication
* @see AWS API Documentation
*/
@Override
public DeleteRedshiftIdcApplicationResponse deleteRedshiftIdcApplication(
DeleteRedshiftIdcApplicationRequest deleteRedshiftIdcApplicationRequest)
throws RedshiftIdcApplicationNotExistsException, DependentServiceUnavailableException, UnsupportedOperationException,
DependentServiceAccessDeniedException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteRedshiftIdcApplicationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteRedshiftIdcApplicationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteRedshiftIdcApplicationRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteRedshiftIdcApplication");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteRedshiftIdcApplication").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteRedshiftIdcApplicationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteRedshiftIdcApplicationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes the resource policy for a specified resource.
*
*
* @param deleteResourcePolicyRequest
* @return Result of the DeleteResourcePolicy operation returned by the service.
* @throws ResourceNotFoundException
* The resource could not be found.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteResourcePolicy
* @see AWS
* API Documentation
*/
@Override
public DeleteResourcePolicyResponse deleteResourcePolicy(DeleteResourcePolicyRequest deleteResourcePolicyRequest)
throws ResourceNotFoundException, UnsupportedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteResourcePolicyResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteResourcePolicyRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteResourcePolicyRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteResourcePolicy");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteResourcePolicy").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteResourcePolicyRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteResourcePolicyRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a scheduled action.
*
*
* @param deleteScheduledActionRequest
* @return Result of the DeleteScheduledAction operation returned by the service.
* @throws ScheduledActionNotFoundException
* The scheduled action cannot be found.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteScheduledAction
* @see AWS API Documentation
*/
@Override
public DeleteScheduledActionResponse deleteScheduledAction(DeleteScheduledActionRequest deleteScheduledActionRequest)
throws ScheduledActionNotFoundException, UnauthorizedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteScheduledActionResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteScheduledActionRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteScheduledActionRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteScheduledAction");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteScheduledAction").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteScheduledActionRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteScheduledActionRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes the specified snapshot copy grant.
*
*
* @param deleteSnapshotCopyGrantRequest
* The result of the DeleteSnapshotCopyGrant
action.
* @return Result of the DeleteSnapshotCopyGrant operation returned by the service.
* @throws InvalidSnapshotCopyGrantStateException
* The snapshot copy grant can't be deleted because it is used by one or more clusters.
* @throws SnapshotCopyGrantNotFoundException
* The specified snapshot copy grant can't be found. Make sure that the name is typed correctly and that the
* grant exists in the destination region.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteSnapshotCopyGrant
* @see AWS API Documentation
*/
@Override
public DeleteSnapshotCopyGrantResponse deleteSnapshotCopyGrant(DeleteSnapshotCopyGrantRequest deleteSnapshotCopyGrantRequest)
throws InvalidSnapshotCopyGrantStateException, SnapshotCopyGrantNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteSnapshotCopyGrantResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSnapshotCopyGrantRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSnapshotCopyGrantRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSnapshotCopyGrant");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteSnapshotCopyGrant").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteSnapshotCopyGrantRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteSnapshotCopyGrantRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a snapshot schedule.
*
*
* @param deleteSnapshotScheduleRequest
* @return Result of the DeleteSnapshotSchedule operation returned by the service.
* @throws InvalidClusterSnapshotScheduleStateException
* The cluster snapshot schedule state is not valid.
* @throws SnapshotScheduleNotFoundException
* We could not find the specified snapshot schedule.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteSnapshotSchedule
* @see AWS API Documentation
*/
@Override
public DeleteSnapshotScheduleResponse deleteSnapshotSchedule(DeleteSnapshotScheduleRequest deleteSnapshotScheduleRequest)
throws InvalidClusterSnapshotScheduleStateException, SnapshotScheduleNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteSnapshotScheduleResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSnapshotScheduleRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSnapshotScheduleRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSnapshotSchedule");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteSnapshotSchedule").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteSnapshotScheduleRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteSnapshotScheduleRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes tags from a resource. You must provide the ARN of the resource from which you want to delete the tag or
* tags.
*
*
* @param deleteTagsRequest
* Contains the output from the DeleteTags
action.
* @return Result of the DeleteTags operation returned by the service.
* @throws ResourceNotFoundException
* The resource could not be found.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteTags
* @see AWS API
* Documentation
*/
@Override
public DeleteTagsResponse deleteTags(DeleteTagsRequest deleteTagsRequest) throws ResourceNotFoundException,
InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteTagsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTagsRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTagsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTags");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteTags").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration)
.withInput(deleteTagsRequest).withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteTagsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Deletes a usage limit from a cluster.
*
*
* @param deleteUsageLimitRequest
* @return Result of the DeleteUsageLimit operation returned by the service.
* @throws UsageLimitNotFoundException
* The usage limit identifier can't be found.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DeleteUsageLimit
* @see AWS API
* Documentation
*/
@Override
public DeleteUsageLimitResponse deleteUsageLimit(DeleteUsageLimitRequest deleteUsageLimitRequest)
throws UsageLimitNotFoundException, UnsupportedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DeleteUsageLimitResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteUsageLimitRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUsageLimitRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUsageLimit");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DeleteUsageLimit").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(deleteUsageLimitRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DeleteUsageLimitRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of attributes attached to an account
*
*
* @param describeAccountAttributesRequest
* @return Result of the DescribeAccountAttributes operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeAccountAttributes
* @see AWS API Documentation
*/
@Override
public DescribeAccountAttributesResponse describeAccountAttributes(
DescribeAccountAttributesRequest describeAccountAttributesRequest) throws AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeAccountAttributesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
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, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAccountAttributes");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeAccountAttributes").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeAccountAttributesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeAccountAttributesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Describes an authentication profile.
*
*
* @param describeAuthenticationProfilesRequest
* @return Result of the DescribeAuthenticationProfiles operation returned by the service.
* @throws AuthenticationProfileNotFoundException
* The authentication profile can't be found.
* @throws InvalidAuthenticationProfileRequestException
* The authentication profile request is not valid. The profile name can't be null or empty. The
* authentication profile API operation must be available in the Amazon Web Services Region.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeAuthenticationProfiles
* @see AWS API Documentation
*/
@Override
public DescribeAuthenticationProfilesResponse describeAuthenticationProfiles(
DescribeAuthenticationProfilesRequest describeAuthenticationProfilesRequest)
throws AuthenticationProfileNotFoundException, InvalidAuthenticationProfileRequestException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeAuthenticationProfilesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAuthenticationProfilesRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeAuthenticationProfilesRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAuthenticationProfiles");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeAuthenticationProfiles").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeAuthenticationProfilesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeAuthenticationProfilesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns an array of ClusterDbRevision
objects.
*
*
* @param describeClusterDbRevisionsRequest
* @return Result of the DescribeClusterDbRevisions operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterDbRevisions
* @see AWS API Documentation
*/
@Override
public DescribeClusterDbRevisionsResponse describeClusterDbRevisions(
DescribeClusterDbRevisionsRequest describeClusterDbRevisionsRequest) throws ClusterNotFoundException,
InvalidClusterStateException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterDbRevisionsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterDbRevisionsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClusterDbRevisionsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterDbRevisions");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterDbRevisions").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterDbRevisionsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterDbRevisionsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default
* parameter group. For each parameter group, the response includes the parameter group name, description, and
* parameter group family name. You can optionally specify a name to retrieve the description of a specific
* parameter group.
*
*
* For more information about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups
* that match any combination of the specified keys and values. For example, if you have owner
and
* environment
for tag keys, and admin
and test
for tag values, all parameter
* groups that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether
* they have tag keys or values associated with them.
*
*
* @param describeClusterParameterGroupsRequest
* @return Result of the DescribeClusterParameterGroups operation returned by the service.
* @throws ClusterParameterGroupNotFoundException
* The parameter group name does not refer to an existing parameter group.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterParameterGroups
* @see AWS API Documentation
*/
@Override
public DescribeClusterParameterGroupsResponse describeClusterParameterGroups(
DescribeClusterParameterGroupsRequest describeClusterParameterGroupsRequest)
throws ClusterParameterGroupNotFoundException, InvalidTagException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterParameterGroupsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterParameterGroupsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeClusterParameterGroupsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterParameterGroups");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterParameterGroups").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterParameterGroupsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterParameterGroupsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each
* parameter the response includes information such as parameter name, description, data type, value, whether the
* parameter value is modifiable, and so on.
*
*
* You can specify source filter to retrieve parameters of only specific type. For example, to retrieve
* parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify
* source equal to user.
*
*
* For more information about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param describeClusterParametersRequest
* @return Result of the DescribeClusterParameters operation returned by the service.
* @throws ClusterParameterGroupNotFoundException
* The parameter group name does not refer to an existing parameter group.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterParameters
* @see AWS API Documentation
*/
@Override
public DescribeClusterParametersResponse describeClusterParameters(
DescribeClusterParametersRequest describeClusterParametersRequest) throws ClusterParameterGroupNotFoundException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterParametersResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterParametersRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClusterParametersRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterParameters");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterParameters").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterParametersRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterParametersRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns information about Amazon Redshift security groups. If the name of a security group is specified, the
* response will contain only information about only that security group.
*
*
* For information about managing security groups, go to Amazon Redshift Cluster
* Security Groups in the Amazon Redshift Cluster Management Guide.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that
* match any combination of the specified keys and values. For example, if you have owner
and
* environment
for tag keys, and admin
and test
for tag values, all security
* groups that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, security groups are returned regardless of whether they
* have tag keys or values associated with them.
*
*
* @param describeClusterSecurityGroupsRequest
* @return Result of the DescribeClusterSecurityGroups operation returned by the service.
* @throws ClusterSecurityGroupNotFoundException
* The cluster security group name does not refer to an existing cluster security group.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterSecurityGroups
* @see AWS API Documentation
*/
@Override
public DescribeClusterSecurityGroupsResponse describeClusterSecurityGroups(
DescribeClusterSecurityGroupsRequest describeClusterSecurityGroupsRequest)
throws ClusterSecurityGroupNotFoundException, InvalidTagException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterSecurityGroupsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterSecurityGroupsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeClusterSecurityGroupsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterSecurityGroups");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterSecurityGroups").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterSecurityGroupsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterSecurityGroupsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns one or more snapshot objects, which contain metadata about your cluster snapshots. By default, this
* operation returns information about all snapshots of all clusters that are owned by your Amazon Web Services
* account. No information is returned for snapshots owned by inactive Amazon Web Services accounts.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all snapshots that match
* any combination of the specified keys and values. For example, if you have owner
and
* environment
for tag keys, and admin
and test
for tag values, all snapshots
* that have any combination of those values are returned. Only snapshots that you own are returned in the response;
* shared snapshots are not returned with the tag key and tag value request parameters.
*
*
* If both tag keys and values are omitted from the request, snapshots are returned regardless of whether they have
* tag keys or values associated with them.
*
*
* @param describeClusterSnapshotsRequest
* @return Result of the DescribeClusterSnapshots operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster snapshot.
* @throws InvalidTagException
* The tag is invalid.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterSnapshots
* @see AWS API Documentation
*/
@Override
public DescribeClusterSnapshotsResponse describeClusterSnapshots(
DescribeClusterSnapshotsRequest describeClusterSnapshotsRequest) throws ClusterNotFoundException,
ClusterSnapshotNotFoundException, InvalidTagException, UnsupportedOperationException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterSnapshotsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterSnapshotsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClusterSnapshotsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterSnapshots");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterSnapshots").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterSnapshotsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterSnapshotsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns one or more cluster subnet group objects, which contain metadata about your cluster subnet groups. By
* default, this operation returns information about all cluster subnet groups that are defined in your Amazon Web
* Services account.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all subnet groups that
* match any combination of the specified keys and values. For example, if you have owner
and
* environment
for tag keys, and admin
and test
for tag values, all subnet
* groups that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, subnet groups are returned regardless of whether they
* have tag keys or values associated with them.
*
*
* @param describeClusterSubnetGroupsRequest
* @return Result of the DescribeClusterSubnetGroups operation returned by the service.
* @throws ClusterSubnetGroupNotFoundException
* The cluster subnet group name does not refer to an existing cluster subnet group.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterSubnetGroups
* @see AWS API Documentation
*/
@Override
public DescribeClusterSubnetGroupsResponse describeClusterSubnetGroups(
DescribeClusterSubnetGroupsRequest describeClusterSubnetGroupsRequest) throws ClusterSubnetGroupNotFoundException,
InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterSubnetGroupsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterSubnetGroupsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClusterSubnetGroupsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterSubnetGroups");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterSubnetGroups").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterSubnetGroupsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterSubnetGroupsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of all the available maintenance tracks.
*
*
* @param describeClusterTracksRequest
* @return Result of the DescribeClusterTracks operation returned by the service.
* @throws InvalidClusterTrackException
* The provided cluster track name is not valid.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterTracks
* @see AWS API Documentation
*/
@Override
public DescribeClusterTracksResponse describeClusterTracks(DescribeClusterTracksRequest describeClusterTracksRequest)
throws InvalidClusterTrackException, UnauthorizedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterTracksResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterTracksRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClusterTracksRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterTracks");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterTracks").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterTracksRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterTracksRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before
* creating any clusters to learn more about the Amazon Redshift versions. For more information about managing
* clusters, go to Amazon
* Redshift Clusters in the Amazon Redshift Cluster Management Guide.
*
*
* @param describeClusterVersionsRequest
* @return Result of the DescribeClusterVersions operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusterVersions
* @see AWS API Documentation
*/
@Override
public DescribeClusterVersionsResponse describeClusterVersions(DescribeClusterVersionsRequest describeClusterVersionsRequest)
throws AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClusterVersionsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClusterVersionsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClusterVersionsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusterVersions");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeClusterVersions").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClusterVersionsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClusterVersionsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns properties of provisioned clusters including general cluster properties, cluster database properties,
* maintenance and backup properties, and security and access properties. This operation supports pagination. For
* more information about managing clusters, go to Amazon Redshift Clusters
* in the Amazon Redshift Cluster Management Guide.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match
* any combination of the specified keys and values. For example, if you have owner
and
* environment
for tag keys, and admin
and test
for tag values, all clusters
* that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have
* tag keys or values associated with them.
*
*
* @param describeClustersRequest
* @return Result of the DescribeClusters operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeClusters
* @see AWS API
* Documentation
*/
@Override
public DescribeClustersResponse describeClusters(DescribeClustersRequest describeClustersRequest)
throws ClusterNotFoundException, InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeClustersResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeClustersRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeClustersRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeClusters");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeClusters").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeClustersRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeClustersRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Contains information about custom domain associations for a cluster.
*
*
* @param describeCustomDomainAssociationsRequest
* @return Result of the DescribeCustomDomainAssociations operation returned by the service.
* @throws CustomDomainAssociationNotFoundException
* An error occurred. The custom domain name couldn't be found.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeCustomDomainAssociations
* @see AWS API Documentation
*/
@Override
public DescribeCustomDomainAssociationsResponse describeCustomDomainAssociations(
DescribeCustomDomainAssociationsRequest describeCustomDomainAssociationsRequest)
throws CustomDomainAssociationNotFoundException, UnsupportedOperationException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeCustomDomainAssociationsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCustomDomainAssociationsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeCustomDomainAssociationsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCustomDomainAssociations");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeCustomDomainAssociations").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeCustomDomainAssociationsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeCustomDomainAssociationsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Shows the status of any inbound or outbound datashares available in the specified account.
*
*
* @param describeDataSharesRequest
* @return Result of the DescribeDataShares operation returned by the service.
* @throws InvalidDataShareException
* There is an error with the datashare.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeDataShares
* @see AWS
* API Documentation
*/
@Override
public DescribeDataSharesResponse describeDataShares(DescribeDataSharesRequest describeDataSharesRequest)
throws InvalidDataShareException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeDataSharesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDataSharesRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeDataSharesRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDataShares");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeDataShares").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeDataSharesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeDataSharesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of datashares where the account identifier being called is a consumer account identifier.
*
*
* @param describeDataSharesForConsumerRequest
* @return Result of the DescribeDataSharesForConsumer operation returned by the service.
* @throws InvalidNamespaceException
* The namespace isn't valid because the namespace doesn't exist. Provide a valid namespace.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeDataSharesForConsumer
* @see AWS API Documentation
*/
@Override
public DescribeDataSharesForConsumerResponse describeDataSharesForConsumer(
DescribeDataSharesForConsumerRequest describeDataSharesForConsumerRequest) throws InvalidNamespaceException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeDataSharesForConsumerResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDataSharesForConsumerRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeDataSharesForConsumerRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDataSharesForConsumer");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeDataSharesForConsumer").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeDataSharesForConsumerRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeDataSharesForConsumerRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of datashares when the account identifier being called is a producer account identifier.
*
*
* @param describeDataSharesForProducerRequest
* @return Result of the DescribeDataSharesForProducer operation returned by the service.
* @throws InvalidNamespaceException
* The namespace isn't valid because the namespace doesn't exist. Provide a valid namespace.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeDataSharesForProducer
* @see AWS API Documentation
*/
@Override
public DescribeDataSharesForProducerResponse describeDataSharesForProducer(
DescribeDataSharesForProducerRequest describeDataSharesForProducerRequest) throws InvalidNamespaceException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeDataSharesForProducerResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDataSharesForProducerRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeDataSharesForProducerRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDataSharesForProducer");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeDataSharesForProducer").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeDataSharesForProducerRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeDataSharesForProducerRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of parameter settings for the specified parameter group family.
*
*
* For more information about parameters and parameter groups, go to Amazon Redshift
* Parameter Groups in the Amazon Redshift Cluster Management Guide.
*
*
* @param describeDefaultClusterParametersRequest
* @return Result of the DescribeDefaultClusterParameters operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeDefaultClusterParameters
* @see AWS API Documentation
*/
@Override
public DescribeDefaultClusterParametersResponse describeDefaultClusterParameters(
DescribeDefaultClusterParametersRequest describeDefaultClusterParametersRequest) throws AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeDefaultClusterParametersResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeDefaultClusterParametersRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeDefaultClusterParametersRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeDefaultClusterParameters");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeDefaultClusterParameters").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeDefaultClusterParametersRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeDefaultClusterParametersRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Describes a Redshift-managed VPC endpoint.
*
*
* @param describeEndpointAccessRequest
* @return Result of the DescribeEndpointAccess operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws EndpointNotFoundException
* The endpoint name doesn't refer to an existing endpoint.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeEndpointAccess
* @see AWS API Documentation
*/
@Override
public DescribeEndpointAccessResponse describeEndpointAccess(DescribeEndpointAccessRequest describeEndpointAccessRequest)
throws ClusterNotFoundException, InvalidClusterStateException, EndpointNotFoundException, AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeEndpointAccessResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEndpointAccessRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEndpointAccessRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEndpointAccess");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeEndpointAccess").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeEndpointAccessRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeEndpointAccessRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Describes an endpoint authorization.
*
*
* @param describeEndpointAuthorizationRequest
* @return Result of the DescribeEndpointAuthorization operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeEndpointAuthorization
* @see AWS API Documentation
*/
@Override
public DescribeEndpointAuthorizationResponse describeEndpointAuthorization(
DescribeEndpointAuthorizationRequest describeEndpointAuthorizationRequest) throws ClusterNotFoundException,
UnsupportedOperationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeEndpointAuthorizationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEndpointAuthorizationRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeEndpointAuthorizationRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEndpointAuthorization");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeEndpointAuthorization").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeEndpointAuthorizationRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeEndpointAuthorizationRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Displays a list of event categories for all event source types, or for a specified source type. For a list of the
* event categories and source types, go to Amazon Redshift
* Event Notifications.
*
*
* @param describeEventCategoriesRequest
* @return Result of the DescribeEventCategories operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeEventCategories
* @see AWS API Documentation
*/
@Override
public DescribeEventCategoriesResponse describeEventCategories(DescribeEventCategoriesRequest describeEventCategoriesRequest)
throws AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeEventCategoriesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
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, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEventCategories");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeEventCategories").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeEventCategoriesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeEventCategoriesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Lists descriptions of all the Amazon Redshift event notification subscriptions for a customer account. If you
* specify a subscription name, lists the description for that subscription.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all event notification
* subscriptions that match any combination of the specified keys and values. For example, if you have
* owner
and environment
for tag keys, and admin
and test
for
* tag values, all subscriptions that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, subscriptions are returned regardless of whether they
* have tag keys or values associated with them.
*
*
* @param describeEventSubscriptionsRequest
* @return Result of the DescribeEventSubscriptions operation returned by the service.
* @throws SubscriptionNotFoundException
* An Amazon Redshift event notification subscription with the specified name does not exist.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeEventSubscriptions
* @see AWS API Documentation
*/
@Override
public DescribeEventSubscriptionsResponse describeEventSubscriptions(
DescribeEventSubscriptionsRequest describeEventSubscriptionsRequest) throws SubscriptionNotFoundException,
InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeEventSubscriptionsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
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, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEventSubscriptions");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeEventSubscriptions").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeEventSubscriptionsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeEventSubscriptionsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns events related to clusters, security groups, snapshots, and parameter groups for the past 14 days. Events
* specific to a particular cluster, security group, snapshot or parameter group can be obtained by providing the
* name as a parameter. By default, the past hour of events are returned.
*
*
* @param describeEventsRequest
* @return Result of the DescribeEvents operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeEvents
* @see AWS API
* Documentation
*/
@Override
public DescribeEventsResponse describeEvents(DescribeEventsRequest describeEventsRequest) throws AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeEventsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
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, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEvents");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeEvents").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeEventsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeEventsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns information about the specified HSM client certificate. If no certificate ID is specified, returns
* information about all the HSM certificates owned by your Amazon Web Services account.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM client
* certificates that match any combination of the specified keys and values. For example, if you have
* owner
and environment
for tag keys, and admin
and test
for
* tag values, all HSM client certificates that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, HSM client certificates are returned regardless of
* whether they have tag keys or values associated with them.
*
*
* @param describeHsmClientCertificatesRequest
* @return Result of the DescribeHsmClientCertificates operation returned by the service.
* @throws HsmClientCertificateNotFoundException
* There is no Amazon Redshift HSM client certificate with the specified identifier.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeHsmClientCertificates
* @see AWS API Documentation
*/
@Override
public DescribeHsmClientCertificatesResponse describeHsmClientCertificates(
DescribeHsmClientCertificatesRequest describeHsmClientCertificatesRequest)
throws HsmClientCertificateNotFoundException, InvalidTagException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeHsmClientCertificatesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeHsmClientCertificatesRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeHsmClientCertificatesRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeHsmClientCertificates");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeHsmClientCertificates").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeHsmClientCertificatesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeHsmClientCertificatesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns information about the specified Amazon Redshift HSM configuration. If no configuration ID is specified,
* returns information about all the HSM configurations owned by your Amazon Web Services account.
*
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM connections that
* match any combination of the specified keys and values. For example, if you have owner
and
* environment
for tag keys, and admin
and test
for tag values, all HSM
* connections that have any combination of those values are returned.
*
*
* If both tag keys and values are omitted from the request, HSM connections are returned regardless of whether they
* have tag keys or values associated with them.
*
*
* @param describeHsmConfigurationsRequest
* @return Result of the DescribeHsmConfigurations operation returned by the service.
* @throws HsmConfigurationNotFoundException
* There is no Amazon Redshift HSM configuration with the specified identifier.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeHsmConfigurations
* @see AWS API Documentation
*/
@Override
public DescribeHsmConfigurationsResponse describeHsmConfigurations(
DescribeHsmConfigurationsRequest describeHsmConfigurationsRequest) throws HsmConfigurationNotFoundException,
InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeHsmConfigurationsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeHsmConfigurationsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeHsmConfigurationsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeHsmConfigurations");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeHsmConfigurations").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeHsmConfigurationsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeHsmConfigurationsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of inbound integrations.
*
*
* @param describeInboundIntegrationsRequest
* @return Result of the DescribeInboundIntegrations operation returned by the service.
* @throws IntegrationNotFoundException
* The integration can't be found.
* @throws InvalidNamespaceException
* The namespace isn't valid because the namespace doesn't exist. Provide a valid namespace.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeInboundIntegrations
* @see AWS API Documentation
*/
@Override
public DescribeInboundIntegrationsResponse describeInboundIntegrations(
DescribeInboundIntegrationsRequest describeInboundIntegrationsRequest) throws IntegrationNotFoundException,
InvalidNamespaceException, UnsupportedOperationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeInboundIntegrationsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeInboundIntegrationsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeInboundIntegrationsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeInboundIntegrations");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeInboundIntegrations").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeInboundIntegrationsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeInboundIntegrationsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon
* Redshift cluster.
*
*
* @param describeLoggingStatusRequest
* @return Result of the DescribeLoggingStatus operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeLoggingStatus
* @see AWS API Documentation
*/
@Override
public DescribeLoggingStatusResponse describeLoggingStatus(DescribeLoggingStatusRequest describeLoggingStatusRequest)
throws ClusterNotFoundException, UnsupportedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeLoggingStatusResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeLoggingStatusRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeLoggingStatusRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeLoggingStatus");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeLoggingStatus").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeLoggingStatusRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeLoggingStatusRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the
* specified action type.
*
*
* @param describeNodeConfigurationOptionsRequest
* @return Result of the DescribeNodeConfigurationOptions operation returned by the service.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster snapshot.
* @throws InvalidClusterSnapshotStateException
* The specified cluster snapshot is not in the available
state, or other accounts are
* authorized to access the snapshot.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws AccessToSnapshotDeniedException
* The owner of the specified snapshot has not authorized your account to access the snapshot.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeNodeConfigurationOptions
* @see AWS API Documentation
*/
@Override
public DescribeNodeConfigurationOptionsResponse describeNodeConfigurationOptions(
DescribeNodeConfigurationOptionsRequest describeNodeConfigurationOptionsRequest)
throws ClusterSnapshotNotFoundException, InvalidClusterSnapshotStateException, ClusterNotFoundException,
AccessToSnapshotDeniedException, UnsupportedOperationException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeNodeConfigurationOptionsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeNodeConfigurationOptionsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeNodeConfigurationOptionsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeNodeConfigurationOptions");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeNodeConfigurationOptions").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeNodeConfigurationOptionsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeNodeConfigurationOptionsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find
* what options are available, such as the EC2 Availability Zones (AZ) in the specific Amazon Web Services Region
* that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU
* and price. With the cost involved you might want to obtain a list of cluster options in the specific region and
* specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters
* in the Amazon Redshift Cluster Management Guide.
*
*
* @param describeOrderableClusterOptionsRequest
* @return Result of the DescribeOrderableClusterOptions operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeOrderableClusterOptions
* @see AWS API Documentation
*/
@Override
public DescribeOrderableClusterOptionsResponse describeOrderableClusterOptions(
DescribeOrderableClusterOptionsRequest describeOrderableClusterOptionsRequest) throws AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeOrderableClusterOptionsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeOrderableClusterOptionsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeOrderableClusterOptionsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeOrderableClusterOptions");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeOrderableClusterOptions").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeOrderableClusterOptionsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeOrderableClusterOptionsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns information about the partner integrations defined for a cluster.
*
*
* @param describePartnersRequest
* @return Result of the DescribePartners operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws UnauthorizedPartnerIntegrationException
* The partner integration is not authorized.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribePartners
* @see AWS API
* Documentation
*/
@Override
public DescribePartnersResponse describePartners(DescribePartnersRequest describePartnersRequest)
throws ClusterNotFoundException, UnauthorizedPartnerIntegrationException, UnsupportedOperationException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribePartnersResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describePartnersRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describePartnersRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribePartners");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribePartners").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describePartnersRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribePartnersRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Lists the Amazon Redshift IAM Identity Center applications.
*
*
* @param describeRedshiftIdcApplicationsRequest
* @return Result of the DescribeRedshiftIdcApplications operation returned by the service.
* @throws RedshiftIdcApplicationNotExistsException
* The application you attempted to find doesn't exist.
* @throws DependentServiceUnavailableException
* Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30
* to 60 seconds and try again.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws DependentServiceAccessDeniedException
* A dependent service denied access for the integration.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeRedshiftIdcApplications
* @see AWS API Documentation
*/
@Override
public DescribeRedshiftIdcApplicationsResponse describeRedshiftIdcApplications(
DescribeRedshiftIdcApplicationsRequest describeRedshiftIdcApplicationsRequest)
throws RedshiftIdcApplicationNotExistsException, DependentServiceUnavailableException, UnsupportedOperationException,
DependentServiceAccessDeniedException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeRedshiftIdcApplicationsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeRedshiftIdcApplicationsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeRedshiftIdcApplicationsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeRedshiftIdcApplications");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeRedshiftIdcApplications").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeRedshiftIdcApplicationsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeRedshiftIdcApplicationsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns exchange status details and associated metadata for a reserved-node exchange. Statuses include such
* values as in progress and requested.
*
*
* @param describeReservedNodeExchangeStatusRequest
* @return Result of the DescribeReservedNodeExchangeStatus operation returned by the service.
* @throws ReservedNodeNotFoundException
* The specified reserved compute node not found.
* @throws ReservedNodeExchangeNotFoundException
* The reserved-node exchange status wasn't found.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeReservedNodeExchangeStatus
* @see AWS API Documentation
*/
@Override
public DescribeReservedNodeExchangeStatusResponse describeReservedNodeExchangeStatus(
DescribeReservedNodeExchangeStatusRequest describeReservedNodeExchangeStatusRequest)
throws ReservedNodeNotFoundException, ReservedNodeExchangeNotFoundException, UnsupportedOperationException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeReservedNodeExchangeStatusResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeReservedNodeExchangeStatusRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeReservedNodeExchangeStatusRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeReservedNodeExchangeStatus");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeReservedNodeExchangeStatus").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeReservedNodeExchangeStatusRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeReservedNodeExchangeStatusRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the
* node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you.
* These descriptions help you determine which reserve node offering you want to purchase. You then use the unique
* offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon
* Redshift cluster.
*
*
* For more information about reserved node offerings, go to Purchasing Reserved
* Nodes in the Amazon Redshift Cluster Management Guide.
*
*
* @param describeReservedNodeOfferingsRequest
* @return Result of the DescribeReservedNodeOfferings operation returned by the service.
* @throws ReservedNodeOfferingNotFoundException
* Specified offering does not exist.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws DependentServiceUnavailableException
* Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30
* to 60 seconds and try again.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeReservedNodeOfferings
* @see AWS API Documentation
*/
@Override
public DescribeReservedNodeOfferingsResponse describeReservedNodeOfferings(
DescribeReservedNodeOfferingsRequest describeReservedNodeOfferingsRequest)
throws ReservedNodeOfferingNotFoundException, UnsupportedOperationException, DependentServiceUnavailableException,
AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeReservedNodeOfferingsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeReservedNodeOfferingsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration,
describeReservedNodeOfferingsRequest.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeReservedNodeOfferings");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeReservedNodeOfferings").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeReservedNodeOfferingsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeReservedNodeOfferingsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns the descriptions of the reserved nodes.
*
*
* @param describeReservedNodesRequest
* @return Result of the DescribeReservedNodes operation returned by the service.
* @throws ReservedNodeNotFoundException
* The specified reserved compute node not found.
* @throws DependentServiceUnavailableException
* Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30
* to 60 seconds and try again.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeReservedNodes
* @see AWS API Documentation
*/
@Override
public DescribeReservedNodesResponse describeReservedNodes(DescribeReservedNodesRequest describeReservedNodesRequest)
throws ReservedNodeNotFoundException, DependentServiceUnavailableException, AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeReservedNodesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeReservedNodesRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeReservedNodesRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeReservedNodes");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeReservedNodes").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeReservedNodesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeReservedNodesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns information about the last resize operation for the specified cluster. If no resize operation has ever
* been initiated for the specified cluster, a HTTP 404
error is returned. If a resize operation was
* initiated and completed, the status of the resize remains as SUCCEEDED
until the next resize.
*
*
* A resize operation can be requested using ModifyCluster and specifying a different number or type of nodes
* for the cluster.
*
*
* @param describeResizeRequest
* @return Result of the DescribeResize operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an existing cluster.
* @throws ResizeNotFoundException
* A resize operation for the specified cluster is not found.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeResize
* @see AWS API
* Documentation
*/
@Override
public DescribeResizeResponse describeResize(DescribeResizeRequest describeResizeRequest) throws ClusterNotFoundException,
ResizeNotFoundException, UnsupportedOperationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeResizeResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeResizeRequest, this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeResizeRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeResize");
return clientHandler.execute(new ClientExecutionParams()
.withOperationName("DescribeResize").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeResizeRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeResizeRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Describes properties of scheduled actions.
*
*
* @param describeScheduledActionsRequest
* @return Result of the DescribeScheduledActions operation returned by the service.
* @throws ScheduledActionNotFoundException
* The scheduled action cannot be found.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested operation.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeScheduledActions
* @see AWS API Documentation
*/
@Override
public DescribeScheduledActionsResponse describeScheduledActions(
DescribeScheduledActionsRequest describeScheduledActionsRequest) throws ScheduledActionNotFoundException,
UnauthorizedOperationException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeScheduledActionsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeScheduledActionsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeScheduledActionsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeScheduledActions");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeScheduledActions").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeScheduledActionsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeScheduledActionsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of snapshot copy grants owned by the Amazon Web Services account in the destination region.
*
*
* For more information about managing snapshot copy grants, go to Amazon Redshift Database
* Encryption in the Amazon Redshift Cluster Management Guide.
*
*
* @param describeSnapshotCopyGrantsRequest
* The result of the DescribeSnapshotCopyGrants
action.
* @return Result of the DescribeSnapshotCopyGrants operation returned by the service.
* @throws SnapshotCopyGrantNotFoundException
* The specified snapshot copy grant can't be found. Make sure that the name is typed correctly and that the
* grant exists in the destination region.
* @throws InvalidTagException
* The tag is invalid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeSnapshotCopyGrants
* @see AWS API Documentation
*/
@Override
public DescribeSnapshotCopyGrantsResponse describeSnapshotCopyGrants(
DescribeSnapshotCopyGrantsRequest describeSnapshotCopyGrantsRequest) throws SnapshotCopyGrantNotFoundException,
InvalidTagException, AwsServiceException, SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeSnapshotCopyGrantsResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeSnapshotCopyGrantsRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeSnapshotCopyGrantsRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeSnapshotCopyGrants");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeSnapshotCopyGrants").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeSnapshotCopyGrantsRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeSnapshotCopyGrantsRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns a list of snapshot schedules.
*
*
* @param describeSnapshotSchedulesRequest
* @return Result of the DescribeSnapshotSchedules operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeSnapshotSchedules
* @see AWS API Documentation
*/
@Override
public DescribeSnapshotSchedulesResponse describeSnapshotSchedules(
DescribeSnapshotSchedulesRequest describeSnapshotSchedulesRequest) throws AwsServiceException, SdkClientException,
RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeSnapshotSchedulesResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeSnapshotSchedulesRequest,
this.clientConfiguration);
List metricPublishers = resolveMetricPublishers(clientConfiguration, describeSnapshotSchedulesRequest
.overrideConfiguration().orElse(null));
MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector
.create("ApiCall");
try {
apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Redshift");
apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeSnapshotSchedules");
return clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DescribeSnapshotSchedules").withProtocolMetadata(protocolMetadata)
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withRequestConfiguration(clientConfiguration).withInput(describeSnapshotSchedulesRequest)
.withMetricCollector(apiCallMetricCollector)
.withMarshaller(new DescribeSnapshotSchedulesRequestMarshaller(protocolFactory)));
} finally {
metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
}
}
/**
*
* Returns account level backups storage size and provisional storage.
*
*
* @param describeStorageRequest
* @return Result of the DescribeStorage operation returned by the service.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws RedshiftException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample RedshiftClient.DescribeStorage
* @see AWS API
* Documentation
*/
@Override
public DescribeStorageResponse describeStorage(DescribeStorageRequest describeStorageRequest) throws AwsServiceException,
SdkClientException, RedshiftException {
HttpResponseHandler responseHandler = protocolFactory
.createResponseHandler(DescribeStorageResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeStorageRequest,
this.clientConfiguration);
List