import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CopyDBClusterSnapshotMessage, CopyDBClusterSnapshotResult } from "../models/models_0"; import type { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CopyDBClusterSnapshotCommand}. */ export interface CopyDBClusterSnapshotCommandInput extends CopyDBClusterSnapshotMessage { } /** * @public * * The output of {@link CopyDBClusterSnapshotCommand}. */ export interface CopyDBClusterSnapshotCommandOutput extends CopyDBClusterSnapshotResult, __MetadataBearer { } declare const CopyDBClusterSnapshotCommand_base: { new (input: CopyDBClusterSnapshotCommandInput): import("@smithy/core/client").CommandImpl; new (input: CopyDBClusterSnapshotCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

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:

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 * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, CopyDBClusterSnapshotCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, CopyDBClusterSnapshotCommand } = require("@aws-sdk/client-rds"); // CommonJS import * // import type { RDSClientConfig } from "@aws-sdk/client-rds"; * const config = {}; // type is RDSClientConfig * 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, * // StorageEncryptionType: "none" || "sse-kms" || "sse-rds", * // BackupRetentionPeriod: Number("int"), * // PreferredBackupWindow: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // DBClusterSnapshotArn: "STRING_VALUE", * // SourceDBClusterSnapshotArn: "STRING_VALUE", * // IAMDatabaseAuthenticationEnabled: true || false, * // TagList: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // StorageType: "STRING_VALUE", * // StorageThroughput: Number("int"), * // DbClusterResourceId: "STRING_VALUE", * // DBSystemId: "STRING_VALUE", * // }, * // }; * * ``` * * @param CopyDBClusterSnapshotCommandInput - {@link CopyDBClusterSnapshotCommandInput} * @returns {@link CopyDBClusterSnapshotCommandOutput} * @see {@link CopyDBClusterSnapshotCommandInput} for command's `input` shape. * @see {@link CopyDBClusterSnapshotCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @throws {@link DBClusterSnapshotAlreadyExistsFault} (client fault) *

The user already has a DB cluster snapshot with the given identifier.

* * @throws {@link DBClusterSnapshotNotFoundFault} (client fault) *

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

* * @throws {@link InvalidDBClusterSnapshotStateFault} (client fault) *

The supplied value isn't a valid DB cluster snapshot state.

* * @throws {@link InvalidDBClusterStateFault} (client fault) *

The requested operation can't be performed while the cluster is in this state.

* * @throws {@link KMSKeyNotAccessibleFault} (client fault) *

An error occurred accessing an Amazon Web Services KMS key.

* * @throws {@link SnapshotQuotaExceededFault} (client fault) *

The request would result in the user exceeding the allowed number of DB snapshots.

* * @throws {@link RDSServiceException} *

Base exception class for all service exceptions from RDS service.

* * * @example To copy a DB cluster snapshot * ```javascript * // The following example creates a copy of a DB cluster snapshot, including its tags. * const input = { * CopyTags: true, * SourceDBClusterSnapshotIdentifier: "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:myaurora-2019-06-04-09-16", * TargetDBClusterSnapshotIdentifier: "myclustersnapshotcopy" * }; * const command = new CopyDBClusterSnapshotCommand(input); * const response = await client.send(command); * /* response is * { * DBClusterSnapshot: { * AllocatedStorage: 0, * AvailabilityZones: [ * "us-east-1a", * "us-east-1b", * "us-east-1e" * ], * ClusterCreateTime: "2019-04-15T14:18:42.785Z", * DBClusterIdentifier: "myaurora", * DBClusterSnapshotArn: "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:myclustersnapshotcopy", * DBClusterSnapshotIdentifier: "myclustersnapshotcopy", * Engine: "aurora-mysql", * EngineVersion: "5.7.mysql_aurora.2.04.2", * IAMDatabaseAuthenticationEnabled: false, * KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", * LicenseModel: "aurora-mysql", * MasterUsername: "myadmin", * PercentProgress: 100, * Port: 0, * SnapshotCreateTime: "2019-06-04T09:16:42.649Z", * SnapshotType: "manual", * Status: "available", * StorageEncrypted: true, * VpcId: "vpc-123example" * } * } * *\/ * ``` * * @public */ export declare class CopyDBClusterSnapshotCommand extends CopyDBClusterSnapshotCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CopyDBClusterSnapshotMessage; output: CopyDBClusterSnapshotResult; }; sdk: { input: CopyDBClusterSnapshotCommandInput; output: CopyDBClusterSnapshotCommandOutput; }; }; }