updateRelationalDatabase method
- required String relationalDatabaseName,
- bool? applyImmediately,
- String? caCertificateIdentifier,
- bool? disableBackupRetention,
- bool? enableBackupRetention,
- String? masterUserPassword,
- String? preferredBackupWindow,
- String? preferredMaintenanceWindow,
- bool? publiclyAccessible,
- bool? rotateMasterUserPassword,
Allows the update of one or more attributes of a database in Amazon Lightsail.
Updates are applied immediately, or in cases where the updates could result in an outage, are applied during the database's predefined maintenance window.
The update relational database
operation supports tag-based
access control via resource tags applied to the resource identified by
relationalDatabaseName. For more information, see the Lightsail
Dev Guide.
May throw ServiceException. May throw InvalidInputException. May throw NotFoundException. May throw OperationFailureException. May throw AccessDeniedException. May throw AccountSetupInProgressException. May throw UnauthenticatedException.
Parameter relationalDatabaseName
:
The name of your database to update.
Parameter applyImmediately
:
When true
, applies changes immediately. When
false
, applies changes during the preferred maintenance
window. Some changes may cause an outage.
Default: false
Parameter caCertificateIdentifier
:
Indicates the certificate that needs to be associated with the database.
Parameter disableBackupRetention
:
When true
, disables automated backup retention for your
database.
Disabling backup retention deletes all automated database backups. Before
disabling this, you may want to create a snapshot of your database using
the create relational database snapshot
operation.
Updates are applied during the next maintenance window because this can result in an outage.
Parameter enableBackupRetention
:
When true
, enables automated backup retention for your
database.
Updates are applied during the next maintenance window because this can result in an outage.
Parameter masterUserPassword
:
The password for the master user of your database. The password can
include any printable ASCII character except "/", """, or "@".
Constraints: Must contain 8 to 41 characters.
Parameter preferredBackupWindow
:
The daily time range during which automated backups are created for your
database if automated backups are enabled.
Constraints:
-
Must be in the
hh24:mi-hh24:mi
format.Example:
16:00-16:30
- Specified in Coordinated Universal Time (UTC).
- Must not conflict with the preferred maintenance window.
- Must be at least 30 minutes.
Parameter preferredMaintenanceWindow
:
The weekly time range during which system maintenance can occur on your
database.
The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
Constraints:
-
Must be in the
ddd:hh24:mi-ddd:hh24:mi
format. - Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
- Must be at least 30 minutes.
- Specified in Coordinated Universal Time (UTC).
-
Example:
Tue:17:00-Tue:17:30
Parameter publiclyAccessible
:
Specifies the accessibility options for your database. A value of
true
specifies a database that is available to resources
outside of your Lightsail account. A value of false
specifies
a database that is available only to your Lightsail resources in the same
region as your database.
Parameter rotateMasterUserPassword
:
When true
, the master user password is changed to a new
strong password generated by Lightsail.
Use the get relational database master user password
operation to get the new password.
Implementation
Future<UpdateRelationalDatabaseResult> updateRelationalDatabase({
required String relationalDatabaseName,
bool? applyImmediately,
String? caCertificateIdentifier,
bool? disableBackupRetention,
bool? enableBackupRetention,
String? masterUserPassword,
String? preferredBackupWindow,
String? preferredMaintenanceWindow,
bool? publiclyAccessible,
bool? rotateMasterUserPassword,
}) async {
ArgumentError.checkNotNull(
relationalDatabaseName, 'relationalDatabaseName');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Lightsail_20161128.UpdateRelationalDatabase'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'relationalDatabaseName': relationalDatabaseName,
if (applyImmediately != null) 'applyImmediately': applyImmediately,
if (caCertificateIdentifier != null)
'caCertificateIdentifier': caCertificateIdentifier,
if (disableBackupRetention != null)
'disableBackupRetention': disableBackupRetention,
if (enableBackupRetention != null)
'enableBackupRetention': enableBackupRetention,
if (masterUserPassword != null)
'masterUserPassword': masterUserPassword,
if (preferredBackupWindow != null)
'preferredBackupWindow': preferredBackupWindow,
if (preferredMaintenanceWindow != null)
'preferredMaintenanceWindow': preferredMaintenanceWindow,
if (publiclyAccessible != null)
'publiclyAccessible': publiclyAccessible,
if (rotateMasterUserPassword != null)
'rotateMasterUserPassword': rotateMasterUserPassword,
},
);
return UpdateRelationalDatabaseResult.fromJson(jsonResponse.body);
}