promoteReadReplica method
Promotes a read replica DB instance to a standalone DB instance.
-
Backup duration is a function of the amount of changes to the database
since the previous backup. If you plan to promote a read replica to a
standalone instance, we recommend that you enable backups and complete at
least one backup prior to promotion. In addition, a read replica cannot be
promoted to a standalone instance when it is in the
backing-up
status. If you have enabled backups on your read replica, configure the automated backup window so that daily backups do not interfere with read replica promotion. - This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
May throw InvalidDBInstanceStateFault. May throw DBInstanceNotFoundFault.
Parameter dBInstanceIdentifier
:
The DB instance identifier. This value is stored as a lowercase string.
Constraints:
- Must match the identifier of an existing read replica DB instance.
mydbinstance
Parameter backupRetentionPeriod
:
The number of days for which automated backups are retained. Setting this
parameter to a positive number enables backups. Setting this parameter to
0 disables automated backups.
Default: 1
Constraints:
- Must be a value from 0 to 35.
- Can't be set to 0 if the DB instance is a source to read replicas.
Parameter preferredBackupWindow
:
The daily time range during which automated backups are created if
automated backups are enabled, using the
BackupRetentionPeriod
parameter.
The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.
Constraints:
-
Must be in the format
hh24:mi-hh24:mi
. - Must be in Universal Coordinated Time (UTC).
- Must not conflict with the preferred maintenance window.
- Must be at least 30 minutes.
Implementation
Future<PromoteReadReplicaResult> promoteReadReplica({
required String dBInstanceIdentifier,
int? backupRetentionPeriod,
String? preferredBackupWindow,
}) async {
ArgumentError.checkNotNull(dBInstanceIdentifier, 'dBInstanceIdentifier');
final $request = <String, dynamic>{};
$request['DBInstanceIdentifier'] = dBInstanceIdentifier;
backupRetentionPeriod
?.also((arg) => $request['BackupRetentionPeriod'] = arg);
preferredBackupWindow
?.also((arg) => $request['PreferredBackupWindow'] = arg);
final $result = await _protocol.send(
$request,
action: 'PromoteReadReplica',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['PromoteReadReplicaMessage'],
shapes: shapes,
resultWrapper: 'PromoteReadReplicaResult',
);
return PromoteReadReplicaResult.fromXml($result);
}