restoreDBClusterFromSnapshot method
- required String dBClusterIdentifier,
- required String engine,
- required String snapshotIdentifier,
- List<
String> ? availabilityZones, - int? backtrackWindow,
- bool? copyTagsToSnapshot,
- String? dBClusterParameterGroupName,
- String? dBSubnetGroupName,
- String? databaseName,
- bool? deletionProtection,
- String? domain,
- String? domainIAMRoleName,
- List<
String> ? enableCloudwatchLogsExports, - bool? enableIAMDatabaseAuthentication,
- String? engineMode,
- String? engineVersion,
- String? kmsKeyId,
- String? optionGroupName,
- int? port,
- ScalingConfiguration? scalingConfiguration,
- List<
Tag> ? tags, - List<
String> ? vpcSecurityGroupIds,
Creates a new DB cluster from a DB snapshot or DB cluster snapshot. This action only applies to Aurora DB clusters.
The target DB cluster is created from the source snapshot with a default configuration. If you don't specify a security group, the new DB cluster is associated with the default security group. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.
May throw DBClusterAlreadyExistsFault. May throw DBClusterQuotaExceededFault. May throw StorageQuotaExceededFault. May throw DBSubnetGroupNotFoundFault. May throw DBSnapshotNotFoundFault. May throw DBClusterSnapshotNotFoundFault. May throw InsufficientDBClusterCapacityFault. May throw InsufficientStorageClusterCapacityFault. May throw InvalidDBSnapshotStateFault. May throw InvalidDBClusterSnapshotStateFault. May throw StorageQuotaExceededFault. May throw InvalidVPCNetworkStateFault. May throw InvalidRestoreFault. May throw DBSubnetGroupNotFoundFault. May throw InvalidSubnet. May throw OptionGroupNotFoundFault. May throw KMSKeyNotAccessibleFault. May throw DomainNotFoundFault. May throw DBClusterParameterGroupNotFoundFault.
Parameter dBClusterIdentifier
:
The name of the DB cluster to create from the DB snapshot or DB cluster
snapshot. This parameter isn't case-sensitive.
Constraints:
- Must contain from 1 to 63 letters, numbers, or hyphens
- First character must be a letter
- Can't end with a hyphen or contain two consecutive hyphens
my-snapshot-id
Parameter engine
:
The database engine to use for the new DB cluster.
Default: The same as source
Constraint: Must be compatible with the engine of the source
Parameter snapshotIdentifier
:
The identifier for the DB snapshot or DB cluster snapshot to restore from.
You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.
Constraints:
- Must match the identifier of an existing Snapshot.
Parameter availabilityZones
:
Provides the list of Availability Zones (AZs) where instances in the
restored DB cluster can be created.
Parameter backtrackWindow
:
The target backtrack window, in seconds. To disable backtracking, set this
value to 0.
Default: 0
Constraints:
- If specified, this value must be set to a number from 0 to 259,200 (72 hours).
Parameter copyTagsToSnapshot
:
A value that indicates whether to copy all tags from the restored DB
cluster to snapshots of the restored DB cluster. The default is not to
copy them.
Parameter dBClusterParameterGroupName
:
The name of the DB cluster parameter group to associate with this DB
cluster. If this argument is omitted, the default DB cluster parameter
group for the specified engine is used.
Constraints:
- If supplied, must match the name of an existing default DB cluster parameter group.
- Must be 1 to 255 letters, numbers, or hyphens.
- First character must be a letter.
- Can't end with a hyphen or contain two consecutive hyphens.
Parameter dBSubnetGroupName
:
The name of the DB subnet group to use for the new DB cluster.
Constraints: If supplied, must match the name of an existing DB subnet group.
Example: mySubnetgroup
Parameter databaseName
:
The database name for the restored DB cluster.
Parameter deletionProtection
:
A value that indicates whether the DB cluster has deletion protection
enabled. The database can't be deleted when deletion protection is
enabled. By default, deletion protection is disabled.
Parameter domain
:
Specify the Active Directory directory ID to restore the DB cluster in.
The domain must be created prior to this operation. Currently, only MySQL,
Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created
in an Active Directory Domain.
For more information, see Kerberos Authentication in the Amazon RDS User Guide.
Parameter domainIAMRoleName
:
Specify the name of the IAM role to be used when making API calls to the
Directory Service.
Parameter enableCloudwatchLogsExports
:
The list of logs that the restored DB cluster is to export to Amazon
CloudWatch Logs. The values in the list depend on the DB engine being
used. For more information, see Publishing
Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
Guide.
Parameter enableIAMDatabaseAuthentication
:
A value that indicates whether to enable mapping of AWS Identity and
Access Management (IAM) accounts to database accounts. By default, mapping
is disabled.
For more information, see IAM Database Authentication in the Amazon Aurora User Guide.
Parameter engineMode
:
The DB engine mode of the DB cluster, either provisioned
,
serverless
, parallelquery
, global
,
or multimaster
.
For more information, see CreateDBCluster.
Parameter engineVersion
:
The version of the database engine to use for the new DB cluster.
To list all of the available engine versions for aurora
(for
MySQL 5.6-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora --query
"DBEngineVersions[].EngineVersion"
To list all of the available engine versions for aurora-mysql
(for MySQL 5.7-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora-mysql --query
"DBEngineVersions[].EngineVersion"
To list all of the available engine versions for
aurora-postgresql
, use the following command:
aws rds describe-db-engine-versions --engine aurora-postgresql
--query "DBEngineVersions[].EngineVersion"
Aurora MySQL
Example: 5.6.10a
, 5.6.mysql_aurora.1.19.2
,
5.7.12
, 5.7.mysql_aurora.2.04.5
Aurora PostgreSQL
Example: 9.6.3
, 10.7
Parameter kmsKeyId
:
The AWS KMS key identifier to use when restoring an encrypted DB cluster
from a DB snapshot or DB cluster snapshot.
The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the AWS KMS customer master key (CMK). To use a CMK in a different AWS account, specify the key ARN or alias ARN.
When you don't specify a value for the KmsKeyId
parameter,
then the following occurs:
-
If the DB snapshot or DB cluster snapshot in
SnapshotIdentifier
is encrypted, then the restored DB cluster is encrypted using the AWS KMS CMK that was used to encrypt the DB snapshot or DB cluster snapshot. -
If the DB snapshot or DB cluster snapshot in
SnapshotIdentifier
isn't encrypted, then the restored DB cluster isn't encrypted.
Parameter optionGroupName
:
The name of the option group to use for the restored DB cluster.
Parameter port
:
The port number on which the new DB cluster accepts connections.
Constraints: This value must be 1150-65535
Default: The same port as the original DB cluster.
Parameter scalingConfiguration
:
For DB clusters in serverless
DB engine mode, the scaling
properties of the DB cluster.
Parameter tags
:
The tags to be assigned to the restored DB cluster.
Parameter vpcSecurityGroupIds
:
A list of VPC security groups that the new DB cluster will belong to.
Implementation
Future<RestoreDBClusterFromSnapshotResult> restoreDBClusterFromSnapshot({
required String dBClusterIdentifier,
required String engine,
required String snapshotIdentifier,
List<String>? availabilityZones,
int? backtrackWindow,
bool? copyTagsToSnapshot,
String? dBClusterParameterGroupName,
String? dBSubnetGroupName,
String? databaseName,
bool? deletionProtection,
String? domain,
String? domainIAMRoleName,
List<String>? enableCloudwatchLogsExports,
bool? enableIAMDatabaseAuthentication,
String? engineMode,
String? engineVersion,
String? kmsKeyId,
String? optionGroupName,
int? port,
ScalingConfiguration? scalingConfiguration,
List<Tag>? tags,
List<String>? vpcSecurityGroupIds,
}) async {
ArgumentError.checkNotNull(dBClusterIdentifier, 'dBClusterIdentifier');
ArgumentError.checkNotNull(engine, 'engine');
ArgumentError.checkNotNull(snapshotIdentifier, 'snapshotIdentifier');
final $request = <String, dynamic>{};
$request['DBClusterIdentifier'] = dBClusterIdentifier;
$request['Engine'] = engine;
$request['SnapshotIdentifier'] = snapshotIdentifier;
availabilityZones?.also((arg) => $request['AvailabilityZones'] = arg);
backtrackWindow?.also((arg) => $request['BacktrackWindow'] = arg);
copyTagsToSnapshot?.also((arg) => $request['CopyTagsToSnapshot'] = arg);
dBClusterParameterGroupName
?.also((arg) => $request['DBClusterParameterGroupName'] = arg);
dBSubnetGroupName?.also((arg) => $request['DBSubnetGroupName'] = arg);
databaseName?.also((arg) => $request['DatabaseName'] = arg);
deletionProtection?.also((arg) => $request['DeletionProtection'] = arg);
domain?.also((arg) => $request['Domain'] = arg);
domainIAMRoleName?.also((arg) => $request['DomainIAMRoleName'] = arg);
enableCloudwatchLogsExports
?.also((arg) => $request['EnableCloudwatchLogsExports'] = arg);
enableIAMDatabaseAuthentication
?.also((arg) => $request['EnableIAMDatabaseAuthentication'] = arg);
engineMode?.also((arg) => $request['EngineMode'] = arg);
engineVersion?.also((arg) => $request['EngineVersion'] = arg);
kmsKeyId?.also((arg) => $request['KmsKeyId'] = arg);
optionGroupName?.also((arg) => $request['OptionGroupName'] = arg);
port?.also((arg) => $request['Port'] = arg);
scalingConfiguration?.also((arg) => $request['ScalingConfiguration'] = arg);
tags?.also((arg) => $request['Tags'] = arg);
vpcSecurityGroupIds?.also((arg) => $request['VpcSecurityGroupIds'] = arg);
final $result = await _protocol.send(
$request,
action: 'RestoreDBClusterFromSnapshot',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['RestoreDBClusterFromSnapshotMessage'],
shapes: shapes,
resultWrapper: 'RestoreDBClusterFromSnapshotResult',
);
return RestoreDBClusterFromSnapshotResult.fromXml($result);
}