restoreDBClusterToPointInTime method
- required String dBClusterIdentifier,
- required String sourceDBClusterIdentifier,
- int? backtrackWindow,
- bool? copyTagsToSnapshot,
- String? dBClusterParameterGroupName,
- String? dBSubnetGroupName,
- bool? deletionProtection,
- String? domain,
- String? domainIAMRoleName,
- 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.
For more information on Amazon Aurora, see
What Is Amazon Aurora? in the Amazon Aurora User Guide.
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 DomainNotFoundFault. 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
- Can't 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 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 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 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 domain
:
Specify the Active Directory directory ID to restore the DB cluster in.
The domain must be created prior to this operation.
For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora 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 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 kmsKeyId
:
The AWS KMS key identifier to use when restoring an encrypted DB cluster
from an encrypted DB cluster.
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.
You can restore to a new DB cluster and encrypt the new DB cluster with a
AWS KMS CMK that is different than the AWS KMS key used to encrypt the
source DB cluster. The new DB cluster is encrypted with the AWS KMS CMK
identified by the KmsKeyId
parameter.
If you don't specify a value for the KmsKeyId
parameter, then
the following occurs:
- If the DB cluster is encrypted, then the restored DB cluster is encrypted using the AWS KMS CMK that was used to encrypt the source DB cluster.
- If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.
DBClusterIdentifier
refers to a DB cluster that isn't
encrypted, then the restore request is rejected.
Parameter optionGroupName
:
The name of the option group for the new DB cluster.
Parameter port
:
The port number on which the new DB cluster accepts connections.
Constraints: A value from 1150-65535
.
Default: The default port for the engine.
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 isn't provided -
Can't be specified if the
UseLatestRestorableTime
parameter is enabled -
Can't be specified if the
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.
copy-on-write
if the engine
version of the source DB cluster is earlier than 1.11.
If you don't specify a RestoreType
value, then the new DB
cluster is restored as a full copy of the source DB cluster.
Parameter useLatestRestorableTime
:
A value that indicates whether to restore the DB cluster to the latest
restorable backup time. By default, the DB cluster isn't restored to the
latest restorable backup time.
Constraints: Can't 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,
int? backtrackWindow,
bool? copyTagsToSnapshot,
String? dBClusterParameterGroupName,
String? dBSubnetGroupName,
bool? deletionProtection,
String? domain,
String? domainIAMRoleName,
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;
backtrackWindow?.also((arg) => $request['BacktrackWindow'] = arg);
copyTagsToSnapshot?.also((arg) => $request['CopyTagsToSnapshot'] = arg);
dBClusterParameterGroupName
?.also((arg) => $request['DBClusterParameterGroupName'] = arg);
dBSubnetGroupName?.also((arg) => $request['DBSubnetGroupName'] = 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);
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);
}