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

Creates a snapshot of a DB instance. The source DB instance must be in the available or storage-optimization state.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, CreateDBSnapshotCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, CreateDBSnapshotCommand } = 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 = { // CreateDBSnapshotMessage * DBSnapshotIdentifier: "STRING_VALUE", // required * DBInstanceIdentifier: "STRING_VALUE", // required * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * }; * const command = new CreateDBSnapshotCommand(input); * const response = await client.send(command); * // { // CreateDBSnapshotResult * // DBSnapshot: { // DBSnapshot * // DBSnapshotIdentifier: "STRING_VALUE", * // DBInstanceIdentifier: "STRING_VALUE", * // SnapshotCreateTime: new Date("TIMESTAMP"), * // Engine: "STRING_VALUE", * // AllocatedStorage: Number("int"), * // Status: "STRING_VALUE", * // Port: Number("int"), * // AvailabilityZone: "STRING_VALUE", * // VpcId: "STRING_VALUE", * // InstanceCreateTime: new Date("TIMESTAMP"), * // MasterUsername: "STRING_VALUE", * // EngineVersion: "STRING_VALUE", * // LicenseModel: "STRING_VALUE", * // SnapshotType: "STRING_VALUE", * // Iops: Number("int"), * // StorageThroughput: Number("int"), * // OptionGroupName: "STRING_VALUE", * // PercentProgress: Number("int"), * // SourceRegion: "STRING_VALUE", * // SourceDBSnapshotIdentifier: "STRING_VALUE", * // StorageType: "STRING_VALUE", * // TdeCredentialArn: "STRING_VALUE", * // Encrypted: true || false, * // StorageEncryptionType: "none" || "sse-kms" || "sse-rds", * // BackupRetentionPeriod: Number("int"), * // PreferredBackupWindow: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // DBSnapshotArn: "STRING_VALUE", * // Timezone: "STRING_VALUE", * // IAMDatabaseAuthenticationEnabled: true || false, * // ProcessorFeatures: [ // ProcessorFeatureList * // { // ProcessorFeature * // Name: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // DbiResourceId: "STRING_VALUE", * // TagList: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // SnapshotTarget: "STRING_VALUE", * // OriginalSnapshotCreateTime: new Date("TIMESTAMP"), * // SnapshotDatabaseTime: new Date("TIMESTAMP"), * // DBSystemId: "STRING_VALUE", * // MultiTenant: true || false, * // DedicatedLogVolume: true || false, * // AdditionalStorageVolumes: [ // AdditionalStorageVolumesList * // { // AdditionalStorageVolume * // VolumeName: "STRING_VALUE", // required * // AllocatedStorage: Number("int"), * // IOPS: Number("int"), * // MaxAllocatedStorage: Number("int"), * // StorageThroughput: Number("int"), * // StorageType: "STRING_VALUE", * // }, * // ], * // SnapshotAvailabilityZone: "STRING_VALUE", * // }, * // }; * * ``` * * @param CreateDBSnapshotCommandInput - {@link CreateDBSnapshotCommandInput} * @returns {@link CreateDBSnapshotCommandOutput} * @see {@link CreateDBSnapshotCommandInput} for command's `input` shape. * @see {@link CreateDBSnapshotCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @throws {@link DBInstanceNotFoundFault} (client fault) *

DBInstanceIdentifier doesn't refer to an existing DB instance.

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

DBSnapshotIdentifier is already used by an existing snapshot.

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

The DB instance isn't in a valid state.

* * @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 create a DB snapshot * ```javascript * // The following example creates a DB snapshot. * const input = { * DBInstanceIdentifier: "mydbsnapshot", * DBSnapshotIdentifier: "database-mysql" * }; * const command = new CreateDBSnapshotCommand(input); * const response = await client.send(command); * /* response is * { * DBSnapshot: { * AllocatedStorage: 100, * AvailabilityZone: "us-east-1b", * DBInstanceIdentifier: "database-mysql", * DBSnapshotArn: "arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshot", * DBSnapshotIdentifier: "mydbsnapshot", * DbiResourceId: "db-AKIAIOSFODNN7EXAMPLE", * Encrypted: true, * Engine: "mysql", * EngineVersion: "8.0.32", * IAMDatabaseAuthenticationEnabled: false, * InstanceCreateTime: "2019-04-30T15:45:53.663Z", * Iops: 1000, * KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", * LicenseModel: "general-public-license", * MasterUsername: "admin", * OptionGroupName: "default:mysql-8-0", * PercentProgress: 0, * Port: 3306, * ProcessorFeatures: [], * SnapshotType: "manual", * Status: "creating", * StorageType: "io1", * VpcId: "vpc-6594f31c" * } * } * *\/ * ``` * * @public */ export declare class CreateDBSnapshotCommand extends CreateDBSnapshotCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDBSnapshotMessage; output: CreateDBSnapshotResult; }; sdk: { input: CreateDBSnapshotCommandInput; output: CreateDBSnapshotCommandOutput; }; }; }