Amazon Redshift

2022/07/11 - Amazon Redshift - 5 updated api methods

Changes  This release adds a new --snapshot-arn field for describe-cluster-snapshots, describe-node-configuration-options, restore-from-cluster-snapshot, authorize-snapshot-acsess, and revoke-snapshot-acsess APIs. It allows customers to give a Redshift snapshot ARN or a Redshift Serverless ARN as input.

AuthorizeSnapshotAccess (updated) Link ¶
Changes (request)
{'SnapshotArn': 'string'}

Authorizes the specified Amazon Web Services account to restore the specified snapshot.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide .

See also: AWS API Documentation

Request Syntax

client.authorize_snapshot_access(
    SnapshotIdentifier='string',
    SnapshotArn='string',
    SnapshotClusterIdentifier='string',
    AccountWithRestoreAccess='string'
)
type SnapshotIdentifier

string

param SnapshotIdentifier

The identifier of the snapshot the account is authorized to restore.

type SnapshotArn

string

param SnapshotArn

The Amazon Resource Name (ARN) of the snapshot to authorize access to.

type SnapshotClusterIdentifier

string

param SnapshotClusterIdentifier

The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

type AccountWithRestoreAccess

string

param AccountWithRestoreAccess

[REQUIRED]

The identifier of the Amazon Web Services account authorized to restore the specified snapshot.

To share a snapshot with Amazon Web Services Support, specify amazon-redshift-support.

rtype

dict

returns

Response Syntax

