copy_db_cluster_snapshot

copy_db_cluster_snapshot(**kwargs)

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

See also: AWS API Documentation

Request Syntax

response = client.copy_db_cluster_snapshot(
    SourceDBClusterSnapshotIdentifier='string',
    TargetDBClusterSnapshotIdentifier='string',
    KmsKeyId='string',
    CopyTags=True|False,
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    SourceRegion='string'
)
Parameters
  • SourceDBClusterSnapshotIdentifier (string) --

    [REQUIRED]

    The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

    Constraints:

    • Must specify a valid system snapshot in the "available" state.
    • Specify a valid DB snapshot identifier.

    Example: my-cluster-snapshot1

  • TargetDBClusterSnapshotIdentifier (string) --

    [REQUIRED]

    The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.
    • First character must be a letter.
    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster-snapshot2

  • KmsKeyId (string) --

    The Amazon Amazon KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you copy an encrypted DB cluster snapshot from your Amazon account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId , then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

    If you copy an encrypted DB cluster snapshot that is shared from another Amazon account, then you must specify a value for KmsKeyId .

    KMS encryption keys are specific to the Amazon Region that they are created in, and you can't use encryption keys from one Amazon Region in another Amazon Region.

    You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

  • PreSignedUrl (string) --

    Not currently supported.

    Please note that this parameter is automatically populated if it is not provided. Including this parameter is not required
  • CopyTags (boolean) -- True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.
  • Tags (list) --

    The tags to assign to the new DB cluster snapshot copy.

    • (dict) --

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

      • 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 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 the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").

  • SourceRegion (string) -- The ID of the region that contains the snapshot to be copied.
Return type

dict

Returns

Response Syntax

{
    'DBClusterSnapshot': {
        'AvailabilityZones': [
            'string',
        ],
        'DBClusterSnapshotIdentifier': 'string',
        'DBClusterIdentifier': 'string',
        'SnapshotCreateTime': datetime(2015, 1, 1),
        'Engine': 'string',
        'AllocatedStorage': 123,
        'Status': 'string',
        'Port': 123,
        'VpcId': 'string',
        'ClusterCreateTime': datetime(2015, 1, 1),
        'MasterUsername': 'string',
        'EngineVersion': 'string',
        'LicenseModel': 'string',
        'SnapshotType': 'string',
        'PercentProgress': 123,
        'StorageEncrypted': True|False,
        'KmsKeyId': 'string',
        'DBClusterSnapshotArn': 'string',
        'SourceDBClusterSnapshotArn': 'string',
        'IAMDatabaseAuthenticationEnabled': True|False
    }
}

Response Structure

  • (dict) --

    • DBClusterSnapshot (dict) --

      Contains the details for an Amazon Neptune DB cluster snapshot

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

      • AvailabilityZones (list) --

        Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

        • (string) --
      • DBClusterSnapshotIdentifier (string) --

        Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot.

        After you restore a DB cluster using a DBClusterSnapshotIdentifier , you must specify the same DBClusterSnapshotIdentifier for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed.

        However, if you don't specify the DBClusterSnapshotIdentifier , an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, the DB cluster is restored from the snapshot specified by the DBClusterSnapshotIdentifier , and the original DB cluster is deleted.

      • DBClusterIdentifier (string) --

        Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

      • SnapshotCreateTime (datetime) --

        Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

      • 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 cluster snapshot.

      • Port (integer) --

        Specifies the port that the DB cluster was listening on at the time of the snapshot.

      • VpcId (string) --

        Provides the VPC ID associated with the DB cluster snapshot.

      • ClusterCreateTime (datetime) --

        Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

      • MasterUsername (string) --

        Not supported by Neptune.

      • EngineVersion (string) --

        Provides the version of the database engine for this DB cluster snapshot.

      • LicenseModel (string) --

        Provides the license model information for this DB cluster snapshot.

      • SnapshotType (string) --

        Provides the type of the DB cluster snapshot.

      • PercentProgress (integer) --

        Specifies the percentage of the estimated data that has been transferred.

      • StorageEncrypted (boolean) --

        Specifies whether the DB cluster snapshot is encrypted.

      • KmsKeyId (string) --

        If StorageEncrypted is true, the Amazon KMS key identifier for the encrypted DB cluster snapshot.

      • DBClusterSnapshotArn (string) --

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

      • SourceDBClusterSnapshotArn (string) --

        If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

      • IAMDatabaseAuthenticationEnabled (boolean) --

        True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

Exceptions

  • Neptune.Client.exceptions.DBClusterSnapshotAlreadyExistsFault
  • Neptune.Client.exceptions.DBClusterSnapshotNotFoundFault
  • Neptune.Client.exceptions.InvalidDBClusterStateFault
  • Neptune.Client.exceptions.InvalidDBClusterSnapshotStateFault
  • Neptune.Client.exceptions.SnapshotQuotaExceededFault
  • Neptune.Client.exceptions.KMSKeyNotAccessibleFault