promoteReadReplica method

Future<PromoteReadReplicaResult> promoteReadReplica({
  1. required String dBInstanceIdentifier,
  2. int? backupRetentionPeriod,
  3. String? preferredBackupWindow,
})

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.
Example: 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);
}