restoreDBClusterToPointInTime method
- required String dBClusterIdentifier,
- required String sourceDBClusterIdentifier,
- String? dBClusterParameterGroupName,
- String? dBSubnetGroupName,
- bool? deletionProtection,
- List<
String> ? enableCloudwatchLogsExports, - bool? enableIAMDatabaseAuthentication,
- String? kmsKeyId,
- String? optionGroupName,
- int? port,
- DateTime? restoreToTime,
- String? restoreType,
- List<
Tag> ? tags, - bool? useLatestRestorableTime,
- List<
String> ? vpcSecurityGroupIds,
Restores a DB cluster to an arbitrary point in time. Users can restore to
any point in time before LatestRestorableTime
for up to
BackupRetentionPeriod
days. The target DB cluster is created
from the source DB cluster with the same configuration as the original DB
cluster, except that the new DB cluster is created with the default DB
security group.
May throw DBClusterAlreadyExistsFault. May throw DBClusterNotFoundFault. May throw DBClusterQuotaExceededFault. May throw DBClusterSnapshotNotFoundFault. May throw DBSubnetGroupNotFoundFault. May throw InsufficientDBClusterCapacityFault. May throw InsufficientStorageClusterCapacityFault. May throw InvalidDBClusterSnapshotStateFault. May throw InvalidDBClusterStateFault. May throw InvalidDBSnapshotStateFault. May throw InvalidRestoreFault. May throw InvalidSubnet. May throw InvalidVPCNetworkStateFault. May throw KMSKeyNotAccessibleFault. May throw OptionGroupNotFoundFault. May throw StorageQuotaExceededFault. May throw DBClusterParameterGroupNotFoundFault.
Parameter dBClusterIdentifier
:
The name of the new DB cluster to be created.
Constraints:
- Must contain from 1 to 63 letters, numbers, or hyphens
- First character must be a letter
- Cannot end with a hyphen or contain two consecutive hyphens
Parameter sourceDBClusterIdentifier
:
The identifier of the source DB cluster from which to restore.
Constraints:
- Must match the identifier of an existing DBCluster.
Parameter dBClusterParameterGroupName
:
The name of the DB cluster parameter group to associate with the new DB
cluster.
Constraints:
- If supplied, must match the name of an existing DBClusterParameterGroup.
Parameter dBSubnetGroupName
:
The DB subnet group name to use for the new DB cluster.
Constraints: If supplied, must match the name of an existing DBSubnetGroup.
Example: mySubnetgroup
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 enableCloudwatchLogsExports
:
The list of logs that the restored DB cluster is to export to CloudWatch
Logs.
Parameter enableIAMDatabaseAuthentication
:
True to enable mapping of AWS Identity and Access Management (IAM)
accounts to database accounts, and otherwise false.
Default: false
Parameter kmsKeyId
:
The AWS KMS key identifier to use when restoring an encrypted DB cluster
from an encrypted DB cluster.
The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.
You can restore to a new DB cluster and encrypt the new DB cluster with a
KMS key that is different than the KMS key used to encrypt the source DB
cluster. The new DB cluster is encrypted with the KMS key identified by
the KmsKeyId
parameter.
If you do not specify a value for the KmsKeyId
parameter,
then the following will occur:
- If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.
- If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.
DBClusterIdentifier
refers to a DB cluster that is not
encrypted, then the restore request is rejected.
Parameter optionGroupName
:
(Not supported by Neptune)
Parameter port
:
The port number on which the new DB cluster accepts connections.
Constraints: Value must be 1150-65535
Default: The same port as the original DB cluster.
Parameter restoreToTime
:
The date and time to restore the DB cluster to.
Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
Constraints:
- Must be before the latest restorable time for the DB instance
-
Must be specified if
UseLatestRestorableTime
parameter is not provided -
Cannot be specified if
UseLatestRestorableTime
parameter is true -
Cannot be specified if
RestoreType
parameter iscopy-on-write
2015-03-07T23:45:00Z
Parameter restoreType
:
The type of restore to be performed. You can specify one of the following
values:
-
full-copy
- The new DB cluster is restored as a full copy of the source DB cluster. -
copy-on-write
- The new DB cluster is restored as a clone of the source DB cluster.
RestoreType
value, then the new DB
cluster is restored as a full copy of the source DB cluster.
Parameter tags
:
The tags to be applied to the restored DB cluster.
Parameter useLatestRestorableTime
:
A value that is set to true
to restore the DB cluster to the
latest restorable backup time, and false
otherwise.
Default: false
Constraints: Cannot be specified if RestoreToTime
parameter
is provided.
Parameter vpcSecurityGroupIds
:
A list of VPC security groups that the new DB cluster belongs to.
Implementation
Future<RestoreDBClusterToPointInTimeResult> restoreDBClusterToPointInTime({
required String dBClusterIdentifier,
required String sourceDBClusterIdentifier,
String? dBClusterParameterGroupName,
String? dBSubnetGroupName,
bool? deletionProtection,
List<String>? enableCloudwatchLogsExports,
bool? enableIAMDatabaseAuthentication,
String? kmsKeyId,
String? optionGroupName,
int? port,
DateTime? restoreToTime,
String? restoreType,
List<Tag>? tags,
bool? useLatestRestorableTime,
List<String>? vpcSecurityGroupIds,
}) async {
ArgumentError.checkNotNull(dBClusterIdentifier, 'dBClusterIdentifier');
ArgumentError.checkNotNull(
sourceDBClusterIdentifier, 'sourceDBClusterIdentifier');
final $request = <String, dynamic>{};
$request['DBClusterIdentifier'] = dBClusterIdentifier;
$request['SourceDBClusterIdentifier'] = sourceDBClusterIdentifier;
dBClusterParameterGroupName
?.also((arg) => $request['DBClusterParameterGroupName'] = arg);
dBSubnetGroupName?.also((arg) => $request['DBSubnetGroupName'] = arg);
deletionProtection?.also((arg) => $request['DeletionProtection'] = arg);
enableCloudwatchLogsExports
?.also((arg) => $request['EnableCloudwatchLogsExports'] = arg);
enableIAMDatabaseAuthentication
?.also((arg) => $request['EnableIAMDatabaseAuthentication'] = arg);
kmsKeyId?.also((arg) => $request['KmsKeyId'] = arg);
optionGroupName?.also((arg) => $request['OptionGroupName'] = arg);
port?.also((arg) => $request['Port'] = arg);
restoreToTime
?.also((arg) => $request['RestoreToTime'] = _s.iso8601ToJson(arg));
restoreType?.also((arg) => $request['RestoreType'] = arg);
tags?.also((arg) => $request['Tags'] = arg);
useLatestRestorableTime
?.also((arg) => $request['UseLatestRestorableTime'] = arg);
vpcSecurityGroupIds?.also((arg) => $request['VpcSecurityGroupIds'] = arg);
final $result = await _protocol.send(
$request,
action: 'RestoreDBClusterToPointInTime',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['RestoreDBClusterToPointInTimeMessage'],
shapes: shapes,
resultWrapper: 'RestoreDBClusterToPointInTimeResult',
);
return RestoreDBClusterToPointInTimeResult.fromXml($result);
}