import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CopyDBClusterSnapshotMessage, CopyDBClusterSnapshotResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @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(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Copies a snapshot of a cluster.

*

To copy a cluster snapshot from a shared manual cluster snapshot, * SourceDBClusterSnapshotIdentifier must be the Amazon * Resource Name (ARN) of the shared cluster snapshot. You can only * copy a shared DB cluster snapshot, whether encrypted or not, in the * same Amazon Web Services Region.

*

To cancel the copy operation after it is in progress, delete the * target cluster snapshot identified by * TargetDBClusterSnapshotIdentifier while that cluster * snapshot is in the copying status.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DocDBClient, CopyDBClusterSnapshotCommand } from "@aws-sdk/client-docdb"; // ES Modules import * // const { DocDBClient, CopyDBClusterSnapshotCommand } = require("@aws-sdk/client-docdb"); // CommonJS import * // import type { DocDBClientConfig } from "@aws-sdk/client-docdb"; * const config = {}; // type is DocDBClientConfig * const client = new DocDBClient(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", * // Status: "STRING_VALUE", * // Port: Number("int"), * // VpcId: "STRING_VALUE", * // ClusterCreateTime: new Date("TIMESTAMP"), * // MasterUsername: "STRING_VALUE", * // EngineVersion: "STRING_VALUE", * // SnapshotType: "STRING_VALUE", * // PercentProgress: Number("int"), * // StorageEncrypted: true || false, * // KmsKeyId: "STRING_VALUE", * // DBClusterSnapshotArn: "STRING_VALUE", * // SourceDBClusterSnapshotArn: "STRING_VALUE", * // StorageType: "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 DocDBClientResolvedConfig | config} for DocDBClient's `config` shape. * * @throws {@link DBClusterSnapshotAlreadyExistsFault} (client fault) *

You already have a cluster snapshot with the given identifier.

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

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

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

The provided value isn't a valid cluster snapshot state.

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

The cluster isn't in a valid state.

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

An error occurred when accessing an KMS key.

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

The request would cause you to exceed the allowed number of snapshots.

* * @throws {@link DocDBServiceException} *

Base exception class for all service exceptions from DocDB service.

* * * @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; }; }; }