Interface AmazonRedshift

  • All Known Subinterfaces:
    AmazonRedshiftAsync
    All Known Implementing Classes:
    AbstractAmazonRedshift, AbstractAmazonRedshiftAsync, AmazonRedshiftAsyncClient, AmazonRedshiftClient

    public interface AmazonRedshift
    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.

    • Method Detail

      • setEndpoint

        void setEndpoint​(String endpoint)
        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 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.

        Parameters:
        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.
      • authorizeClusterSecurityGroupIngress

        ClusterSecurityGroup authorizeClusterSecurityGroupIngress​(AuthorizeClusterSecurityGroupIngressRequest authorizeClusterSecurityGroupIngressRequest)

        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.

        Parameters:
        authorizeClusterSecurityGroupIngressRequest -
        Returns:
        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.
        InvalidClusterSecurityGroupStateException - The state of the cluster security group is not available.
        AuthorizationAlreadyExistsException - The specified CIDR block or EC2 security group is already authorized for the specified cluster security group.
        AuthorizationQuotaExceededException - The authorization quota for the cluster security group has been reached.
      • copyClusterSnapshot

        Snapshot copyClusterSnapshot​(CopyClusterSnapshotRequest copyClusterSnapshotRequest)

        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.

        Parameters:
        copyClusterSnapshotRequest -
        Returns:
        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.
        ClusterSnapshotNotFoundException - The snapshot identifier does not refer to an existing cluster snapshot.
        InvalidClusterSnapshotStateException - The specified cluster snapshot is not in the available state, or other accounts are authorized to access the snapshot.
        ClusterSnapshotQuotaExceededException - The request would result in the user exceeding the allowed number of cluster snapshots.
      • createClusterParameterGroup

        ClusterParameterGroup createClusterParameterGroup​(CreateClusterParameterGroupRequest createClusterParameterGroupRequest)

        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.

        Parameters:
        createClusterParameterGroupRequest -
        Returns:
        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.
        ClusterParameterGroupAlreadyExistsException - A cluster parameter group with the same name already exists.
        TagLimitExceededException - The request exceeds the limit of 10 tags for the resource.
        InvalidTagException - The tag is invalid.
      • createEventSubscription

        EventSubscription createEventSubscription​(CreateEventSubscriptionRequest createEventSubscriptionRequest)

        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.

        Parameters:
        createEventSubscriptionRequest -
        Returns:
        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.
        SubscriptionAlreadyExistException - There is already an existing event notification subscription with the specified name.
        SNSInvalidTopicException - Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.
        SNSNoAuthorizationException - You do not have permission to publish to the specified Amazon SNS topic.
        SNSTopicArnNotFoundException - An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.
        SubscriptionEventIdNotFoundException - An Amazon Redshift event with the specified event ID does not exist.
        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.
        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.
        SourceNotFoundException - The specified Amazon Redshift event source could not be found.
        TagLimitExceededException - The request exceeds the limit of 10 tags for the resource.
        InvalidTagException - The tag is invalid.
      • createHsmClientCertificate

        HsmClientCertificate createHsmClientCertificate​(CreateHsmClientCertificateRequest createHsmClientCertificateRequest)

        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.

        Parameters:
        createHsmClientCertificateRequest -
        Returns:
        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.
        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.
        TagLimitExceededException - The request exceeds the limit of 10 tags for the resource.
        InvalidTagException - The tag is invalid.
      • createHsmConfiguration

        HsmConfiguration createHsmConfiguration​(CreateHsmConfigurationRequest createHsmConfigurationRequest)

        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.

        Parameters:
        createHsmConfigurationRequest -
        Returns:
        Result of the CreateHsmConfiguration operation returned by the service.
        Throws:
        HsmConfigurationAlreadyExistsException - There is already an existing Amazon Redshift HSM configuration with the specified identifier.
        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.
        TagLimitExceededException - The request exceeds the limit of 10 tags for the resource.
        InvalidTagException - The tag is invalid.
      • createTags

        CreateTagsResult createTags​(CreateTagsRequest createTagsRequest)

        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.

        Parameters:
        createTagsRequest - Contains the output from the CreateTags action.
        Returns:
        Result of the CreateTags operation returned by the service.
        Throws:
        TagLimitExceededException - The request exceeds the limit of 10 tags for the resource.
        ResourceNotFoundException - The resource could not be found.
        InvalidTagException - The tag is invalid.
      • deleteCluster

        Cluster deleteCluster​(DeleteClusterRequest deleteClusterRequest)

        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 .

        Parameters:
        deleteClusterRequest -
        Returns:
        Result of the DeleteCluster operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        InvalidClusterStateException - The specified cluster is not in the available state.
        ClusterSnapshotAlreadyExistsException - The value specified as a snapshot identifier is already used by an existing snapshot.
        ClusterSnapshotQuotaExceededException - The request would result in the user exceeding the allowed number of cluster snapshots.
      • deleteClusterParameterGroup

        DeleteClusterParameterGroupResult deleteClusterParameterGroup​(DeleteClusterParameterGroupRequest deleteClusterParameterGroupRequest)

        Deletes a specified Amazon Redshift parameter group. You cannot delete a parameter group if it is associated with a cluster.

        Parameters:
        deleteClusterParameterGroupRequest -
        Returns:
        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.
        ClusterParameterGroupNotFoundException - The parameter group name does not refer to an existing parameter group.
      • deleteClusterSnapshot

        Snapshot deleteClusterSnapshot​(DeleteClusterSnapshotRequest deleteClusterSnapshotRequest)

        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.

        Parameters:
        deleteClusterSnapshotRequest -
        Returns:
        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.
        ClusterSnapshotNotFoundException - The snapshot identifier does not refer to an existing cluster snapshot.
      • deleteEventSubscription

        DeleteEventSubscriptionResult deleteEventSubscription​(DeleteEventSubscriptionRequest deleteEventSubscriptionRequest)

        Deletes an Amazon Redshift event notification subscription.

        Parameters:
        deleteEventSubscriptionRequest -
        Returns:
        Result of the DeleteEventSubscription operation returned by the service.
        Throws:
        SubscriptionNotFoundException - An Amazon Redshift event notification subscription with the specified name does not exist.
        InvalidSubscriptionStateException - The subscription request is invalid because it is a duplicate request. This subscription request is already in progress.
      • deleteSnapshotCopyGrant

        DeleteSnapshotCopyGrantResult deleteSnapshotCopyGrant​(DeleteSnapshotCopyGrantRequest deleteSnapshotCopyGrantRequest)

        Deletes the specified snapshot copy grant.

        Parameters:
        deleteSnapshotCopyGrantRequest - The result of the DeleteSnapshotCopyGrant action.
        Returns:
        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.
        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.
      • deleteTags

        DeleteTagsResult deleteTags​(DeleteTagsRequest deleteTagsRequest)

        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.

        Parameters:
        deleteTagsRequest - Contains the output from the DeleteTags action.
        Returns:
        Result of the DeleteTags operation returned by the service.
        Throws:
        ResourceNotFoundException - The resource could not be found.
        InvalidTagException - The tag is invalid.
      • describeClusterParameterGroups

        DescribeClusterParameterGroupsResult describeClusterParameterGroups​(DescribeClusterParameterGroupsRequest describeClusterParameterGroupsRequest)

        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.

        Parameters:
        describeClusterParameterGroupsRequest -
        Returns:
        Result of the DescribeClusterParameterGroups operation returned by the service.
        Throws:
        ClusterParameterGroupNotFoundException - The parameter group name does not refer to an existing parameter group.
        InvalidTagException - The tag is invalid.
      • describeClusterParameters

        DescribeClusterParametersResult describeClusterParameters​(DescribeClusterParametersRequest describeClusterParametersRequest)

        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.

        Parameters:
        describeClusterParametersRequest -
        Returns:
        Result of the DescribeClusterParameters operation returned by the service.
        Throws:
        ClusterParameterGroupNotFoundException - The parameter group name does not refer to an existing parameter group.
      • describeClusterSecurityGroups

        DescribeClusterSecurityGroupsResult describeClusterSecurityGroups​(DescribeClusterSecurityGroupsRequest describeClusterSecurityGroupsRequest)

        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.

        Parameters:
        describeClusterSecurityGroupsRequest -
        Returns:
        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.
        InvalidTagException - The tag is invalid.
      • describeClusterSnapshots

        DescribeClusterSnapshotsResult describeClusterSnapshots​(DescribeClusterSnapshotsRequest describeClusterSnapshotsRequest)

        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.

        Parameters:
        describeClusterSnapshotsRequest -
        Returns:
        Result of the DescribeClusterSnapshots operation returned by the service.
        Throws:
        ClusterSnapshotNotFoundException - The snapshot identifier does not refer to an existing cluster snapshot.
        InvalidTagException - The tag is invalid.
      • describeClusterSubnetGroups

        DescribeClusterSubnetGroupsResult describeClusterSubnetGroups​(DescribeClusterSubnetGroupsRequest describeClusterSubnetGroupsRequest)

        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.

        Parameters:
        describeClusterSubnetGroupsRequest -
        Returns:
        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.
        InvalidTagException - The tag is invalid.
      • describeClusterVersions

        DescribeClusterVersionsResult describeClusterVersions​(DescribeClusterVersionsRequest describeClusterVersionsRequest)

        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

        Parameters:
        describeClusterVersionsRequest -
        Returns:
        Result of the DescribeClusterVersions operation returned by the service.
      • describeClusters

        DescribeClustersResult describeClusters​(DescribeClustersRequest describeClustersRequest)

        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.

        Parameters:
        describeClustersRequest -
        Returns:
        Result of the DescribeClusters operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        InvalidTagException - The tag is invalid.
      • describeDefaultClusterParameters

        DefaultClusterParameters describeDefaultClusterParameters​(DescribeDefaultClusterParametersRequest describeDefaultClusterParametersRequest)

        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.

        Parameters:
        describeDefaultClusterParametersRequest -
        Returns:
        Result of the DescribeDefaultClusterParameters operation returned by the service.
      • describeEventSubscriptions

        DescribeEventSubscriptionsResult describeEventSubscriptions​(DescribeEventSubscriptionsRequest describeEventSubscriptionsRequest)

        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.

        Parameters:
        describeEventSubscriptionsRequest -
        Returns:
        Result of the DescribeEventSubscriptions operation returned by the service.
        Throws:
        SubscriptionNotFoundException - An Amazon Redshift event notification subscription with the specified name does not exist.
      • describeEvents

        DescribeEventsResult describeEvents​(DescribeEventsRequest describeEventsRequest)

        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.

        Parameters:
        describeEventsRequest -
        Returns:
        Result of the DescribeEvents operation returned by the service.
      • describeHsmClientCertificates

        DescribeHsmClientCertificatesResult describeHsmClientCertificates​(DescribeHsmClientCertificatesRequest describeHsmClientCertificatesRequest)

        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.

        Parameters:
        describeHsmClientCertificatesRequest -
        Returns:
        Result of the DescribeHsmClientCertificates operation returned by the service.
        Throws:
        HsmClientCertificateNotFoundException - There is no Amazon Redshift HSM client certificate with the specified identifier.
        InvalidTagException - The tag is invalid.
      • describeHsmConfigurations

        DescribeHsmConfigurationsResult describeHsmConfigurations​(DescribeHsmConfigurationsRequest describeHsmConfigurationsRequest)

        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.

        Parameters:
        describeHsmConfigurationsRequest -
        Returns:
        Result of the DescribeHsmConfigurations operation returned by the service.
        Throws:
        HsmConfigurationNotFoundException - There is no Amazon Redshift HSM configuration with the specified identifier.
        InvalidTagException - The tag is invalid.
      • describeLoggingStatus

        DescribeLoggingStatusResult describeLoggingStatus​(DescribeLoggingStatusRequest describeLoggingStatusRequest)

        Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon Redshift cluster.

        Parameters:
        describeLoggingStatusRequest -
        Returns:
        Result of the DescribeLoggingStatus operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
      • describeOrderableClusterOptions

        DescribeOrderableClusterOptionsResult describeOrderableClusterOptions​(DescribeOrderableClusterOptionsRequest describeOrderableClusterOptionsRequest)

        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

        Parameters:
        describeOrderableClusterOptionsRequest -
        Returns:
        Result of the DescribeOrderableClusterOptions operation returned by the service.
      • describeReservedNodeOfferings

        DescribeReservedNodeOfferingsResult describeReservedNodeOfferings​(DescribeReservedNodeOfferingsRequest describeReservedNodeOfferingsRequest)

        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.

        Parameters:
        describeReservedNodeOfferingsRequest -
        Returns:
        Result of the DescribeReservedNodeOfferings operation returned by the service.
        Throws:
        ReservedNodeOfferingNotFoundException - Specified offering does not exist.
        UnsupportedOperationException - The requested operation isn't supported.
      • describeResize

        DescribeResizeResult describeResize​(DescribeResizeRequest describeResizeRequest)

        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.

        Parameters:
        describeResizeRequest -
        Returns:
        Result of the DescribeResize operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        ResizeNotFoundException - A resize operation for the specified cluster is not found.
      • describeSnapshotCopyGrants

        DescribeSnapshotCopyGrantsResult describeSnapshotCopyGrants​(DescribeSnapshotCopyGrantsRequest describeSnapshotCopyGrantsRequest)

        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.

        Parameters:
        describeSnapshotCopyGrantsRequest - The result of the DescribeSnapshotCopyGrants action.
        Returns:
        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.
        InvalidTagException - The tag is invalid.
      • describeTableRestoreStatus

        DescribeTableRestoreStatusResult describeTableRestoreStatus​(DescribeTableRestoreStatusRequest describeTableRestoreStatusRequest)

        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.

        Parameters:
        describeTableRestoreStatusRequest -
        Returns:
        Result of the DescribeTableRestoreStatus operation returned by the service.
        Throws:
        TableRestoreNotFoundException - The specified TableRestoreRequestId value was not found.
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
      • describeTags

        DescribeTagsResult describeTags​(DescribeTagsRequest describeTagsRequest)

        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.

        Parameters:
        describeTagsRequest -
        Returns:
        Result of the DescribeTags operation returned by the service.
        Throws:
        ResourceNotFoundException - The resource could not be found.
        InvalidTagException - The tag is invalid.
      • disableLogging

        DisableLoggingResult disableLogging​(DisableLoggingRequest disableLoggingRequest)

        Stops logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

        Parameters:
        disableLoggingRequest -
        Returns:
        Result of the DisableLogging operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
      • disableSnapshotCopy

        Cluster disableSnapshotCopy​(DisableSnapshotCopyRequest disableSnapshotCopyRequest)

        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.

        Parameters:
        disableSnapshotCopyRequest -
        Returns:
        Result of the DisableSnapshotCopy operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        SnapshotCopyAlreadyDisabledException - The cluster already has cross-region snapshot copy disabled.
        InvalidClusterStateException - The specified cluster is not in the available state.
        UnauthorizedOperationException - Your account is not authorized to perform the requested operation.
      • modifyClusterIamRoles

        Cluster modifyClusterIamRoles​(ModifyClusterIamRolesRequest modifyClusterIamRolesRequest)

        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.

        Parameters:
        modifyClusterIamRolesRequest -
        Returns:
        Result of the ModifyClusterIamRoles operation returned by the service.
        Throws:
        InvalidClusterStateException - The specified cluster is not in the available state.
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
      • modifyEventSubscription

        EventSubscription modifyEventSubscription​(ModifyEventSubscriptionRequest modifyEventSubscriptionRequest)

        Modifies an existing Amazon Redshift event notification subscription.

        Parameters:
        modifyEventSubscriptionRequest -
        Returns:
        Result of the ModifyEventSubscription operation returned by the service.
        Throws:
        SubscriptionNotFoundException - An Amazon Redshift event notification subscription with the specified name does not exist.
        SNSInvalidTopicException - Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.
        SNSNoAuthorizationException - You do not have permission to publish to the specified Amazon SNS topic.
        SNSTopicArnNotFoundException - An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.
        SubscriptionEventIdNotFoundException - An Amazon Redshift event with the specified event ID does not exist.
        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.
        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.
        SourceNotFoundException - The specified Amazon Redshift event source could not be found.
        InvalidSubscriptionStateException - The subscription request is invalid because it is a duplicate request. This subscription request is already in progress.
      • modifySnapshotCopyRetentionPeriod

        Cluster modifySnapshotCopyRetentionPeriod​(ModifySnapshotCopyRetentionPeriodRequest modifySnapshotCopyRetentionPeriodRequest)

        Modifies the number of days to retain automated snapshots in the destination region after they are copied from the source region.

        Parameters:
        modifySnapshotCopyRetentionPeriodRequest -
        Returns:
        Result of the ModifySnapshotCopyRetentionPeriod operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        SnapshotCopyDisabledException - Cross-region snapshot copy was temporarily disabled. Try your request again.
        UnauthorizedOperationException - Your account is not authorized to perform the requested operation.
        InvalidClusterStateException - The specified cluster is not in the available state.
      • purchaseReservedNodeOffering

        ReservedNode purchaseReservedNodeOffering​(PurchaseReservedNodeOfferingRequest purchaseReservedNodeOfferingRequest)

        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.

        Parameters:
        purchaseReservedNodeOfferingRequest -
        Returns:
        Result of the PurchaseReservedNodeOffering operation returned by the service.
        Throws:
        ReservedNodeOfferingNotFoundException - Specified offering does not exist.
        ReservedNodeAlreadyExistsException - User already has a reservation with the given identifier.
        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.
        UnsupportedOperationException - The requested operation isn't supported.
      • rebootCluster

        Cluster rebootCluster​(RebootClusterRequest rebootClusterRequest)

        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

        Parameters:
        rebootClusterRequest -
        Returns:
        Result of the RebootCluster operation returned by the service.
        Throws:
        InvalidClusterStateException - The specified cluster is not in the available state.
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
      • resetClusterParameterGroup

        ResetClusterParameterGroupResult resetClusterParameterGroup​(ResetClusterParameterGroupRequest resetClusterParameterGroupRequest)

        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.

        Parameters:
        resetClusterParameterGroupRequest -
        Returns:
        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.
        ClusterParameterGroupNotFoundException - The parameter group name does not refer to an existing parameter group.
      • restoreTableFromClusterSnapshot

        TableRestoreStatus restoreTableFromClusterSnapshot​(RestoreTableFromClusterSnapshotRequest restoreTableFromClusterSnapshotRequest)

        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.

        Parameters:
        restoreTableFromClusterSnapshotRequest -
        Returns:
        Result of the RestoreTableFromClusterSnapshot operation returned by the service.
        Throws:
        ClusterSnapshotNotFoundException - The snapshot identifier does not refer to an existing cluster snapshot.
        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.
        InvalidClusterSnapshotStateException - The specified cluster snapshot is not in the available state, or other accounts are authorized to access the snapshot.
        InvalidTableRestoreArgumentException - The value specified for the sourceDatabaseName, sourceSchemaName, or sourceTableName parameter, or a combination of these, doesn't exist in the snapshot.
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        InvalidClusterStateException - The specified cluster is not in the available state.
        UnsupportedOperationException - The requested operation isn't supported.
      • revokeSnapshotAccess

        Snapshot revokeSnapshotAccess​(RevokeSnapshotAccessRequest revokeSnapshotAccessRequest)

        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.

        Parameters:
        revokeSnapshotAccessRequest -
        Returns:
        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.
        AuthorizationNotFoundException - The specified CIDR IP range or EC2 security group is not authorized for the specified cluster security group.
        ClusterSnapshotNotFoundException - The snapshot identifier does not refer to an existing cluster snapshot.
      • rotateEncryptionKey

        Cluster rotateEncryptionKey​(RotateEncryptionKeyRequest rotateEncryptionKeyRequest)

        Rotates the encryption keys for a cluster.

        Parameters:
        rotateEncryptionKeyRequest -
        Returns:
        Result of the RotateEncryptionKey operation returned by the service.
        Throws:
        ClusterNotFoundException - The ClusterIdentifier parameter does not refer to an existing cluster.
        InvalidClusterStateException - The specified cluster is not in the available state.
        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.
      • shutdown

        void shutdown()
        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.
      • getCachedResponseMetadata

        ResponseMetadata getCachedResponseMetadata​(AmazonWebServiceRequest request)
        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.

        Parameters:
        request - The originally executed request.
        Returns:
        The response metadata for the specified request, or null if none is available.