RDS / Client / describe_db_snapshots

describe_db_snapshots#

RDS.Client.describe_db_snapshots(**kwargs)#

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

See also: AWS API Documentation

Request Syntax

response = client.describe_db_snapshots(
    DBInstanceIdentifier='string',
    DBSnapshotIdentifier='string',
    SnapshotType='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    MaxRecords=123,
    Marker='string',
    IncludeShared=True|False,
    IncludePublic=True|False,
    DbiResourceId='string'
)
Parameters:
  • DBInstanceIdentifier (string) –

    The ID of the DB instance to retrieve the list of DB snapshots for. This parameter isn’t case-sensitive.

    Constraints:

    • If supplied, must match the identifier of an existing DBInstance.

  • DBSnapshotIdentifier (string) –

    A specific DB snapshot identifier to describe. This value is stored as a lowercase string.

    Constraints:

    • If supplied, must match the identifier of an existing DBSnapshot.

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

  • SnapshotType (string) –

    The type of snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my Amazon Web Services account.

    • manual - Return all DB snapshots that have been taken by my Amazon Web Services account.

    • shared - Return all manual DB snapshots that have been shared to my Amazon Web Services account.

    • public - Return all DB snapshots that have been marked as public.

    • awsbackup - Return the DB snapshots managed by the Amazon Web Services Backup service. For information about Amazon Web Services Backup, see the Amazon Web Services Backup Developer Guide. The awsbackup type does not apply to Aurora.

    If you don’t specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by enabling the IncludeShared parameter. You can include public snapshots with these results by enabling the IncludePublic parameter.

    The IncludeShared and IncludePublic parameters don’t apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn’t apply when SnapshotType is set to shared. The IncludeShared parameter doesn’t apply when SnapshotType is set to public.

  • Filters (list) –

    A filter that specifies one or more DB snapshots to describe.

    Supported filters:

    • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs).

    • db-snapshot-id - Accepts DB snapshot identifiers.

    • dbi-resource-id - Accepts identifiers of source DB instances.

    • snapshot-type - Accepts types of DB snapshots.

    • engine - Accepts names of database engines.

    • (dict) –

      A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

      Note

      Currently, wildcards are not supported in filters.

      The following actions can be filtered:

      • DescribeDBClusterBacktracks

      • DescribeDBClusterEndpoints

      • DescribeDBClusters

      • DescribeDBInstances

      • DescribeDBRecommendations

      • DescribeDBShardGroups

      • DescribePendingMaintenanceActions

      • Name (string) – [REQUIRED]

        The name of the filter. Filter names are case-sensitive.

      • Values (list) – [REQUIRED]

        One or more filter values. Filter values are case-sensitive.

        • (string) –

  • MaxRecords (integer) –

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

  • Marker (string) – An optional pagination token provided by a previous DescribeDBSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

  • IncludeShared (boolean) –

    Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

    You can give an Amazon Web Services account permission to restore a manual DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

    This setting doesn’t apply to RDS Custom.

  • IncludePublic (boolean) –

    Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

    You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

    This setting doesn’t apply to RDS Custom.

  • DbiResourceId (string) – A specific DB resource ID to describe.

Return type:

dict

Returns:

Response Syntax

{
    'Marker': 'string',
    'DBSnapshots': [
        {
            'DBSnapshotIdentifier': 'string',
            'DBInstanceIdentifier': 'string',
            'SnapshotCreateTime': datetime(2015, 1, 1),
            'Engine': 'string',
            'AllocatedStorage': 123,
            'Status': 'string',
            'Port': 123,
            'AvailabilityZone': 'string',
            'VpcId': 'string',
            'InstanceCreateTime': datetime(2015, 1, 1),
            'MasterUsername': 'string',
            'EngineVersion': 'string',
            'LicenseModel': 'string',
            'SnapshotType': 'string',
            'Iops': 123,
            'OptionGroupName': 'string',
            'PercentProgress': 123,
            'SourceRegion': 'string',
            'SourceDBSnapshotIdentifier': 'string',
            'StorageType': 'string',
            'TdeCredentialArn': 'string',
            'Encrypted': True|False,
            'KmsKeyId': 'string',
            'DBSnapshotArn': 'string',
            'Timezone': 'string',
            'IAMDatabaseAuthenticationEnabled': True|False,
            'ProcessorFeatures': [
                {
                    'Name': 'string',
                    'Value': 'string'
                },
            ],
            'DbiResourceId': 'string',
            'TagList': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'OriginalSnapshotCreateTime': datetime(2015, 1, 1),
            'SnapshotDatabaseTime': datetime(2015, 1, 1),
            'SnapshotTarget': 'string',
            'StorageThroughput': 123,
            'DBSystemId': 'string',
            'DedicatedLogVolume': True|False,
            'MultiTenant': True|False
        },
    ]
}

