import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { RestoreDBClusterFromSnapshotMessage, RestoreDBClusterFromSnapshotResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link RestoreDBClusterFromSnapshotCommand}. */ export interface RestoreDBClusterFromSnapshotCommandInput extends RestoreDBClusterFromSnapshotMessage { } /** * @public * * The output of {@link RestoreDBClusterFromSnapshotCommand}. */ export interface RestoreDBClusterFromSnapshotCommandOutput extends RestoreDBClusterFromSnapshotResult, __MetadataBearer { } declare const RestoreDBClusterFromSnapshotCommand_base: { new (input: RestoreDBClusterFromSnapshotCommandInput): import("@smithy/core/client").CommandImpl; new (input: RestoreDBClusterFromSnapshotCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a new cluster from a snapshot or cluster snapshot.

*

If a snapshot is specified, the target cluster is created from the source DB snapshot with a default configuration and default security group.

*

If a cluster snapshot is specified, the target cluster is created from the source cluster restore point with the same configuration as the original source DB cluster, except that the new cluster is created with the default security group.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DocDBClient, RestoreDBClusterFromSnapshotCommand } from "@aws-sdk/client-docdb"; // ES Modules import * // const { DocDBClient, RestoreDBClusterFromSnapshotCommand } = 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 = { // RestoreDBClusterFromSnapshotMessage * AvailabilityZones: [ // AvailabilityZones * "STRING_VALUE", * ], * DBClusterIdentifier: "STRING_VALUE", // required * SnapshotIdentifier: "STRING_VALUE", // required * Engine: "STRING_VALUE", // required * EngineVersion: "STRING_VALUE", * Port: Number("int"), * DBSubnetGroupName: "STRING_VALUE", * VpcSecurityGroupIds: [ // VpcSecurityGroupIdList * "STRING_VALUE", * ], * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * KmsKeyId: "STRING_VALUE", * EnableCloudwatchLogsExports: [ // LogTypeList * "STRING_VALUE", * ], * DeletionProtection: true || false, * DBClusterParameterGroupName: "STRING_VALUE", * ServerlessV2ScalingConfiguration: { // ServerlessV2ScalingConfiguration * MinCapacity: Number("double"), * MaxCapacity: Number("double"), * }, * StorageType: "STRING_VALUE", * NetworkType: "STRING_VALUE", * }; * const command = new RestoreDBClusterFromSnapshotCommand(input); * const response = await client.send(command); * // { // RestoreDBClusterFromSnapshotResult * // DBCluster: { // DBCluster * // AvailabilityZones: [ // AvailabilityZones * // "STRING_VALUE", * // ], * // BackupRetentionPeriod: Number("int"), * // DBClusterIdentifier: "STRING_VALUE", * // DBClusterParameterGroup: "STRING_VALUE", * // DBSubnetGroup: "STRING_VALUE", * // Status: "STRING_VALUE", * // PercentProgress: "STRING_VALUE", * // EarliestRestorableTime: new Date("TIMESTAMP"), * // Endpoint: "STRING_VALUE", * // ReaderEndpoint: "STRING_VALUE", * // MultiAZ: true || false, * // Engine: "STRING_VALUE", * // EngineVersion: "STRING_VALUE", * // LatestRestorableTime: new Date("TIMESTAMP"), * // Port: Number("int"), * // MasterUsername: "STRING_VALUE", * // PreferredBackupWindow: "STRING_VALUE", * // PreferredMaintenanceWindow: "STRING_VALUE", * // ReplicationSourceIdentifier: "STRING_VALUE", * // ReadReplicaIdentifiers: [ // ReadReplicaIdentifierList * // "STRING_VALUE", * // ], * // DBClusterMembers: [ // DBClusterMemberList * // { // DBClusterMember * // DBInstanceIdentifier: "STRING_VALUE", * // IsClusterWriter: true || false, * // DBClusterParameterGroupStatus: "STRING_VALUE", * // PromotionTier: Number("int"), * // }, * // ], * // VpcSecurityGroups: [ // VpcSecurityGroupMembershipList * // { // VpcSecurityGroupMembership * // VpcSecurityGroupId: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // HostedZoneId: "STRING_VALUE", * // StorageEncrypted: true || false, * // KmsKeyId: "STRING_VALUE", * // DbClusterResourceId: "STRING_VALUE", * // DBClusterArn: "STRING_VALUE", * // AssociatedRoles: [ // DBClusterRoles * // { // DBClusterRole * // RoleArn: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // CloneGroupId: "STRING_VALUE", * // ClusterCreateTime: new Date("TIMESTAMP"), * // EnabledCloudwatchLogsExports: [ // LogTypeList * // "STRING_VALUE", * // ], * // DeletionProtection: true || false, * // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"), * // StorageType: "STRING_VALUE", * // ServerlessV2ScalingConfiguration: { // ServerlessV2ScalingConfigurationInfo * // MinCapacity: Number("double"), * // MaxCapacity: Number("double"), * // }, * // MasterUserSecret: { // ClusterMasterUserSecret * // SecretArn: "STRING_VALUE", * // SecretStatus: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // }, * // NetworkType: "STRING_VALUE", * // }, * // }; * * ``` * * @param RestoreDBClusterFromSnapshotCommandInput - {@link RestoreDBClusterFromSnapshotCommandInput} * @returns {@link RestoreDBClusterFromSnapshotCommandOutput} * @see {@link RestoreDBClusterFromSnapshotCommandInput} for command's `input` shape. * @see {@link RestoreDBClusterFromSnapshotCommandOutput} for command's `response` shape. * @see {@link DocDBClientResolvedConfig | config} for DocDBClient's `config` shape. * * @throws {@link DBClusterAlreadyExistsFault} (client fault) *

You already have a cluster with the given identifier.

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

The cluster can't be created because you have reached the maximum allowed quota of clusters.

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

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

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

* DBSnapshotIdentifier doesn't refer to an existing snapshot.

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

* DBSubnetGroupName doesn't refer to an existing subnet group.

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

The cluster doesn't have enough capacity for the current operation.

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

There is not enough storage available for the current action. You might be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

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

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

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

The state of the snapshot doesn't allow deletion.

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

You cannot restore from a virtual private cloud (VPC) backup to a non-VPC DB * instance.

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

The requested subnet is not valid, or multiple subnets were requested that are not all * in a common virtual private cloud (VPC).

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

The subnet group doesn't cover all Availability Zones after it is created * because of changes that were made.

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

An error occurred when accessing an KMS key.

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

The network type is not supported by either DBSubnetGroup or the DB engine version.

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

The request would cause you to exceed the allowed amount of storage available across * all instances.

* * @throws {@link DocDBServiceException} *

Base exception class for all service exceptions from DocDB service.

* * * @public */ export declare class RestoreDBClusterFromSnapshotCommand extends RestoreDBClusterFromSnapshotCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: RestoreDBClusterFromSnapshotMessage; output: RestoreDBClusterFromSnapshotResult; }; sdk: { input: RestoreDBClusterFromSnapshotCommandInput; output: RestoreDBClusterFromSnapshotCommandOutput; }; }; }