{
    'Snapshot': {
        'SnapshotIdentifier': 'string',
        'ClusterIdentifier': 'string',
        'SnapshotCreateTime': datetime(2015, 1, 1),
        'Status': 'string',
        'Port': 123,
        'AvailabilityZone': 'string',
        'ClusterCreateTime': datetime(2015, 1, 1),
        'MasterUsername': 'string',
        'ClusterVersion': 'string',
        'EngineFullVersion': 'string',
        'SnapshotType': 'string',
        'NodeType': 'string',
        'NumberOfNodes': 123,
        'DBName': 'string',
        'VpcId': 'string',
        'Encrypted': True|False,
        'KmsKeyId': 'string',
        'EncryptedWithHSM': True|False,
        'AccountsWithRestoreAccess': [
            {
                'AccountId': 'string',
                'AccountAlias': 'string'
            },
        ],
        'OwnerAccount': 'string',
        'TotalBackupSizeInMegaBytes': 123.0,
        'ActualIncrementalBackupSizeInMegaBytes': 123.0,
        'BackupProgressInMegaBytes': 123.0,
        'CurrentBackupRateInMegaBytesPerSecond': 123.0,
        'EstimatedSecondsToCompletion': 123,
        'ElapsedTimeInSeconds': 123,
        'SourceRegion': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'RestorableNodeTypes': [
            'string',
        ],
        'EnhancedVpcRouting': True|False,
        'MaintenanceTrackName': 'string',
        'ManualSnapshotRetentionPeriod': 123,
        'ManualSnapshotRemainingDays': 123,
        'SnapshotRetentionStartTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • Snapshot (dict) --

      Describes a snapshot.

      • SnapshotIdentifier (string) --

        The snapshot identifier that is provided in the request.

      • ClusterIdentifier (string) --

        The identifier of the cluster for which the snapshot was taken.

      • SnapshotCreateTime (datetime) --

        The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

      • Status (string) --

        The snapshot status. The value of the status depends on the API operation used:

        • CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".

        • DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".

        • DeleteClusterSnapshot returns status as "deleted".

      • Port (integer) --

        The port that the cluster is listening on.

      • AvailabilityZone (string) --

        The Availability Zone in which the cluster was created.

      • ClusterCreateTime (datetime) --

        The time (UTC) when the cluster was originally created.

      • MasterUsername (string) --

        The admin user name for the cluster.

      • ClusterVersion (string) --

        The version ID of the Amazon Redshift engine that is running on the cluster.

      • EngineFullVersion (string) --

        The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.

      • SnapshotType (string) --

        The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of type "manual".

      • NodeType (string) --

        The node type of the nodes in the cluster.

      • NumberOfNodes (integer) --

        The number of nodes in the cluster.

      • DBName (string) --

        The name of the database that was created when the cluster was created.

      • VpcId (string) --

        The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the output.

      • Encrypted (boolean) --

        If true , the data in the snapshot is encrypted at rest.

      • KmsKeyId (string) --

        The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.

      • EncryptedWithHSM (boolean) --

        A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster. true indicates that the data is encrypted using HSM keys.

      • AccountsWithRestoreAccess (list) --

        A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null if no accounts are authorized. Visible only to the snapshot owner.

        • (dict) --

          Describes an Amazon Web Services account authorized to restore a snapshot.

          • AccountId (string) --

            The identifier of an Amazon Web Services account authorized to restore a snapshot.

          • AccountAlias (string) --

            The identifier of an Amazon Web Services support account authorized to restore a snapshot. For Amazon Web Services Support, the identifier is amazon-redshift-support .

      • OwnerAccount (string) --

        For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.

      • TotalBackupSizeInMegaBytes (float) --

        The size of the complete set of backup data that would be used to restore the cluster.

      • ActualIncrementalBackupSizeInMegaBytes (float) --

        The size of the incremental backup.

      • BackupProgressInMegaBytes (float) --

        The number of megabytes that have been transferred to the snapshot backup.

      • CurrentBackupRateInMegaBytesPerSecond (float) --

        The number of megabytes per second being transferred to the snapshot backup. Returns 0 for a completed backup.

      • EstimatedSecondsToCompletion (integer) --

        The estimate of the time remaining before the snapshot backup will complete. Returns 0 for a completed backup.

      • ElapsedTimeInSeconds (integer) --

        The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed backup to finish.

      • SourceRegion (string) --

        The source region from which the snapshot was copied.

      • Tags (list) --

        The list of tags for the cluster snapshot.

        • (dict) --

          A tag consisting of a name/value pair for a resource.

          • Key (string) --

            The key, or name, for the resource tag.

          • Value (string) --

            The value for the resource tag.

      • RestorableNodeTypes (list) --

        The list of node types that this cluster snapshot is able to restore into.

        • (string) --

      • EnhancedVpcRouting (boolean) --

        An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

        If this option is true , enhanced VPC routing is enabled.

        Default: false

      • MaintenanceTrackName (string) --

        The name of the maintenance track for the snapshot.

      • ManualSnapshotRetentionPeriod (integer) --

        The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

        The value must be either -1 or an integer between 1 and 3,653.

      • ManualSnapshotRemainingDays (integer) --

        The number of days until a manual snapshot will pass its retention period.

      • SnapshotRetentionStartTime (datetime) --

        A timestamp representing the start of the retention period for the snapshot.

DescribeClusterSnapshots (updated) Link ¶
Changes (request)
{'SnapshotArn': 'string'}

Returns one or more snapshot objects, which contain metadata about your cluster snapshots. By default, this operation returns information about all snapshots of all clusters that are owned by your Amazon Web Services account. No information is returned for snapshots owned by inactive Amazon Web Services accounts.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all snapshots that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all snapshots that have any combination of those values are returned. Only snapshots that you own are returned in the response; shared snapshots are not returned with the tag key and tag value request parameters.

If both tag keys and values are omitted from the request, snapshots are returned regardless of whether they have tag keys or values associated with them.

See also: AWS API Documentation

Request Syntax

client.describe_cluster_snapshots(
    ClusterIdentifier='string',
    SnapshotIdentifier='string',
    SnapshotArn='string',
    SnapshotType='string',
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    MaxRecords=123,
    Marker='string',
    OwnerAccount='string',
    TagKeys=[
        'string',
    ],
    TagValues=[
        'string',
    ],
    ClusterExists=True|False,
    SortingEntities=[
        {
            'Attribute': 'SOURCE_TYPE'|'TOTAL_SIZE'|'CREATE_TIME',
            'SortOrder': 'ASC'|'DESC'
        },
    ]
)
type ClusterIdentifier

string

param ClusterIdentifier

The identifier of the cluster which generated the requested snapshots.

type SnapshotIdentifier

string

param SnapshotIdentifier

The snapshot identifier of the snapshot about which to return information.

type SnapshotArn

string

param SnapshotArn

The Amazon Resource Name (ARN) of the snapshot associated with the message to describe cluster snapshots.

type SnapshotType

string

param SnapshotType

The type of snapshots for which you are requesting information. By default, snapshots of all types are returned.

Valid Values: automated | manual

type StartTime

datetime

param StartTime

A value that requests only snapshots created at or after the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2012-07-16T18:00:00Z

type EndTime

datetime

param EndTime

A time value that requests only snapshots created at or before the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2012-07-16T18:00:00Z

type MaxRecords

integer

param MaxRecords

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

type Marker

string

param Marker

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSnapshots request exceed the value specified in MaxRecords , Amazon Web Services returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

type OwnerAccount

string

param OwnerAccount

The Amazon Web Services account used to create or copy the snapshot. Use this field to filter the results to snapshots owned by a particular account. To describe snapshots you own, either specify your Amazon Web Services account, or do not specify the parameter.

type TagKeys

list

param TagKeys

A tag key or keys for which you want to return all matching cluster snapshots that are associated with the specified key or keys. For example, suppose that you have snapshots that are tagged with keys called owner and environment . If you specify both of these tag keys in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag keys associated with them.

  • (string) --

type TagValues

list

param TagValues

A tag value or values for which you want to return all matching cluster snapshots that are associated with the specified tag value or values. For example, suppose that you have snapshots that are tagged with values called admin and test . If you specify both of these tag values in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag values associated with them.

  • (string) --

type ClusterExists

boolean

param ClusterExists

A value that indicates whether to return snapshots only for an existing cluster. You can perform table-level restore only by using a snapshot of an existing cluster, that is, a cluster that has not been deleted. Values for this parameter work as follows:

  • If ClusterExists is set to true , ClusterIdentifier is required.

  • If ClusterExists is set to false and ClusterIdentifier isn't specified, all snapshots associated with deleted clusters (orphaned snapshots) are returned.

  • If ClusterExists is set to false and ClusterIdentifier is specified for a deleted cluster, snapshots associated with that cluster are returned.

  • If ClusterExists is set to false and ClusterIdentifier is specified for an existing cluster, no snapshots are returned.

type SortingEntities

list

param SortingEntities
  • (dict) --

    Describes a sorting entity

    • Attribute (string) -- [REQUIRED]

      The category for sorting the snapshots.

    • SortOrder (string) --

      The order for listing the attributes.

rtype

dict

returns

Response Syntax

{
    'Marker': 'string',
    'Snapshots': [
        {
            'SnapshotIdentifier': 'string',
            'ClusterIdentifier': 'string',
            'SnapshotCreateTime': datetime(2015, 1, 1),
            'Status': 'string',
            'Port': 123,
            'AvailabilityZone': 'string',
            'ClusterCreateTime': datetime(2015, 1, 1),
            'MasterUsername': 'string',
            'ClusterVersion': 'string',
            'EngineFullVersion': 'string',
            'SnapshotType': 'string',
            'NodeType': 'string',
            'NumberOfNodes': 123,
            'DBName': 'string',
            'VpcId': 'string',
            'Encrypted': True|False,
            'KmsKeyId': 'string',
            'EncryptedWithHSM': True|False,
            'AccountsWithRestoreAccess': [
                {
                    'AccountId': 'string',
                    'AccountAlias': 'string'
                },
            ],
            'OwnerAccount': 'string',
            'TotalBackupSizeInMegaBytes': 123.0,
            'ActualIncrementalBackupSizeInMegaBytes': 123.0,
            'BackupProgressInMegaBytes': 123.0,
            'CurrentBackupRateInMegaBytesPerSecond': 123.0,
            'EstimatedSecondsToCompletion': 123,
            'ElapsedTimeInSeconds': 123,
            'SourceRegion': 'string',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'RestorableNodeTypes': [
                'string',
            ],
            'EnhancedVpcRouting': True|False,
            'MaintenanceTrackName': 'string',
            'ManualSnapshotRetentionPeriod': 123,
            'ManualSnapshotRemainingDays': 123,
            'SnapshotRetentionStartTime': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    Contains the output from the DescribeClusterSnapshots action.

    • Marker (string) --

      A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    • Snapshots (list) --

      A list of Snapshot instances.

      • (dict) --

        Describes a snapshot.

        • SnapshotIdentifier (string) --

          The snapshot identifier that is provided in the request.

        • ClusterIdentifier (string) --

          The identifier of the cluster for which the snapshot was taken.

        • SnapshotCreateTime (datetime) --

          The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

        • Status (string) --

          The snapshot status. The value of the status depends on the API operation used:

          • CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".

          • DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".

          • DeleteClusterSnapshot returns status as "deleted".

        • Port (integer) --

          The port that the cluster is listening on.

        • AvailabilityZone (string) --

          The Availability Zone in which the cluster was created.

        • ClusterCreateTime (datetime) --

          The time (UTC) when the cluster was originally created.

        • MasterUsername (string) --

          The admin user name for the cluster.

        • ClusterVersion (string) --

          The version ID of the Amazon Redshift engine that is running on the cluster.

        • EngineFullVersion (string) --

          The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.

        • SnapshotType (string) --

          The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of type "manual".

        • NodeType (string) --

          The node type of the nodes in the cluster.

        • NumberOfNodes (integer) --

          The number of nodes in the cluster.

        • DBName (string) --

          The name of the database that was created when the cluster was created.

        • VpcId (string) --

          The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the output.

        • Encrypted (boolean) --

          If true , the data in the snapshot is encrypted at rest.

        • KmsKeyId (string) --

          The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.

        • EncryptedWithHSM (boolean) --

          A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster. true indicates that the data is encrypted using HSM keys.

        • AccountsWithRestoreAccess (list) --

          A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null if no accounts are authorized. Visible only to the snapshot owner.

          • (dict) --

            Describes an Amazon Web Services account authorized to restore a snapshot.

            • AccountId (string) --

              The identifier of an Amazon Web Services account authorized to restore a snapshot.

            • AccountAlias (string) --

              The identifier of an Amazon Web Services support account authorized to restore a snapshot. For Amazon Web Services Support, the identifier is amazon-redshift-support .

        • OwnerAccount (string) --

          For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.

        • TotalBackupSizeInMegaBytes (float) --

          The size of the complete set of backup data that would be used to restore the cluster.

        • ActualIncrementalBackupSizeInMegaBytes (float) --

          The size of the incremental backup.

        • BackupProgressInMegaBytes (float) --

          The number of megabytes that have been transferred to the snapshot backup.

        • CurrentBackupRateInMegaBytesPerSecond (float) --

          The number of megabytes per second being transferred to the snapshot backup. Returns 0 for a completed backup.

        • EstimatedSecondsToCompletion (integer) --

          The estimate of the time remaining before the snapshot backup will complete. Returns 0 for a completed backup.

        • ElapsedTimeInSeconds (integer) --

          The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed backup to finish.

        • SourceRegion (string) --

          The source region from which the snapshot was copied.

        • Tags (list) --

          The list of tags for the cluster snapshot.

          • (dict) --

            A tag consisting of a name/value pair for a resource.

            • Key (string) --

              The key, or name, for the resource tag.

            • Value (string) --

              The value for the resource tag.

        • RestorableNodeTypes (list) --

          The list of node types that this cluster snapshot is able to restore into.

          • (string) --

        • EnhancedVpcRouting (boolean) --

          An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

          If this option is true , enhanced VPC routing is enabled.

          Default: false

        • MaintenanceTrackName (string) --

          The name of the maintenance track for the snapshot.

        • ManualSnapshotRetentionPeriod (integer) --

          The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

          The value must be either -1 or an integer between 1 and 3,653.

        • ManualSnapshotRemainingDays (integer) --

          The number of days until a manual snapshot will pass its retention period.

        • SnapshotRetentionStartTime (datetime) --

          A timestamp representing the start of the retention period for the snapshot.

DescribeNodeConfigurationOptions (updated) Link ¶
Changes (request)
{'SnapshotArn': 'string'}

Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type.

See also: AWS API Documentation

Request Syntax

client.describe_node_configuration_options(
    ActionType='restore-cluster'|'recommend-node-config'|'resize-cluster',
    ClusterIdentifier='string',
    SnapshotIdentifier='string',
    SnapshotArn='string',
    OwnerAccount='string',
    Filters=[
        {
            'Name': 'NodeType'|'NumberOfNodes'|'EstimatedDiskUtilizationPercent'|'Mode',
            'Operator': 'eq'|'lt'|'gt'|'le'|'ge'|'in'|'between',
            'Values': [
                'string',
            ]
        },
    ],
    Marker='string',
    MaxRecords=123
)
type ActionType

string

param ActionType

[REQUIRED]

The action type to evaluate for possible node configurations. Specify "restore-cluster" to get configuration combinations based on an existing snapshot. Specify "recommend-node-config" to get configuration recommendations based on an existing cluster or snapshot. Specify "resize-cluster" to get configuration combinations for elastic resize based on an existing cluster.

type ClusterIdentifier

string

param ClusterIdentifier

The identifier of the cluster to evaluate for possible node configurations.

type SnapshotIdentifier

string

param SnapshotIdentifier

The identifier of the snapshot to evaluate for possible node configurations.

type SnapshotArn

string

param SnapshotArn

The Amazon Resource Name (ARN) of the snapshot associated with the message to describe node configuration.

type OwnerAccount

string

param OwnerAccount

The Amazon Web Services account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.

type Filters

list

param Filters

A set of name, operator, and value items to filter the results.

  • (dict) --

    A set of elements to filter the returned node configurations.

    • Name (string) --

      The name of the element to filter.

    • Operator (string) --

      The filter operator. If filter Name is NodeType only the 'in' operator is supported. Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 'ge'. Provide two values to evaluate for 'between'. Provide a list of values for 'in'.

    • Values (list) --

      List of values. Compare Name using Operator to Values. If filter Name is NumberOfNodes, then values can range from 0 to 200. If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. For example, filter NumberOfNodes (name) GT (operator) 3 (values).

      • (string) --

type Marker

string

param Marker

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeNodeConfigurationOptions request exceed the value specified in MaxRecords , Amazon Web Services returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

type MaxRecords

integer

param MaxRecords

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 500

Constraints: minimum 100, maximum 500.

rtype

dict

returns

Response Syntax

{
    'NodeConfigurationOptionList': [
        {
            'NodeType': 'string',
            'NumberOfNodes': 123,
            'EstimatedDiskUtilizationPercent': 123.0,
            'Mode': 'standard'|'high-performance'
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • NodeConfigurationOptionList (list) --

      A list of valid node configurations.

      • (dict) --

        A list of node configurations.

        • NodeType (string) --

          The node type, such as, "ds2.8xlarge".

        • NumberOfNodes (integer) --

          The number of nodes.

        • EstimatedDiskUtilizationPercent (float) --

          The estimated disk utilizaton percentage.

        • Mode (string) --

          The category of the node configuration recommendation.

    • Marker (string) --

      A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

RestoreFromClusterSnapshot (updated) Link ¶
Changes (request)
{'SnapshotArn': 'string'}

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 .

See also: AWS API Documentation

Request Syntax

client.restore_from_cluster_snapshot(
    ClusterIdentifier='string',
    SnapshotIdentifier='string',
    SnapshotArn='string',
    SnapshotClusterIdentifier='string',
    Port=123,
    AvailabilityZone='string',
    AllowVersionUpgrade=True|False,
    ClusterSubnetGroupName='string',
    PubliclyAccessible=True|False,
    OwnerAccount='string',
    HsmClientCertificateIdentifier='string',
    HsmConfigurationIdentifier='string',
    ElasticIp='string',
    ClusterParameterGroupName='string',
    ClusterSecurityGroups=[
        'string',
    ],
    VpcSecurityGroupIds=[
        'string',
    ],
    PreferredMaintenanceWindow='string',
    AutomatedSnapshotRetentionPeriod=123,
    ManualSnapshotRetentionPeriod=123,
    KmsKeyId='string',
    NodeType='string',
    EnhancedVpcRouting=True|False,
    AdditionalInfo='string',
    IamRoles=[
        'string',
    ],
    MaintenanceTrackName='string',
    SnapshotScheduleIdentifier='string',
    NumberOfNodes=123,
    AvailabilityZoneRelocation=True|False,
    AquaConfigurationStatus='enabled'|'disabled'|'auto',
    DefaultIamRoleArn='string',
    ReservedNodeId='string',
    TargetReservedNodeOfferingId='string',
    Encrypted=True|False
)
type ClusterIdentifier

string

param ClusterIdentifier

[REQUIRED]

The identifier of the cluster that will be created from restoring the snapshot.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • Alphabetic characters must be lowercase.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique for all clusters within an Amazon Web Services account.

type SnapshotIdentifier

string

param SnapshotIdentifier

The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.

Example: my-snapshot-id

type SnapshotArn

string

param SnapshotArn

The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster.

type SnapshotClusterIdentifier

string

param SnapshotClusterIdentifier

The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

type Port

integer

param Port

The port number on which the cluster accepts connections.

Default: The same port as the original cluster.

Constraints: Must be between 1115 and 65535 .

type AvailabilityZone

string

param AvailabilityZone

The Amazon EC2 Availability Zone in which to restore the cluster.

Default: A random, system-chosen Availability Zone.

Example: us-east-2a

type AllowVersionUpgrade

boolean

param AllowVersionUpgrade

If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.

Default: true

type ClusterSubnetGroupName

string

param ClusterSubnetGroupName

The name of the subnet group where you want to cluster restored.

A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must provide subnet group name where you want the cluster restored.

type PubliclyAccessible

boolean

param PubliclyAccessible

If true , the cluster can be accessed from a public network.

type OwnerAccount

string

param OwnerAccount

The Amazon Web Services account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.

type HsmClientCertificateIdentifier

string

param HsmClientCertificateIdentifier

Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

type HsmConfigurationIdentifier

string

param HsmConfigurationIdentifier

Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.

type ElasticIp

string

param ElasticIp

The elastic IP (EIP) address for the cluster. You don't have to specify the EIP for a publicly accessible cluster with AvailabilityZoneRelocation turned on.

type ClusterParameterGroupName

string

param ClusterParameterGroupName

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

type ClusterSecurityGroups

list

param ClusterSecurityGroups

A list of security groups to be associated with this cluster.

Default: The default cluster security group for Amazon Redshift.

Cluster security groups only apply to clusters outside of VPCs.

  • (string) --

type VpcSecurityGroupIds

list

param VpcSecurityGroupIds

A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.

Default: The default VPC security group is associated with the cluster.

VPC security groups only apply to clusters in VPCs.

  • (string) --

type PreferredMaintenanceWindow

string

param PreferredMaintenanceWindow

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

type AutomatedSnapshotRetentionPeriod

integer

param AutomatedSnapshotRetentionPeriod

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.

Default: The value selected for the cluster from which the snapshot was taken.

Constraints: Must be a value from 0 to 35.

type ManualSnapshotRetentionPeriod

integer

param ManualSnapshotRetentionPeriod

The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

The value must be either -1 or an integer between 1 and 3,653.

type KmsKeyId

string

param KmsKeyId

The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster restored from a shared snapshot. You can also provide the key ID when you restore from an unencrypted snapshot to an encrypted cluster in the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted snapshot in the same account in order to change it. In that case, the restored cluster is encrypted with the new KMS key ID.

type NodeType

string

param NodeType

The node type that the restored cluster will be provisioned with.

Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type or dc2.large instance type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize to a dc2.8large cluster. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide .

type EnhancedVpcRouting

boolean

param EnhancedVpcRouting

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true , enhanced VPC routing is enabled.

Default: false

type AdditionalInfo

string

param AdditionalInfo

Reserved.

type IamRoles

list

param IamRoles

A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.

The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the Amazon Redshift Cluster Management Guide .

  • (string) --

type MaintenanceTrackName

string

param MaintenanceTrackName

The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.

type SnapshotScheduleIdentifier

string

param SnapshotScheduleIdentifier

A unique identifier for the snapshot schedule.

type NumberOfNodes

integer

param NumberOfNodes

The number of nodes specified when provisioning the restored cluster.

type AvailabilityZoneRelocation

boolean

param AvailabilityZoneRelocation

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.

type AquaConfigurationStatus

string

param AquaConfigurationStatus

The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored. Possible values include the following.

  • enabled - Use AQUA if it is available for the current Amazon Web Services Region and Amazon Redshift node type.

  • disabled - Don't use AQUA.

  • auto - Amazon Redshift determines whether to use AQUA.

type DefaultIamRoleArn

string

param DefaultIamRoleArn

The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last modified while it was restored from a snapshot.

type ReservedNodeId

string

param ReservedNodeId

The identifier of the target reserved node offering.

type TargetReservedNodeOfferingId

string

param TargetReservedNodeOfferingId

The identifier of the target reserved node offering.

type Encrypted

boolean

param Encrypted

Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS) and a customer managed key.

rtype

dict

returns

Response Syntax

{
    'Cluster': {
        'ClusterIdentifier': 'string',
        'NodeType': 'string',
        'ClusterStatus': 'string',
        'ClusterAvailabilityStatus': 'string',
        'ModifyStatus': 'string',
        'MasterUsername': 'string',
        'DBName': 'string',
        'Endpoint': {
            'Address': 'string',
            'Port': 123,
            'VpcEndpoints': [
                {
                    'VpcEndpointId': 'string',
                    'VpcId': 'string',
                    'NetworkInterfaces': [
                        {
                            'NetworkInterfaceId': 'string',
                            'SubnetId': 'string',
                            'PrivateIpAddress': 'string',
                            'AvailabilityZone': 'string'
                        },
                    ]
                },
            ]
        },
        'ClusterCreateTime': datetime(2015, 1, 1),
        'AutomatedSnapshotRetentionPeriod': 123,
        'ManualSnapshotRetentionPeriod': 123,
        'ClusterSecurityGroups': [
            {
                'ClusterSecurityGroupName': 'string',
                'Status': 'string'
            },
        ],
        'VpcSecurityGroups': [
            {
                'VpcSecurityGroupId': 'string',
                'Status': 'string'
            },
        ],
        'ClusterParameterGroups': [
            {
                'ParameterGroupName': 'string',
                'ParameterApplyStatus': 'string',
                'ClusterParameterStatusList': [
                    {
                        'ParameterName': 'string',
                        'ParameterApplyStatus': 'string',
                        'ParameterApplyErrorDescription': 'string'
                    },
                ]
            },
        ],
        'ClusterSubnetGroupName': 'string',
        'VpcId': 'string',
        'AvailabilityZone': 'string',
        'PreferredMaintenanceWindow': 'string',
        'PendingModifiedValues': {
            'MasterUserPassword': 'string',
            'NodeType': 'string',
            'NumberOfNodes': 123,
            'ClusterType': 'string',
            'ClusterVersion': 'string',
            'AutomatedSnapshotRetentionPeriod': 123,
            'ClusterIdentifier': 'string',
            'PubliclyAccessible': True|False,
            'EnhancedVpcRouting': True|False,
            'MaintenanceTrackName': 'string',
            'EncryptionType': 'string'
        },
        'ClusterVersion': 'string',
        'AllowVersionUpgrade': True|False,
        'NumberOfNodes': 123,
        'PubliclyAccessible': True|False,
        'Encrypted': True|False,
        'RestoreStatus': {
            'Status': 'string',
            'CurrentRestoreRateInMegaBytesPerSecond': 123.0,
            'SnapshotSizeInMegaBytes': 123,
            'ProgressInMegaBytes': 123,
            'ElapsedTimeInSeconds': 123,
            'EstimatedTimeToCompletionInSeconds': 123
        },
        'DataTransferProgress': {
            'Status': 'string',
            'CurrentRateInMegaBytesPerSecond': 123.0,
            'TotalDataInMegaBytes': 123,
            'DataTransferredInMegaBytes': 123,
            'EstimatedTimeToCompletionInSeconds': 123,
            'ElapsedTimeInSeconds': 123
        },
        'HsmStatus': {
            'HsmClientCertificateIdentifier': 'string',
            'HsmConfigurationIdentifier': 'string',
            'Status': 'string'
        },
        'ClusterSnapshotCopyStatus': {
            'DestinationRegion': 'string',
            'RetentionPeriod': 123,
            'ManualSnapshotRetentionPeriod': 123,
            'SnapshotCopyGrantName': 'string'
        },
        'ClusterPublicKey': 'string',
        'ClusterNodes': [
            {
                'NodeRole': 'string',
                'PrivateIPAddress': 'string',
                'PublicIPAddress': 'string'
            },
        ],
        'ElasticIpStatus': {
            'ElasticIp': 'string',
            'Status': 'string'
        },
        'ClusterRevisionNumber': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'KmsKeyId': 'string',
        'EnhancedVpcRouting': True|False,
        'IamRoles': [
            {
                'IamRoleArn': 'string',
                'ApplyStatus': 'string'
            },
        ],
        'PendingActions': [
            'string',
        ],
        'MaintenanceTrackName': 'string',
        'ElasticResizeNumberOfNodeOptions': 'string',
        'DeferredMaintenanceWindows': [
            {
                'DeferMaintenanceIdentifier': 'string',
                'DeferMaintenanceStartTime': datetime(2015, 1, 1),
                'DeferMaintenanceEndTime': datetime(2015, 1, 1)
            },
        ],
        'SnapshotScheduleIdentifier': 'string',
        'SnapshotScheduleState': 'MODIFYING'|'ACTIVE'|'FAILED',
        'ExpectedNextSnapshotScheduleTime': datetime(2015, 1, 1),
        'ExpectedNextSnapshotScheduleTimeStatus': 'string',
        'NextMaintenanceWindowStartTime': datetime(2015, 1, 1),
        'ResizeInfo': {
            'ResizeType': 'string',
            'AllowCancelResize': True|False
        },
        'AvailabilityZoneRelocationStatus': 'string',
        'ClusterNamespaceArn': 'string',
        'TotalStorageCapacityInMegaBytes': 123,
        'AquaConfiguration': {
            'AquaStatus': 'enabled'|'disabled'|'applying',
            'AquaConfigurationStatus': 'enabled'|'disabled'|'auto'
        },
        'DefaultIamRoleArn': 'string',
        'ReservedNodeExchangeStatus': {
            'ReservedNodeExchangeRequestId': 'string',
            'Status': 'REQUESTED'|'PENDING'|'IN_PROGRESS'|'RETRYING'|'SUCCEEDED'|'FAILED',
            'RequestTime': datetime(2015, 1, 1),
            'SourceReservedNodeId': 'string',
            'SourceReservedNodeType': 'string',
            'SourceReservedNodeCount': 123,
            'TargetReservedNodeOfferingId': 'string',
            'TargetReservedNodeType': 'string',
            'TargetReservedNodeCount': 123
        }
    }
}

Response Structure

  • (dict) --

    • Cluster (dict) --

      Describes a cluster.

      • ClusterIdentifier (string) --

        The unique identifier of the cluster.

      • NodeType (string) --

        The node type for the nodes in the cluster.

      • ClusterStatus (string) --

        The current state of the cluster. Possible values are the following:

        • available

        • available, prep-for-resize

        • available, resize-cleanup

        • cancelling-resize

        • creating

        • deleting

        • final-snapshot

        • hardware-failure

        • incompatible-hsm

        • incompatible-network

        • incompatible-parameters

        • incompatible-restore

        • modifying

        • paused

        • rebooting

        • renaming

        • resizing

        • rotating-keys

        • storage-full

        • updating-hsm

      • ClusterAvailabilityStatus (string) --

        The availability status of the cluster for queries. Possible values are the following:

        • Available - The cluster is available for queries.

        • Unavailable - The cluster is not available for queries.

        • Maintenance - The cluster is intermittently available for queries due to maintenance activities.

        • Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

        • Failed - The cluster failed and is not available for queries.

      • ModifyStatus (string) --

        The status of a modify operation, if any, initiated for the cluster.

      • MasterUsername (string) --

        The admin user name for the cluster. This name is used to connect to the database that is specified in the DBName parameter.

      • DBName (string) --

        The name of the initial database that was created when the cluster was created. This same name is returned for the life of the cluster. If an initial database was not specified, a database named dev dev was created by default.

      • Endpoint (dict) --

        The connection endpoint.

        • Address (string) --

          The DNS address of the Cluster.

        • Port (integer) --

          The port that the database engine is listening on.

        • VpcEndpoints (list) --

          Describes a connection endpoint.

          • (dict) --

            The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.

            • VpcEndpointId (string) --

              The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

            • VpcId (string) --

              The VPC identifier that the endpoint is associated.

            • NetworkInterfaces (list) --

              One or more network interfaces of the endpoint. Also known as an interface endpoint.

              • (dict) --

                Describes a network interface.

                • NetworkInterfaceId (string) --

                  The network interface identifier.

                • SubnetId (string) --

                  The subnet identifier.

                • PrivateIpAddress (string) --

                  The IPv4 address of the network interface within the subnet.

                • AvailabilityZone (string) --

                  The Availability Zone.

      • ClusterCreateTime (datetime) --

        The date and time that the cluster was created.

      • AutomatedSnapshotRetentionPeriod (integer) --

        The number of days that automatic cluster snapshots are retained.

      • ManualSnapshotRetentionPeriod (integer) --

        The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

        The value must be either -1 or an integer between 1 and 3,653.

      • ClusterSecurityGroups (list) --

        A list of cluster security group that are associated with the cluster. Each security group is represented by an element that contains ClusterSecurityGroup.Name and ClusterSecurityGroup.Status subelements.

        Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which are listed by the VpcSecurityGroups parameter.

        • (dict) --

          Describes a cluster security group.

          • ClusterSecurityGroupName (string) --

            The name of the cluster security group.

          • Status (string) --

            The status of the cluster security group.

      • VpcSecurityGroups (list) --

        A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are associated with the cluster. This parameter is returned only if the cluster is in a VPC.

        • (dict) --

          Describes the members of a VPC security group.

          • VpcSecurityGroupId (string) --

            The identifier of the VPC security group.

          • Status (string) --

            The status of the VPC security group.

      • ClusterParameterGroups (list) --

        The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is returned with its status.

        • (dict) --

          Describes the status of a parameter group.

          • ParameterGroupName (string) --

            The name of the cluster parameter group.

          • ParameterApplyStatus (string) --

            The status of parameter updates.

          • ClusterParameterStatusList (list) --

            The list of parameter statuses.

            For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide .

            • (dict) --

              Describes the status of a parameter group.

              • ParameterName (string) --

                The name of the parameter.

              • ParameterApplyStatus (string) --

                The status of the parameter that indicates whether the parameter is in sync with the database, waiting for a cluster reboot, or encountered an error when being applied.

                The following are possible statuses and descriptions.

                • in-sync : The parameter value is in sync with the database.

                • pending-reboot : The parameter value will be applied after the cluster reboots.

                • applying : The parameter value is being applied to the database.

                • invalid-parameter : Cannot apply the parameter value because it has an invalid value or syntax.

                • apply-deferred : The parameter contains static property changes. The changes are deferred until the cluster reboots.

                • apply-error : Cannot connect to the cluster. The parameter change will be applied after the cluster reboots.

                • unknown-error : Cannot apply the parameter change right now. The change will be applied after the cluster reboots.

              • ParameterApplyErrorDescription (string) --

                The error that prevented the parameter from being applied to the database.

      • ClusterSubnetGroupName (string) --

        The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC.

      • VpcId (string) --

        The identifier of the VPC the cluster is in, if the cluster is in a VPC.

      • AvailabilityZone (string) --

        The name of the Availability Zone in which the cluster is located.

      • PreferredMaintenanceWindow (string) --

        The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.

      • PendingModifiedValues (dict) --

        A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are identified by subelements.

        • MasterUserPassword (string) --

          The pending or in-progress change of the admin user password for the cluster.

        • NodeType (string) --

          The pending or in-progress change of the cluster's node type.

        • NumberOfNodes (integer) --

          The pending or in-progress change of the number of nodes in the cluster.

        • ClusterType (string) --

          The pending or in-progress change of the cluster type.

        • ClusterVersion (string) --

          The pending or in-progress change of the service version.

        • AutomatedSnapshotRetentionPeriod (integer) --

          The pending or in-progress change of the automated snapshot retention period.

        • ClusterIdentifier (string) --

          The pending or in-progress change of the new identifier for the cluster.

        • PubliclyAccessible (boolean) --

          The pending or in-progress change of the ability to connect to the cluster from the public network.

        • EnhancedVpcRouting (boolean) --

          An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

          If this option is true , enhanced VPC routing is enabled.

          Default: false

        • MaintenanceTrackName (string) --

          The name of the maintenance track that the cluster will change to during the next maintenance window.

        • EncryptionType (string) --

          The encryption type for a cluster. Possible values are: KMS and None.

      • ClusterVersion (string) --

        The version ID of the Amazon Redshift engine that is running on the cluster.

      • AllowVersionUpgrade (boolean) --

        A boolean value that, if true , indicates that major version upgrades will be applied automatically to the cluster during the maintenance window.

      • NumberOfNodes (integer) --

        The number of compute nodes in the cluster.

      • PubliclyAccessible (boolean) --

        A boolean value that, if true , indicates that the cluster can be accessed from a public network.

      • Encrypted (boolean) --

        A boolean value that, if true , indicates that data in the cluster is encrypted at rest.

      • RestoreStatus (dict) --

        A value that describes the status of a cluster restore action. This parameter returns null if the cluster was not created by restoring a snapshot.

        • Status (string) --

          The status of the restore action. Returns starting, restoring, completed, or failed.

        • CurrentRestoreRateInMegaBytesPerSecond (float) --

          The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup. This field is only updated when you restore to DC2 and DS2 node types.

        • SnapshotSizeInMegaBytes (integer) --

          The size of the set of snapshot data used to restore the cluster. This field is only updated when you restore to DC2 and DS2 node types.

        • ProgressInMegaBytes (integer) --

          The number of megabytes that have been transferred from snapshot storage. This field is only updated when you restore to DC2 and DS2 node types.

        • ElapsedTimeInSeconds (integer) --

          The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish. This field is only updated when you restore to DC2 and DS2 node types.

        • EstimatedTimeToCompletionInSeconds (integer) --

          The estimate of the time remaining before the restore will complete. Returns 0 for a completed restore. This field is only updated when you restore to DC2 and DS2 node types.

      • DataTransferProgress (dict) --

        • Status (string) --

          Describes the status of the cluster. While the transfer is in progress the status is transferringdata .

        • CurrentRateInMegaBytesPerSecond (float) --

          Describes the data transfer rate in MB's per second.

        • TotalDataInMegaBytes (integer) --

          Describes the total amount of data to be transfered in megabytes.

        • DataTransferredInMegaBytes (integer) --

          Describes the total amount of data that has been transfered in MB's.

        • EstimatedTimeToCompletionInSeconds (integer) --

          Describes the estimated number of seconds remaining to complete the transfer.

        • ElapsedTimeInSeconds (integer) --

          Describes the number of seconds that have elapsed during the data transfer.

      • HsmStatus (dict) --

        A value that reports whether the Amazon Redshift cluster has finished applying any hardware security module (HSM) settings changes specified in a modify cluster command.

        Values: active, applying

        • HsmClientCertificateIdentifier (string) --

          Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

        • HsmConfigurationIdentifier (string) --

          Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.

        • Status (string) --

          Reports whether the Amazon Redshift cluster has finished applying any HSM settings changes specified in a modify cluster command.

          Values: active, applying

      • ClusterSnapshotCopyStatus (dict) --

        A value that returns the destination region and retention period that are configured for cross-region snapshot copy.

        • DestinationRegion (string) --

          The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.

        • RetentionPeriod (integer) --

          The number of days that automated snapshots are retained in the destination region after they are copied from a source region.

        • ManualSnapshotRetentionPeriod (integer) --

          The number of days that automated snapshots are retained in the destination region after they are copied from a source region. If the value is -1, the manual snapshot is retained indefinitely.

          The value must be either -1 or an integer between 1 and 3,653.

        • SnapshotCopyGrantName (string) --

          The name of the snapshot copy grant.

      • ClusterPublicKey (string) --

        The public key for the cluster.

      • ClusterNodes (list) --

        The nodes in the cluster.

        • (dict) --

          The identifier of a node in a cluster.

          • NodeRole (string) --

            Whether the node is a leader node or a compute node.

          • PrivateIPAddress (string) --

            The private IP address of a node within a cluster.

          • PublicIPAddress (string) --

            The public IP address of a node within a cluster.

      • ElasticIpStatus (dict) --

        The status of the elastic IP (EIP) address.

        • ElasticIp (string) --

          The elastic IP (EIP) address for the cluster.

        • Status (string) --

          The status of the elastic IP (EIP) address.

      • ClusterRevisionNumber (string) --

        The specific revision number of the database in the cluster.

      • Tags (list) --

        The list of tags for the cluster.

        • (dict) --

          A tag consisting of a name/value pair for a resource.

          • Key (string) --

            The key, or name, for the resource tag.

          • Value (string) --

            The value for the resource tag.

      • KmsKeyId (string) --

        The Key Management Service (KMS) key ID of the encryption key used to encrypt data in the cluster.

      • EnhancedVpcRouting (boolean) --

        An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

        If this option is true , enhanced VPC routing is enabled.

        Default: false

      • IamRoles (list) --

        A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services.

        • (dict) --

          An Identity and Access Management (IAM) role that can be used by the associated Amazon Redshift cluster to access other Amazon Web Services services.

          • IamRoleArn (string) --

            The Amazon Resource Name (ARN) of the IAM role, for example, arn:aws:iam::123456789012:role/RedshiftCopyUnload .

          • ApplyStatus (string) --

            A value that describes the status of the IAM role's association with an Amazon Redshift cluster.

            The following are possible statuses and descriptions.

            • in-sync : The role is available for use by the cluster.

            • adding : The role is in the process of being associated with the cluster.

            • removing : The role is in the process of being disassociated with the cluster.

      • PendingActions (list) --

        Cluster operations that are waiting to be started.

        • (string) --

      • MaintenanceTrackName (string) --

        The name of the maintenance track for the cluster.

      • ElasticResizeNumberOfNodeOptions (string) --

        The number of nodes that you can resize the cluster to with the elastic resize method.

      • DeferredMaintenanceWindows (list) --

        Describes a group of DeferredMaintenanceWindow objects.

        • (dict) --

          Describes a deferred maintenance window

          • DeferMaintenanceIdentifier (string) --

            A unique identifier for the maintenance window.

          • DeferMaintenanceStartTime (datetime) --

            A timestamp for the beginning of the time period when we defer maintenance.

          • DeferMaintenanceEndTime (datetime) --

            A timestamp for the end of the time period when we defer maintenance.

      • SnapshotScheduleIdentifier (string) --

        A unique identifier for the cluster snapshot schedule.

      • SnapshotScheduleState (string) --

        The current state of the cluster snapshot schedule.

      • ExpectedNextSnapshotScheduleTime (datetime) --

        The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

      • ExpectedNextSnapshotScheduleTimeStatus (string) --

        The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

        • OnTrack - The next snapshot is expected to be taken on time.

        • Pending - The next snapshot is pending to be taken.

      • NextMaintenanceWindowStartTime (datetime) --

        The date and time in UTC when system maintenance can begin.

      • ResizeInfo (dict) --

        Returns the following:

        • AllowCancelResize: a boolean value indicating if the resize operation can be cancelled.

        • ResizeType: Returns ClassicResize

        • ResizeType (string) --

          Returns the value ClassicResize .

        • AllowCancelResize (boolean) --

          A boolean value indicating if the resize operation can be cancelled.

      • AvailabilityZoneRelocationStatus (string) --

        Describes the status of the Availability Zone relocation operation.

      • ClusterNamespaceArn (string) --

        The namespace Amazon Resource Name (ARN) of the cluster.

      • TotalStorageCapacityInMegaBytes (integer) --

        The total storage capacity of the cluster in megabytes.

      • AquaConfiguration (dict) --

        The AQUA (Advanced Query Accelerator) configuration of the cluster.

        • AquaStatus (string) --

          The value indicates the status of AQUA on the cluster. Possible values include the following.

          • enabled - AQUA is enabled.

          • disabled - AQUA is not enabled.

          • applying - AQUA status is being applied.

        • AquaConfigurationStatus (string) --

          The value represents how the cluster is configured to use AQUA. Possible values include the following.

          • enabled - Use AQUA if it is available for the current Amazon Web Services Region and Amazon Redshift node type.

          • disabled - Don't use AQUA.

          • auto - Amazon Redshift determines whether to use AQUA.

      • DefaultIamRoleArn (string) --

        The Amazon Resource Name (ARN) for the IAM role set as default for the cluster.

      • ReservedNodeExchangeStatus (dict) --

        The status of the reserved-node exchange request. Statuses include in-progress and requested.

        • ReservedNodeExchangeRequestId (string) --

          The identifier of the reserved-node exchange request.

        • Status (string) --

          The status of the reserved-node exchange request. Statuses include in-progress and requested.

        • RequestTime (datetime) --

          A date and time that indicate when the reserved-node exchange was requested.

        • SourceReservedNodeId (string) --

          The identifier of the source reserved node.

        • SourceReservedNodeType (string) --

          The source reserved-node type, for example ds2.xlarge.

        • SourceReservedNodeCount (integer) --

          The source reserved-node count in the cluster.

        • TargetReservedNodeOfferingId (string) --

          The identifier of the target reserved node offering.

        • TargetReservedNodeType (string) --

          The node type of the target reserved node, for example ra3.4xlarge.

        • TargetReservedNodeCount (integer) --

          The count of target reserved nodes in the cluster.

RevokeSnapshotAccess (updated) Link ¶
Changes (request)
{'SnapshotArn': 'string'}

Removes the ability of the specified Amazon Web Services 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 .

See also: AWS API Documentation

Request Syntax

client.revoke_snapshot_access(
    SnapshotIdentifier='string',
    SnapshotArn='string',
    SnapshotClusterIdentifier='string',
    AccountWithRestoreAccess='string'
)
type SnapshotIdentifier

string

param SnapshotIdentifier

The identifier of the snapshot that the account can no longer access.

type SnapshotArn

string

param SnapshotArn

The Amazon Resource Name (ARN) of the snapshot associated with the message to revoke access.

type SnapshotClusterIdentifier

string

param SnapshotClusterIdentifier

The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

type AccountWithRestoreAccess

string

param AccountWithRestoreAccess

[REQUIRED]

The identifier of the Amazon Web Services account that can no longer restore the specified snapshot.

rtype

dict

returns

Response Syntax

{
    'Snapshot': {
        'SnapshotIdentifier': 'string',
        'ClusterIdentifier': 'string',
        'SnapshotCreateTime': datetime(2015, 1, 1),
        'Status': 'string',
        'Port': 123,
        'AvailabilityZone': 'string',
        'ClusterCreateTime': datetime(2015, 1, 1),
        'MasterUsername': 'string',
        'ClusterVersion': 'string',
        'EngineFullVersion': 'string',
        'SnapshotType': 'string',
        'NodeType': 'string',
        'NumberOfNodes': 123,
        'DBName': 'string',
        'VpcId': 'string',
        'Encrypted': True|False,
        'KmsKeyId': 'string',
        'EncryptedWithHSM': True|False,
        'AccountsWithRestoreAccess': [
            {
                'AccountId': 'string',
                'AccountAlias': 'string'
            },
        ],
        'OwnerAccount': 'string',
        'TotalBackupSizeInMegaBytes': 123.0,
        'ActualIncrementalBackupSizeInMegaBytes': 123.0,
        'BackupProgressInMegaBytes': 123.0,
        'CurrentBackupRateInMegaBytesPerSecond': 123.0,
        'EstimatedSecondsToCompletion': 123,
        'ElapsedTimeInSeconds': 123,
        'SourceRegion': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'RestorableNodeTypes': [
            'string',
        ],
        'EnhancedVpcRouting': True|False,
        'MaintenanceTrackName': 'string',
        'ManualSnapshotRetentionPeriod': 123,
        'ManualSnapshotRemainingDays': 123,
        'SnapshotRetentionStartTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • Snapshot (dict) --

      Describes a snapshot.

      • SnapshotIdentifier (string) --

        The snapshot identifier that is provided in the request.

      • ClusterIdentifier (string) --

        The identifier of the cluster for which the snapshot was taken.

      • SnapshotCreateTime (datetime) --

        The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

      • Status (string) --

        The snapshot status. The value of the status depends on the API operation used:

        • CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating".

        • DescribeClusterSnapshots returns status as "creating", "available", "final snapshot", or "failed".

        • DeleteClusterSnapshot returns status as "deleted".

      • Port (integer) --

        The port that the cluster is listening on.

      • AvailabilityZone (string) --

        The Availability Zone in which the cluster was created.

      • ClusterCreateTime (datetime) --

        The time (UTC) when the cluster was originally created.

      • MasterUsername (string) --

        The admin user name for the cluster.

      • ClusterVersion (string) --

        The version ID of the Amazon Redshift engine that is running on the cluster.

      • EngineFullVersion (string) --

        The cluster version of the cluster used to create the snapshot. For example, 1.0.15503.

      • SnapshotType (string) --

        The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of type "manual".

      • NodeType (string) --

        The node type of the nodes in the cluster.

      • NumberOfNodes (integer) --

        The number of nodes in the cluster.

      • DBName (string) --

        The name of the database that was created when the cluster was created.

      • VpcId (string) --

        The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the output.

      • Encrypted (boolean) --

        If true , the data in the snapshot is encrypted at rest.

      • KmsKeyId (string) --

        The Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.

      • EncryptedWithHSM (boolean) --

        A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster. true indicates that the data is encrypted using HSM keys.

      • AccountsWithRestoreAccess (list) --

        A list of the Amazon Web Services accounts authorized to restore the snapshot. Returns null if no accounts are authorized. Visible only to the snapshot owner.

        • (dict) --

          Describes an Amazon Web Services account authorized to restore a snapshot.

          • AccountId (string) --

            The identifier of an Amazon Web Services account authorized to restore a snapshot.

          • AccountAlias (string) --

            The identifier of an Amazon Web Services support account authorized to restore a snapshot. For Amazon Web Services Support, the identifier is amazon-redshift-support .

      • OwnerAccount (string) --

        For manual snapshots, the Amazon Web Services account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.

      • TotalBackupSizeInMegaBytes (float) --

        The size of the complete set of backup data that would be used to restore the cluster.

      • ActualIncrementalBackupSizeInMegaBytes (float) --

        The size of the incremental backup.

      • BackupProgressInMegaBytes (float) --

        The number of megabytes that have been transferred to the snapshot backup.

      • CurrentBackupRateInMegaBytesPerSecond (float) --

        The number of megabytes per second being transferred to the snapshot backup. Returns 0 for a completed backup.

      • EstimatedSecondsToCompletion (integer) --

        The estimate of the time remaining before the snapshot backup will complete. Returns 0 for a completed backup.

      • ElapsedTimeInSeconds (integer) --

        The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed backup to finish.

      • SourceRegion (string) --

        The source region from which the snapshot was copied.

      • Tags (list) --

        The list of tags for the cluster snapshot.

        • (dict) --

          A tag consisting of a name/value pair for a resource.

          • Key (string) --

            The key, or name, for the resource tag.

          • Value (string) --

            The value for the resource tag.

      • RestorableNodeTypes (list) --

        The list of node types that this cluster snapshot is able to restore into.

        • (string) --

      • EnhancedVpcRouting (boolean) --

        An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

        If this option is true , enhanced VPC routing is enabled.

        Default: false

      • MaintenanceTrackName (string) --

        The name of the maintenance track for the snapshot.

      • ManualSnapshotRetentionPeriod (integer) --

        The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

        The value must be either -1 or an integer between 1 and 3,653.

      • ManualSnapshotRemainingDays (integer) --

        The number of days until a manual snapshot will pass its retention period.

      • SnapshotRetentionStartTime (datetime) --

        A timestamp representing the start of the retention period for the snapshot.