Response Structure

  • (dict) –

    Contains the result of a successful invocation of the DescribeDBSnapshots action.

    • Marker (string) –

      An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    • DBSnapshots (list) –

      A list of DBSnapshot instances.

      • (dict) –

        Contains the details of an Amazon RDS DB snapshot.

        This data type is used as a response element in the DescribeDBSnapshots action.

        • DBSnapshotIdentifier (string) –

          Specifies the identifier for the DB snapshot.

        • DBInstanceIdentifier (string) –

          Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

        • SnapshotCreateTime (datetime) –

          Specifies when the snapshot was taken in Coordinated Universal Time (UTC). Changes for the copy when the snapshot is copied.

        • Engine (string) –

          Specifies the name of the database engine.

        • AllocatedStorage (integer) –

          Specifies the allocated storage size in gibibytes (GiB).

        • Status (string) –

          Specifies the status of this DB snapshot.

        • Port (integer) –

          Specifies the port that the database engine was listening on at the time of the snapshot.

        • AvailabilityZone (string) –

          Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

        • VpcId (string) –

          Provides the VPC ID associated with the DB snapshot.

        • InstanceCreateTime (datetime) –

          Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from which the snapshot was taken, was created.

        • MasterUsername (string) –

          Provides the master username for the DB snapshot.

        • EngineVersion (string) –

          Specifies the version of the database engine.

        • LicenseModel (string) –

          License model information for the restored DB instance.

        • SnapshotType (string) –

          Provides the type of the DB snapshot.

        • Iops (integer) –

          Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

        • OptionGroupName (string) –

          Provides the option group name for the DB snapshot.

        • PercentProgress (integer) –

          The percentage of the estimated data that has been transferred.

        • SourceRegion (string) –

          The Amazon Web Services Region that the DB snapshot was created in or copied from.

        • SourceDBSnapshotIdentifier (string) –

          The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied from. It only has a value in the case of a cross-account or cross-Region copy.

        • StorageType (string) –

          Specifies the storage type associated with DB snapshot.

        • TdeCredentialArn (string) –

          The ARN from the key store with which to associate the instance for TDE encryption.

        • Encrypted (boolean) –

          Indicates whether the DB snapshot is encrypted.

        • KmsKeyId (string) –

          If Encrypted is true, the Amazon Web Services KMS key identifier for the encrypted DB snapshot.

          The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

        • DBSnapshotArn (string) –

          The Amazon Resource Name (ARN) for the DB snapshot.

        • Timezone (string) –

          The time zone of the DB snapshot. In most cases, the Timezone element is empty. Timezone content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.

        • IAMDatabaseAuthenticationEnabled (boolean) –

          Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

        • ProcessorFeatures (list) –

          The number of CPU cores and the number of threads per core for the DB instance class of the DB instance when the DB snapshot was created.

          • (dict) –

            Contains the processor features of a DB instance class.

            To specify the number of CPU cores, use the coreCount feature name for the Name parameter. To specify the number of threads per core, use the threadsPerCore feature name for the Name parameter.

            You can set the processor features of the DB instance class for a DB instance when you call one of the following actions:

            • CreateDBInstance

            • ModifyDBInstance

            • RestoreDBInstanceFromDBSnapshot

            • RestoreDBInstanceFromS3

            • RestoreDBInstanceToPointInTime

            You can view the valid processor values for a particular instance class by calling the DescribeOrderableDBInstanceOptions action and specifying the instance class for the DBInstanceClass parameter.

            In addition, you can use the following actions for DB instance class processor information:

            • DescribeDBInstances

            • DescribeDBSnapshots

            • DescribeValidDBInstanceModifications

            If you call DescribeDBInstances, ProcessorFeature returns non-null values only if the following conditions are met:

            • You are accessing an Oracle DB instance.

            • Your Oracle DB instance class supports configuring the number of CPU cores and threads per core.

            • The current number CPU cores and threads is set to a non-default value.

            For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

            • Name (string) –

              The name of the processor feature. Valid names are coreCount and threadsPerCore.

            • Value (string) –

              The value of a processor feature name.

        • DbiResourceId (string) –

          The identifier for the source DB instance, which can’t be changed and which is unique to an Amazon Web Services Region.

        • TagList (list) –

          A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

          • (dict) –

            Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

            For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS Resources in the Amazon Aurora User Guide.

            • Key (string) –

              A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can’t be prefixed with aws: or rds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).

            • Value (string) –

              A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can’t be prefixed with aws: or rds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).

        • OriginalSnapshotCreateTime (datetime) –

          Specifies the time of the CreateDBSnapshot operation in Coordinated Universal Time (UTC). Doesn’t change when the snapshot is copied.

        • SnapshotDatabaseTime (datetime) –

          The timestamp of the most recent transaction applied to the database that you’re backing up. Thus, if you restore a snapshot, SnapshotDatabaseTime is the most recent transaction in the restored DB instance. In contrast, originalSnapshotCreateTime specifies the system time that the snapshot completed.

          If you back up a read replica, you can determine the replica lag by comparing SnapshotDatabaseTime with originalSnapshotCreateTime. For example, if originalSnapshotCreateTime is two hours later than SnapshotDatabaseTime, then the replica lag is two hours.

        • SnapshotTarget (string) –

          Specifies where manual snapshots are stored: Amazon Web Services Outposts or the Amazon Web Services Region.

        • StorageThroughput (integer) –

          Specifies the storage throughput for the DB snapshot.

        • DBSystemId (string) –

          The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. The Oracle SID is also the name of your CDB.

        • DedicatedLogVolume (boolean) –

          Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

        • MultiTenant (boolean) –

          Indicates whether the snapshot is of a DB instance using the multi-tenant configuration (TRUE) or the single-tenant configuration (FALSE).

Exceptions

  • RDS.Client.exceptions.DBSnapshotNotFoundFault

Examples

This example lists all manually-created, shared snapshots for the specified DB instance.

response = client.describe_db_snapshots(
    DBInstanceIdentifier='mymysqlinstance',
    IncludePublic=False,
    IncludeShared=True,
    SnapshotType='manual',
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}