modifyDBSnapshot method

Future<ModifyDBSnapshotResult> modifyDBSnapshot({
  1. required String dBSnapshotIdentifier,
  2. String? engineVersion,
  3. String? optionGroupName,
})

Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted or unencrypted, but not shared or public.

Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.

May throw DBSnapshotNotFoundFault.

Parameter dBSnapshotIdentifier : The identifier of the DB snapshot to modify.

Parameter engineVersion : The engine version to upgrade the DB snapshot to.

The following are the database engines and engine versions that are available when you upgrade a DB snapshot.

MySQL

  • 5.5.46 (supported for 5.1 DB snapshots)
Oracle
  • 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
  • 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
  • 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
PostgreSQL

For the list of engine versions that are available for upgrading a DB snapshot, see Upgrading the PostgreSQL DB Engine for Amazon RDS.

Parameter optionGroupName : The option group to identify with the upgraded DB snapshot.

You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see Option group considerations in the Amazon RDS User Guide.

Implementation

Future<ModifyDBSnapshotResult> modifyDBSnapshot({
  required String dBSnapshotIdentifier,
  String? engineVersion,
  String? optionGroupName,
}) async {
  ArgumentError.checkNotNull(dBSnapshotIdentifier, 'dBSnapshotIdentifier');
  final $request = <String, dynamic>{};
  $request['DBSnapshotIdentifier'] = dBSnapshotIdentifier;
  engineVersion?.also((arg) => $request['EngineVersion'] = arg);
  optionGroupName?.also((arg) => $request['OptionGroupName'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'ModifyDBSnapshot',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['ModifyDBSnapshotMessage'],
    shapes: shapes,
    resultWrapper: 'ModifyDBSnapshotResult',
  );
  return ModifyDBSnapshotResult.fromXml($result);
}