com.amazonaws.services.redshift.AmazonRedshift Maven / Gradle / Ivy
Show all versions of aws-java-sdk-redshift Show documentation
/*
* Copyright 2010-2016 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 com.amazonaws.services.redshift;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.redshift.model.*;
/**
* Interface for accessing Amazon Redshift.
*
* Amazon Redshift Overview
*
* This is an interface reference for Amazon Redshift. It contains documentation
* for one of the programming or command line interfaces you can use to manage
* Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which
* means that some interfaces may require techniques, such as polling or
* asynchronous callback handlers, to determine when a command has been applied.
* In this reference, the parameter descriptions indicate whether a change is
* applied immediately, on the next instance reboot, or during the next
* maintenance window. For a summary of the Amazon Redshift cluster management
* interfaces, go to Using the Amazon Redshift Management Interfaces .
*
*
* Amazon Redshift manages all the work of setting up, operating, and scaling a
* data warehouse: provisioning capacity, monitoring and backing up the cluster,
* and applying patches and upgrades to the Amazon Redshift engine. You can
* focus on using your data to acquire new insights for your business and
* customers.
*
*
* If you are a first-time user of Amazon Redshift, we recommend that you begin
* by reading the The Amazon Redshift Getting Started Guide
*
*
* If you are a database developer, the Amazon
* Redshift Database Developer Guide explains how to design, build, query,
* and maintain the databases that make up your data warehouse.
*
*/
public interface AmazonRedshift {
/**
* The region metadata service name for computing region endpoints. You can
* use this value to retrieve metadata (such as supported regions) of the
* service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "redshift";
/**
* Overrides the default endpoint for this client
* ("redshift.us-east-1.amazonaws.com"). Callers can use this method to
* control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex:
* "redshift.us-east-1.amazonaws.com") or a full URL, including the protocol
* (ex: "redshift.us-east-1.amazonaws.com"). If the protocol is not
* specified here, the default protocol from this client's
* {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and
* a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
* 3912
*
* This method is not threadsafe. An endpoint should be configured when
* the client is created and before any service requests are made. Changing
* it afterwards creates inevitable race conditions for any service requests
* in transit or retrying.
*
* @param endpoint
* The endpoint (ex: "redshift.us-east-1.amazonaws.com") or a full
* URL, including the protocol (ex:
* "redshift.us-east-1.amazonaws.com") of the region specific AWS
* endpoint this client will communicate with.
*/
void setEndpoint(String endpoint);
/**
* An alternative to {@link AmazonRedshift#setEndpoint(String)}, sets the
* regional endpoint for this client's service calls. Callers can use this
* method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol.
* To use http instead, specify it in the {@link ClientConfiguration}
* supplied at construction.
*
* This method is not threadsafe. A region should be configured when the
* client is created and before any service requests are made. Changing it
* afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param region
* The region this client will communicate with. See
* {@link Region#getRegion(com.amazonaws.regions.Regions)} for
* accessing a given region. Must not be null and must be a region
* where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class,
* com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
*/
void setRegion(Region region);
/**
*
* 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
* AWS 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.
* @sample AmazonRedshift.AuthorizeClusterSecurityGroupIngress
*/
ClusterSecurityGroup authorizeClusterSecurityGroupIngress(
AuthorizeClusterSecurityGroupIngressRequest authorizeClusterSecurityGroupIngressRequest);
/**
*
* Authorizes the specified AWS customer 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 AWS KMS.
* @sample AmazonRedshift.AuthorizeSnapshotAccess
*/
Snapshot authorizeSnapshotAccess(
AuthorizeSnapshotAccessRequest authorizeSnapshotAccessRequest);
/**
*
* 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 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.
* @sample AmazonRedshift.CopyClusterSnapshot
*/
Snapshot copyClusterSnapshot(
CopyClusterSnapshotRequest copyClusterSnapshotRequest);
/**
*
* Creates a new cluster. To create the cluster in virtual private cloud
* (VPC), you must provide cluster subnet group name. If you don't provide a
* cluster subnet group name or the cluster security group parameter, Amazon
* Redshift creates a non-VPC cluster, it associates the default cluster
* security group with 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in AWS 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.
* @sample AmazonRedshift.CreateCluster
*/
Cluster createCluster(CreateClusterRequest createClusterRequest);
/**
*
* 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateClusterParameterGroup
*/
ClusterParameterGroup createClusterParameterGroup(
CreateClusterParameterGroupRequest createClusterParameterGroupRequest);
/**
*
* 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateClusterSecurityGroup
*/
ClusterSecurityGroup createClusterSecurityGroup(
CreateClusterSecurityGroupRequest createClusterSecurityGroupRequest);
/**
*
* 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateClusterSnapshot
*/
Snapshot createClusterSnapshot(
CreateClusterSnapshotRequest createClusterSnapshotRequest);
/**
*
* 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
* The request exceeds the limit of 10 tags for the resource.
* @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.
* @sample AmazonRedshift.CreateClusterSubnetGroup
*/
ClusterSubnetGroup createClusterSubnetGroup(
CreateClusterSubnetGroupRequest createClusterSubnetGroupRequest);
/**
*
* 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 AWS 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 AWS 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateEventSubscription
*/
EventSubscription createEventSubscription(
CreateEventSubscriptionRequest createEventSubscriptionRequest);
/**
*
* 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateHsmClientCertificate
*/
HsmClientCertificate createHsmClientCertificate(
CreateHsmClientCertificateRequest createHsmClientCertificateRequest);
/**
*
* 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
* The request exceeds the limit of 10 tags for the resource.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateHsmConfiguration
*/
HsmConfiguration createHsmConfiguration(
CreateHsmConfigurationRequest createHsmConfigurationRequest);
/**
*
* Creates a snapshot copy grant that permits Amazon Redshift to use a
* customer master key (CMK) from AWS Key Management Service (AWS 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 AWS account has exceeded the maximum number of snapshot copy
* grants in this region.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in AWS KMS.
* @throws TagLimitExceededException
* The request exceeds the limit of 10 tags for the resource.
* @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.
* @sample AmazonRedshift.CreateSnapshotCopyGrant
*/
SnapshotCopyGrant createSnapshotCopyGrant(
CreateSnapshotCopyGrantRequest createSnapshotCopyGrantRequest);
/**
*
* Adds one or more tags to a specified resource.
*
*
* A resource can have up to 10 tags. If you try to create more than 10 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
* The request exceeds the limit of 10 tags for the resource.
* @throws ResourceNotFoundException
* The resource could not be found.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.CreateTags
*/
CreateTagsResult createTags(CreateTagsRequest createTagsRequest);
/**
*
* Deletes a previously provisioned cluster. 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.
* @sample AmazonRedshift.DeleteCluster
*/
Cluster deleteCluster(DeleteClusterRequest deleteClusterRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteClusterParameterGroup
*/
DeleteClusterParameterGroupResult deleteClusterParameterGroup(
DeleteClusterParameterGroupRequest deleteClusterParameterGroupRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteClusterSecurityGroup
*/
DeleteClusterSecurityGroupResult deleteClusterSecurityGroup(
DeleteClusterSecurityGroupRequest deleteClusterSecurityGroupRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteClusterSnapshot
*/
Snapshot deleteClusterSnapshot(
DeleteClusterSnapshotRequest deleteClusterSnapshotRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteClusterSubnetGroup
*/
DeleteClusterSubnetGroupResult deleteClusterSubnetGroup(
DeleteClusterSubnetGroupRequest deleteClusterSubnetGroupRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteEventSubscription
*/
DeleteEventSubscriptionResult deleteEventSubscription(
DeleteEventSubscriptionRequest deleteEventSubscriptionRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteHsmClientCertificate
*/
DeleteHsmClientCertificateResult deleteHsmClientCertificate(
DeleteHsmClientCertificateRequest deleteHsmClientCertificateRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteHsmConfiguration
*/
DeleteHsmConfigurationResult deleteHsmConfiguration(
DeleteHsmConfigurationRequest deleteHsmConfigurationRequest);
/**
*
* 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.
* @sample AmazonRedshift.DeleteSnapshotCopyGrant
*/
DeleteSnapshotCopyGrantResult deleteSnapshotCopyGrant(
DeleteSnapshotCopyGrantRequest deleteSnapshotCopyGrantRequest);
/**
*
* Deletes a tag or 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.
* @sample AmazonRedshift.DeleteTags
*/
DeleteTagsResult deleteTags(DeleteTagsRequest deleteTagsRequest);
/**
*
* 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.
* @sample AmazonRedshift.DescribeClusterParameterGroups
*/
DescribeClusterParameterGroupsResult describeClusterParameterGroups(
DescribeClusterParameterGroupsRequest describeClusterParameterGroupsRequest);
/**
* Simplified method form for invoking the DescribeClusterParameterGroups
* operation.
*
* @see #describeClusterParameterGroups(DescribeClusterParameterGroupsRequest)
*/
DescribeClusterParameterGroupsResult describeClusterParameterGroups();
/**
*
* 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.
* @sample AmazonRedshift.DescribeClusterParameters
*/
DescribeClusterParametersResult describeClusterParameters(
DescribeClusterParametersRequest describeClusterParametersRequest);
/**
*
* 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.
* @sample AmazonRedshift.DescribeClusterSecurityGroups
*/
DescribeClusterSecurityGroupsResult describeClusterSecurityGroups(
DescribeClusterSecurityGroupsRequest describeClusterSecurityGroupsRequest);
/**
* Simplified method form for invoking the DescribeClusterSecurityGroups
* operation.
*
* @see #describeClusterSecurityGroups(DescribeClusterSecurityGroupsRequest)
*/
DescribeClusterSecurityGroupsResult describeClusterSecurityGroups();
/**
*
* 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 you AWS customer account.
* No information is returned for snapshots owned by inactive AWS customer
* 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 ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster
* snapshot.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.DescribeClusterSnapshots
*/
DescribeClusterSnapshotsResult describeClusterSnapshots(
DescribeClusterSnapshotsRequest describeClusterSnapshotsRequest);
/**
* Simplified method form for invoking the DescribeClusterSnapshots
* operation.
*
* @see #describeClusterSnapshots(DescribeClusterSnapshotsRequest)
*/
DescribeClusterSnapshotsResult describeClusterSnapshots();
/**
*
* 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 you AWS
* 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.
* @sample AmazonRedshift.DescribeClusterSubnetGroups
*/
DescribeClusterSubnetGroupsResult describeClusterSubnetGroups(
DescribeClusterSubnetGroupsRequest describeClusterSubnetGroupsRequest);
/**
* Simplified method form for invoking the DescribeClusterSubnetGroups
* operation.
*
* @see #describeClusterSubnetGroups(DescribeClusterSubnetGroupsRequest)
*/
DescribeClusterSubnetGroupsResult describeClusterSubnetGroups();
/**
*
* 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.
* @sample AmazonRedshift.DescribeClusterVersions
*/
DescribeClusterVersionsResult describeClusterVersions(
DescribeClusterVersionsRequest describeClusterVersionsRequest);
/**
* Simplified method form for invoking the DescribeClusterVersions
* operation.
*
* @see #describeClusterVersions(DescribeClusterVersionsRequest)
*/
DescribeClusterVersionsResult describeClusterVersions();
/**
*
* 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.
* @sample AmazonRedshift.DescribeClusters
*/
DescribeClustersResult describeClusters(
DescribeClustersRequest describeClustersRequest);
/**
* Simplified method form for invoking the DescribeClusters operation.
*
* @see #describeClusters(DescribeClustersRequest)
*/
DescribeClustersResult describeClusters();
/**
*
* 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.
* @sample AmazonRedshift.DescribeDefaultClusterParameters
*/
DefaultClusterParameters describeDefaultClusterParameters(
DescribeDefaultClusterParametersRequest describeDefaultClusterParametersRequest);
/**
*
* 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.
* @sample AmazonRedshift.DescribeEventCategories
*/
DescribeEventCategoriesResult describeEventCategories(
DescribeEventCategoriesRequest describeEventCategoriesRequest);
/**
* Simplified method form for invoking the DescribeEventCategories
* operation.
*
* @see #describeEventCategories(DescribeEventCategoriesRequest)
*/
DescribeEventCategoriesResult describeEventCategories();
/**
*
* Lists descriptions of all the Amazon Redshift event notifications
* subscription for a customer account. If you specify a subscription name,
* lists the description for that subscription.
*
*
* @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.
* @sample AmazonRedshift.DescribeEventSubscriptions
*/
DescribeEventSubscriptionsResult describeEventSubscriptions(
DescribeEventSubscriptionsRequest describeEventSubscriptionsRequest);
/**
* Simplified method form for invoking the DescribeEventSubscriptions
* operation.
*
* @see #describeEventSubscriptions(DescribeEventSubscriptionsRequest)
*/
DescribeEventSubscriptionsResult describeEventSubscriptions();
/**
*
* 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.
* @sample AmazonRedshift.DescribeEvents
*/
DescribeEventsResult describeEvents(
DescribeEventsRequest describeEventsRequest);
/**
* Simplified method form for invoking the DescribeEvents operation.
*
* @see #describeEvents(DescribeEventsRequest)
*/
DescribeEventsResult describeEvents();
/**
*
* Returns information about the specified HSM client certificate. If no
* certificate ID is specified, returns information about all the HSM
* certificates owned by your AWS customer 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.
* @sample AmazonRedshift.DescribeHsmClientCertificates
*/
DescribeHsmClientCertificatesResult describeHsmClientCertificates(
DescribeHsmClientCertificatesRequest describeHsmClientCertificatesRequest);
/**
* Simplified method form for invoking the DescribeHsmClientCertificates
* operation.
*
* @see #describeHsmClientCertificates(DescribeHsmClientCertificatesRequest)
*/
DescribeHsmClientCertificatesResult describeHsmClientCertificates();
/**
*
* 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 AWS customer 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.
* @sample AmazonRedshift.DescribeHsmConfigurations
*/
DescribeHsmConfigurationsResult describeHsmConfigurations(
DescribeHsmConfigurationsRequest describeHsmConfigurationsRequest);
/**
* Simplified method form for invoking the DescribeHsmConfigurations
* operation.
*
* @see #describeHsmConfigurations(DescribeHsmConfigurationsRequest)
*/
DescribeHsmConfigurationsResult describeHsmConfigurations();
/**
*
* 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.
* @sample AmazonRedshift.DescribeLoggingStatus
*/
DescribeLoggingStatusResult describeLoggingStatus(
DescribeLoggingStatusRequest describeLoggingStatusRequest);
/**
*
* 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 AWS 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.
* @sample AmazonRedshift.DescribeOrderableClusterOptions
*/
DescribeOrderableClusterOptionsResult describeOrderableClusterOptions(
DescribeOrderableClusterOptionsRequest describeOrderableClusterOptionsRequest);
/**
* Simplified method form for invoking the DescribeOrderableClusterOptions
* operation.
*
* @see #describeOrderableClusterOptions(DescribeOrderableClusterOptionsRequest)
*/
DescribeOrderableClusterOptionsResult describeOrderableClusterOptions();
/**
*
* 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.
* @sample AmazonRedshift.DescribeReservedNodeOfferings
*/
DescribeReservedNodeOfferingsResult describeReservedNodeOfferings(
DescribeReservedNodeOfferingsRequest describeReservedNodeOfferingsRequest);
/**
* Simplified method form for invoking the DescribeReservedNodeOfferings
* operation.
*
* @see #describeReservedNodeOfferings(DescribeReservedNodeOfferingsRequest)
*/
DescribeReservedNodeOfferingsResult describeReservedNodeOfferings();
/**
*
* 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.
* @sample AmazonRedshift.DescribeReservedNodes
*/
DescribeReservedNodesResult describeReservedNodes(
DescribeReservedNodesRequest describeReservedNodesRequest);
/**
* Simplified method form for invoking the DescribeReservedNodes operation.
*
* @see #describeReservedNodes(DescribeReservedNodesRequest)
*/
DescribeReservedNodesResult describeReservedNodes();
/**
*
* 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.
* @sample AmazonRedshift.DescribeResize
*/
DescribeResizeResult describeResize(
DescribeResizeRequest describeResizeRequest);
/**
*
* Returns a list of snapshot copy grants owned by the AWS 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.
* @sample AmazonRedshift.DescribeSnapshotCopyGrants
*/
DescribeSnapshotCopyGrantsResult describeSnapshotCopyGrants(
DescribeSnapshotCopyGrantsRequest describeSnapshotCopyGrantsRequest);
/**
* Simplified method form for invoking the DescribeSnapshotCopyGrants
* operation.
*
* @see #describeSnapshotCopyGrants(DescribeSnapshotCopyGrantsRequest)
*/
DescribeSnapshotCopyGrantsResult describeSnapshotCopyGrants();
/**
*
* Lists the status of one or more table restore requests made using the
* RestoreTableFromClusterSnapshot API action. If you don't specify a
* value for the TableRestoreRequestId
parameter, then
* DescribeTableRestoreStatus
returns the status of all table
* restore requests ordered by the date and time of the request in ascending
* order. Otherwise DescribeTableRestoreStatus
returns the
* status of the table specified by TableRestoreRequestId
.
*
*
* @param describeTableRestoreStatusRequest
* @return Result of the DescribeTableRestoreStatus operation returned by
* the service.
* @throws TableRestoreNotFoundException
* The specified TableRestoreRequestId
value was not
* found.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @sample AmazonRedshift.DescribeTableRestoreStatus
*/
DescribeTableRestoreStatusResult describeTableRestoreStatus(
DescribeTableRestoreStatusRequest describeTableRestoreStatusRequest);
/**
* Simplified method form for invoking the DescribeTableRestoreStatus
* operation.
*
* @see #describeTableRestoreStatus(DescribeTableRestoreStatusRequest)
*/
DescribeTableRestoreStatusResult describeTableRestoreStatus();
/**
*
* Returns a list of tags. You can return tags from a specific resource by
* specifying an ARN, or you can return all tags for a given type of
* resource, such as clusters, snapshots, and so on.
*
*
* The following are limitations for DescribeTags
:
*
* - You cannot specify an ARN and a resource-type value together in the
* same request.
* - You cannot use the
MaxRecords
and Marker
* parameters together with the ARN parameter.
* - The
MaxRecords
parameter can be a range from 10 to 50
* results to return in a request.
*
*
*
* If you specify both tag keys and tag values in the same request, Amazon
* Redshift returns all resources 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 resources that have any combination
* of those values are returned.
*
*
* If both tag keys and values are omitted from the request, resources are
* returned regardless of whether they have tag keys or values associated
* with them.
*
*
* @param describeTagsRequest
* @return Result of the DescribeTags operation returned by the service.
* @throws ResourceNotFoundException
* The resource could not be found.
* @throws InvalidTagException
* The tag is invalid.
* @sample AmazonRedshift.DescribeTags
*/
DescribeTagsResult describeTags(DescribeTagsRequest describeTagsRequest);
/**
* Simplified method form for invoking the DescribeTags operation.
*
* @see #describeTags(DescribeTagsRequest)
*/
DescribeTagsResult describeTags();
/**
*
* Stops logging information, such as queries and connection attempts, for
* the specified Amazon Redshift cluster.
*
*
* @param disableLoggingRequest
* @return Result of the DisableLogging operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @sample AmazonRedshift.DisableLogging
*/
DisableLoggingResult disableLogging(
DisableLoggingRequest disableLoggingRequest);
/**
*
* Disables the automatic copying of snapshots from one region to another
* region for a specified cluster.
*
*
* If your cluster and its snapshots are encrypted using a customer master
* key (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the
* grant that grants Amazon Redshift permission to the CMK in the
* destination region.
*
*
* @param disableSnapshotCopyRequest
* @return Result of the DisableSnapshotCopy operation returned by the
* service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @throws SnapshotCopyAlreadyDisabledException
* The cluster already has cross-region snapshot copy disabled.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested
* operation.
* @sample AmazonRedshift.DisableSnapshotCopy
*/
Cluster disableSnapshotCopy(
DisableSnapshotCopyRequest disableSnapshotCopyRequest);
/**
*
* Starts logging information, such as queries and connection attempts, for
* the specified Amazon Redshift cluster.
*
*
* @param enableLoggingRequest
* @return Result of the EnableLogging operation returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @throws BucketNotFoundException
* Could not find the specified S3 bucket.
* @throws InsufficientS3BucketPolicyException
* The cluster does not have read bucket or put object permissions
* on the S3 bucket specified when enabling logging.
* @throws InvalidS3KeyPrefixException
* The string specified for the logging S3 key prefix does not
* comply with the documented constraints.
* @throws InvalidS3BucketNameException
* The S3 bucket name is invalid. For more information about naming
* rules, go to Bucket Restrictions and Limitations in the Amazon Simple
* Storage Service (S3) Developer Guide.
* @sample AmazonRedshift.EnableLogging
*/
EnableLoggingResult enableLogging(EnableLoggingRequest enableLoggingRequest);
/**
*
* Enables the automatic copy of snapshots from one region to another region
* for a specified cluster.
*
*
* @param enableSnapshotCopyRequest
* @return Result of the EnableSnapshotCopy operation returned by the
* service.
* @throws IncompatibleOrderableOptionsException
* The specified options are incompatible.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @throws CopyToRegionDisabledException
* Cross-region snapshot copy was temporarily disabled. Try your
* request again.
* @throws SnapshotCopyAlreadyEnabledException
* The cluster already has cross-region snapshot copy enabled.
* @throws UnknownSnapshotCopyRegionException
* The specified region is incorrect or does not exist.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested
* operation.
* @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 LimitExceededException
* The encryption key has exceeded its grant limit in AWS 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.
* @sample AmazonRedshift.EnableSnapshotCopy
*/
Cluster enableSnapshotCopy(
EnableSnapshotCopyRequest enableSnapshotCopyRequest);
/**
*
* Modifies the settings for a cluster. For example, you can add another
* security or parameter group, update the preferred maintenance window, or
* change the master user password. Resetting a cluster password or
* modifying the security groups associated with a cluster do not need a
* reboot. However, modifying a parameter group requires a reboot for
* parameters to take effect. For more information about managing clusters,
* go to Amazon Redshift Clusters in the Amazon Redshift Cluster
* Management Guide .
*
*
* You can also change node type and the number of nodes to scale up or down
* the cluster. When resizing a cluster, you must specify both the number of
* nodes and the node type even if one of the parameters does not change.
*
*
* @param modifyClusterRequest
* @return Result of the ModifyCluster operation returned by the service.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws InvalidClusterSecurityGroupStateException
* The state of the cluster security group is not
* available
.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @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 ClusterSecurityGroupNotFoundException
* The cluster security group name does not refer to an existing
* cluster security group.
* @throws ClusterParameterGroupNotFoundException
* The parameter group name does not refer to an existing parameter
* group.
* @throws InsufficientClusterCapacityException
* The number of nodes specified exceeds the allotted capacity of
* the cluster.
* @throws UnsupportedOptionException
* A request option was specified that is not supported.
* @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 ClusterAlreadyExistsException
* The account already has a cluster with the given identifier.
* @throws LimitExceededException
* The encryption key has exceeded its grant limit in AWS 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 InvalidElasticIpException
* The Elastic IP (EIP) is invalid or cannot be found.
* @sample AmazonRedshift.ModifyCluster
*/
Cluster modifyCluster(ModifyClusterRequest modifyClusterRequest);
/**
*
* Modifies the list of AWS Identity and Access Management (IAM) roles that
* can be used by the cluster to access other AWS services.
*
*
* A cluster can have up to 10 IAM roles associated at any time.
*
*
* @param modifyClusterIamRolesRequest
* @return Result of the ModifyClusterIamRoles operation returned by the
* service.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @sample AmazonRedshift.ModifyClusterIamRoles
*/
Cluster modifyClusterIamRoles(
ModifyClusterIamRolesRequest modifyClusterIamRolesRequest);
/**
*
* Modifies the parameters of a parameter group.
*
*
* For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster
* Management Guide.
*
*
* @param modifyClusterParameterGroupRequest
* @return Result of the ModifyClusterParameterGroup operation returned by
* the service.
* @throws ClusterParameterGroupNotFoundException
* The parameter group name does not refer to an existing parameter
* group.
* @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.
* @sample AmazonRedshift.ModifyClusterParameterGroup
*/
ModifyClusterParameterGroupResult modifyClusterParameterGroup(
ModifyClusterParameterGroupRequest modifyClusterParameterGroupRequest);
/**
*
* Modifies a cluster subnet group to include the specified list of VPC
* subnets. The operation replaces the existing list of subnets with the new
* list of subnets.
*
*
* @param modifyClusterSubnetGroupRequest
* @return Result of the ModifyClusterSubnetGroup operation returned by the
* service.
* @throws ClusterSubnetGroupNotFoundException
* The cluster subnet group name does not refer to an existing
* cluster subnet group.
* @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 SubnetAlreadyInUseException
* A specified subnet is already in use by another cluster.
* @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 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.
* @sample AmazonRedshift.ModifyClusterSubnetGroup
*/
ClusterSubnetGroup modifyClusterSubnetGroup(
ModifyClusterSubnetGroupRequest modifyClusterSubnetGroupRequest);
/**
*
* Modifies an existing Amazon Redshift event notification subscription.
*
*
* @param modifyEventSubscriptionRequest
* @return Result of the ModifyEventSubscription operation returned by the
* service.
* @throws SubscriptionNotFoundException
* An Amazon Redshift event notification subscription with the
* specified name does not exist.
* @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 InvalidSubscriptionStateException
* The subscription request is invalid because it is a duplicate
* request. This subscription request is already in progress.
* @sample AmazonRedshift.ModifyEventSubscription
*/
EventSubscription modifyEventSubscription(
ModifyEventSubscriptionRequest modifyEventSubscriptionRequest);
/**
*
* Modifies the number of days to retain automated snapshots in the
* destination region after they are copied from the source region.
*
*
* @param modifySnapshotCopyRetentionPeriodRequest
* @return Result of the ModifySnapshotCopyRetentionPeriod operation
* returned by the service.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @throws SnapshotCopyDisabledException
* Cross-region snapshot copy was temporarily disabled. Try your
* request again.
* @throws UnauthorizedOperationException
* Your account is not authorized to perform the requested
* operation.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @sample AmazonRedshift.ModifySnapshotCopyRetentionPeriod
*/
Cluster modifySnapshotCopyRetentionPeriod(
ModifySnapshotCopyRetentionPeriodRequest modifySnapshotCopyRetentionPeriodRequest);
/**
*
* Allows you to purchase reserved nodes. Amazon Redshift offers a
* predefined set of reserved node offerings. You can purchase one or more
* of the offerings. You can call the DescribeReservedNodeOfferings
* API to obtain the available reserved node offerings. You can call this
* API by providing a specific reserved node offering and the number of
* nodes you want to reserve.
*
*
* For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster
* Management Guide.
*
*
* @param purchaseReservedNodeOfferingRequest
* @return Result of the PurchaseReservedNodeOffering operation returned by
* the service.
* @throws ReservedNodeOfferingNotFoundException
* Specified offering does not exist.
* @throws ReservedNodeAlreadyExistsException
* User already has a reservation with the given identifier.
* @throws ReservedNodeQuotaExceededException
* Request would exceed the user's compute node quota. For
* information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster
* Management Guide.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @sample AmazonRedshift.PurchaseReservedNodeOffering
*/
ReservedNode purchaseReservedNodeOffering(
PurchaseReservedNodeOfferingRequest purchaseReservedNodeOfferingRequest);
/**
*
* Reboots a cluster. This action is taken as soon as possible. It results
* in a momentary outage to the cluster, during which the cluster status is
* set to rebooting
. A cluster event is created when the reboot
* is completed. Any pending cluster modifications (see
* ModifyCluster) are applied at this reboot. For more information
* about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster
* Management Guide
*
*
* @param rebootClusterRequest
* @return Result of the RebootCluster operation returned by the service.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @sample AmazonRedshift.RebootCluster
*/
Cluster rebootCluster(RebootClusterRequest rebootClusterRequest);
/**
*
* Sets one or more parameters of the specified parameter group to their
* default values and sets the source values of the parameters to
* "engine-default". To reset the entire parameter group specify the
* ResetAllParameters parameter. For parameter changes to take effect
* you must reboot any associated clusters.
*
*
* @param resetClusterParameterGroupRequest
* @return Result of the ResetClusterParameterGroup 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.
* @sample AmazonRedshift.ResetClusterParameterGroup
*/
ResetClusterParameterGroupResult resetClusterParameterGroup(
ResetClusterParameterGroupRequest resetClusterParameterGroupRequest);
/**
*
* Creates a new cluster from a snapshot. By default, Amazon Redshift
* creates the resulting cluster with the same configuration as the original
* cluster from which the snapshot was created, except that the new cluster
* is created with the default cluster security and parameter groups. After
* Amazon Redshift creates the cluster, you can use the ModifyCluster
* API to associate a different security group and different parameter group
* with the restored cluster. If you are using a DS node type, you can also
* choose to change to another DS node type of the same size during restore.
*
*
* If you restore a cluster into a VPC, you must provide a cluster subnet
* group where you want the cluster restored.
*
*
* For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster
* Management Guide.
*
*
* @param restoreFromClusterSnapshotRequest
* @return Result of the RestoreFromClusterSnapshot operation returned by
* the service.
* @throws AccessToSnapshotDeniedException
* The owner of the specified snapshot has not authorized your
* account to access the snapshot.
* @throws ClusterAlreadyExistsException
* The account already has a cluster with the given identifier.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster
* snapshot.
* @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 InsufficientClusterCapacityException
* The number of nodes specified exceeds the allotted capacity of
* the cluster.
* @throws InvalidClusterSnapshotStateException
* The specified cluster snapshot is not in the
* available
state, or other accounts are authorized to
* access the snapshot.
* @throws InvalidRestoreException
* The restore is invalid.
* @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 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 ClusterSubnetGroupNotFoundException
* The cluster subnet group name does not refer to an existing
* cluster subnet group.
* @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 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 LimitExceededException
* The encryption key has exceeded its grant limit in AWS 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.
* @sample AmazonRedshift.RestoreFromClusterSnapshot
*/
Cluster restoreFromClusterSnapshot(
RestoreFromClusterSnapshotRequest restoreFromClusterSnapshotRequest);
/**
*
* Creates a new table from a table in an Amazon Redshift cluster snapshot.
* You must create the new table within the Amazon Redshift cluster that the
* snapshot was taken from.
*
*
* You cannot use RestoreTableFromClusterSnapshot
to restore a
* table with the same name as an existing table in an Amazon Redshift
* cluster. That is, you cannot overwrite an existing table in a cluster
* with a restored table. If you want to replace your original table with a
* new, restored table, then rename or drop your original table before you
* call RestoreTableFromClusterSnapshot
. When you have renamed
* your original table, then you can pass the original name of the table as
* the NewTableName
parameter value in the call to
* RestoreTableFromClusterSnapshot
. This way, you can replace
* the original table with the table created from the snapshot.
*
*
* @param restoreTableFromClusterSnapshotRequest
* @return Result of the RestoreTableFromClusterSnapshot operation returned
* by the service.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster
* snapshot.
* @throws InProgressTableRestoreQuotaExceededException
* You have exceeded the allowed number of table restore requests.
* Wait for your current table restore requests to complete before
* making a new request.
* @throws InvalidClusterSnapshotStateException
* The specified cluster snapshot is not in the
* available
state, or other accounts are authorized to
* access the snapshot.
* @throws InvalidTableRestoreArgumentException
* The value specified for the sourceDatabaseName
,
* sourceSchemaName
, or sourceTableName
* parameter, or a combination of these, doesn't exist in the
* snapshot.
* @throws ClusterNotFoundException
* The ClusterIdentifier
parameter does not refer to an
* existing cluster.
* @throws InvalidClusterStateException
* The specified cluster is not in the available
state.
* @throws UnsupportedOperationException
* The requested operation isn't supported.
* @sample AmazonRedshift.RestoreTableFromClusterSnapshot
*/
TableRestoreStatus restoreTableFromClusterSnapshot(
RestoreTableFromClusterSnapshotRequest restoreTableFromClusterSnapshotRequest);
/**
*
* Revokes an ingress rule in an Amazon Redshift security group for a
* previously authorized IP range or Amazon EC2 security group. To add an
* ingress rule, see AuthorizeClusterSecurityGroupIngress. For
* information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift
* Cluster Management Guide.
*
*
* @param revokeClusterSecurityGroupIngressRequest
* @return Result of the RevokeClusterSecurityGroupIngress operation
* returned by the service.
* @throws ClusterSecurityGroupNotFoundException
* The cluster security group name does not refer to an existing
* cluster security group.
* @throws AuthorizationNotFoundException
* The specified CIDR IP range or EC2 security group is not
* authorized for the specified cluster security group.
* @throws InvalidClusterSecurityGroupStateException
* The state of the cluster security group is not
* available
.
* @sample AmazonRedshift.RevokeClusterSecurityGroupIngress
*/
ClusterSecurityGroup revokeClusterSecurityGroupIngress(
RevokeClusterSecurityGroupIngressRequest revokeClusterSecurityGroupIngressRequest);
/**
*
* Removes the ability of the specified AWS customer account to restore the
* specified snapshot. If the account is currently restoring the snapshot,
* the restore will run to completion.
*
*
* For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster
* Management Guide.
*
*
* @param revokeSnapshotAccessRequest
* @return Result of the RevokeSnapshotAccess operation returned by the
* service.
* @throws AccessToSnapshotDeniedException
* The owner of the specified snapshot has not authorized your
* account to access the snapshot.
* @throws AuthorizationNotFoundException
* The specified CIDR IP range or EC2 security group is not
* authorized for the specified cluster security group.
* @throws ClusterSnapshotNotFoundException
* The snapshot identifier does not refer to an existing cluster
* snapshot.
* @sample AmazonRedshift.RevokeSnapshotAccess
*/
Snapshot revokeSnapshotAccess(
RevokeSnapshotAccessRequest revokeSnapshotAccessRequest);
/**
*
* Rotates the encryption keys for a cluster.
*
*
* @param rotateEncryptionKeyRequest
* @return Result of the RotateEncryptionKey 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 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.
* @sample AmazonRedshift.RotateEncryptionKey
*/
Cluster rotateEncryptionKey(
RotateEncryptionKeyRequest rotateEncryptionKeyRequest);
/**
* Shuts down this client object, releasing any resources that might be held
* open. This is an optional method, and callers are not expected to call
* it, but can if they want to explicitly release any open resources. Once a
* client has been shutdown, it should not be used to make any more
* requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request,
* typically used for debugging issues where a service isn't acting as
* expected. This data isn't considered part of the result data returned by
* an operation, so it's available through this separate, diagnostic
* interface.
*
* Response metadata is only cached for a limited period of time, so if you
* need to access this extra diagnostic information for an executed request,
* you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none
* is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}