updateRelationalDatabase method
- required String relationalDatabaseName,
- bool? applyImmediately,
- String? caCertificateIdentifier,
- bool? disableBackupRetention,
- bool? enableBackupRetention,
- String? masterUserPassword,
- String? preferredBackupWindow,
- String? preferredMaintenanceWindow,
- bool? publiclyAccessible,
- String? relationalDatabaseBlueprintId,
- 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 Amazon
Lightsail Developer Guide.
May throw AccessDeniedException.
May throw AccountSetupInProgressException.
May throw InvalidInputException.
May throw NotFoundException.
May throw OperationFailureException.
May throw RegionSetupInProgressException.
May throw ServiceException.
May throw UnauthenticatedException.
Parameter relationalDatabaseName :
The name of your Lightsail database resource 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. The password can include any printable
ASCII character except "/", """, or "@".
MySQL
Constraints: Must contain from 8 to 41 characters.
PostgreSQL
Constraints: Must contain from 8 to 128 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:miformat.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 Amazon Web Services Region, occurring on a random day of the week.
Constraints:
-
Must be in the
ddd:hh24:mi-ddd:hh24:miformat. - 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 relationalDatabaseBlueprintId :
This parameter is used to update the major version of the database. Enter
the blueprintId for the major version that you want to update
to.
Use the GetRelationalDatabaseBlueprints action to get a list of available blueprint IDs.
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,
String? relationalDatabaseBlueprintId,
bool? rotateMasterUserPassword,
}) async {
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 (relationalDatabaseBlueprintId != null)
'relationalDatabaseBlueprintId': relationalDatabaseBlueprintId,
if (rotateMasterUserPassword != null)
'rotateMasterUserPassword': rotateMasterUserPassword,
},
);
return UpdateRelationalDatabaseResult.fromJson(jsonResponse.body);
}