- Navigation GuideYou are on a Command (operation) page with structural examples. Use the navigation breadcrumb if you would like to return to the Client landing page.
CopyDBClusterSnapshotCommand
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.
You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot
operation is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, you must provide the following values:
-
KmsKeyId
- The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region. -
TargetDBClusterSnapshotIdentifier
- The identifier for the new copy of the DB cluster snapshot in the destination Amazon Web Services Region. -
SourceDBClusterSnapshotIdentifier
- The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source Amazon Web Services Region and is the same value as theSourceDBClusterSnapshotIdentifier
in the presigned URL.
To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier
while that DB cluster snapshot is in "copying" status.
For more information on copying encrypted Amazon Aurora DB cluster snapshots from one Amazon Web Services Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.
For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.
For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.
Example Syntax
Use a bare-bones client and the command you need to make an API call.
import { RDSClient, CopyDBClusterSnapshotCommand } from "@aws-sdk/client-rds"; // ES Modules import
// const { RDSClient, CopyDBClusterSnapshotCommand } = require("@aws-sdk/client-rds"); // CommonJS import
const client = new RDSClient(config);
const input = { // CopyDBClusterSnapshotMessage
SourceDBClusterSnapshotIdentifier: "STRING_VALUE", // required
TargetDBClusterSnapshotIdentifier: "STRING_VALUE", // required
KmsKeyId: "STRING_VALUE",
PreSignedUrl: "STRING_VALUE",
CopyTags: true || false,
Tags: [ // TagList
{ // Tag
Key: "STRING_VALUE",
Value: "STRING_VALUE",
},
],
};
const command = new CopyDBClusterSnapshotCommand(input);
const response = await client.send(command);
// { // CopyDBClusterSnapshotResult
// DBClusterSnapshot: { // DBClusterSnapshot
// AvailabilityZones: [ // AvailabilityZones
// "STRING_VALUE",
// ],
// DBClusterSnapshotIdentifier: "STRING_VALUE",
// DBClusterIdentifier: "STRING_VALUE",
// SnapshotCreateTime: new Date("TIMESTAMP"),
// Engine: "STRING_VALUE",
// EngineMode: "STRING_VALUE",
// AllocatedStorage: Number("int"),
// Status: "STRING_VALUE",
// Port: Number("int"),
// VpcId: "STRING_VALUE",
// ClusterCreateTime: new Date("TIMESTAMP"),
// MasterUsername: "STRING_VALUE",
// EngineVersion: "STRING_VALUE",
// LicenseModel: "STRING_VALUE",
// SnapshotType: "STRING_VALUE",
// PercentProgress: Number("int"),
// StorageEncrypted: true || false,
// KmsKeyId: "STRING_VALUE",
// DBClusterSnapshotArn: "STRING_VALUE",
// SourceDBClusterSnapshotArn: "STRING_VALUE",
// IAMDatabaseAuthenticationEnabled: true || false,
// TagList: [ // TagList
// { // Tag
// Key: "STRING_VALUE",
// Value: "STRING_VALUE",
// },
// ],
// DBSystemId: "STRING_VALUE",
// StorageType: "STRING_VALUE",
// DbClusterResourceId: "STRING_VALUE",
// StorageThroughput: Number("int"),
// },
// };
Example Usage
CopyDBClusterSnapshotCommand Input
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
SourceDBClusterSnapshotIdentifier Required | string | undefined | The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive. You can't copy an encrypted, shared DB cluster snapshot from one Amazon Web Services Region to another. Constraints:
Example: |
TargetDBClusterSnapshotIdentifier Required | string | undefined | The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter isn't case-sensitive. Constraints:
Example: |
CopyTags | boolean | undefined | Specifies whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied. |
KmsKeyId | string | undefined | The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS key. If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for If you copy an encrypted DB cluster snapshot that is shared from another Amazon Web Services account, then you must specify a value for To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set If you copy an unencrypted DB cluster snapshot and specify a value for the |
PreSignedUrl | string | undefined | When you are copying a DB cluster snapshot from one Amazon Web Services GovCloud (US) Region to another, the URL that contains a Signature Version 4 signed request for the This setting applies only to Amazon Web Services GovCloud (US) Regions. It's ignored in other Amazon Web Services Regions. The presigned URL must be a valid request for the
To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and Signature Version 4 Signing Process . If you are using an Amazon Web Services SDK tool or the CLI, you can specify |
Tags | Tag[] | undefined | A list of tags. 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. |
CopyDBClusterSnapshotCommand Output
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
$metadata Required | ResponseMetadata | Metadata pertaining to this request. |
DBClusterSnapshot | DBClusterSnapshot | undefined | Contains the details for an Amazon RDS DB cluster snapshot This data type is used as a response element in the |
Throws
Name | Fault | Details |
---|
Name | Fault | Details |
---|---|---|
DBClusterSnapshotAlreadyExistsFault | client | The user already has a DB cluster snapshot with the given identifier. |
DBClusterSnapshotNotFoundFault | client | |
InvalidDBClusterSnapshotStateFault | client | The supplied value isn't a valid DB cluster snapshot state. |
InvalidDBClusterStateFault | client | The requested operation can't be performed while the cluster is in this state. |
KMSKeyNotAccessibleFault | client | An error occurred accessing an Amazon Web Services KMS key. |
SnapshotQuotaExceededFault | client | The request would result in the user exceeding the allowed number of DB snapshots. |
RDSServiceException | Base exception class for all service exceptions from RDS service. |