createRelationalDatabase method
- required String masterDatabaseName,
- required String masterUsername,
- required String relationalDatabaseBlueprintId,
- required String relationalDatabaseBundleId,
- required String relationalDatabaseName,
- String? availabilityZone,
- String? masterUserPassword,
- String? preferredBackupWindow,
- String? preferredMaintenanceWindow,
- bool? publiclyAccessible,
- List<
Tag> ? tags,
Creates a new database in Amazon Lightsail.
The create relational database operation supports tag-based
access control via request tags. 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 masterDatabaseName :
The meaning of this parameter differs according to the database engine you
use.
MySQL
The name of the database to create when the Lightsail database resource is created. If this parameter isn't specified, no database is created in the database resource.
Constraints:
- Must contain 1 to 64 letters or numbers.
- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0- 9).
-
Can't be a word reserved by the specified database engine.
For more information about reserved words in MySQL, see the Keywords and Reserved Words articles for MySQL 5.6, MySQL 5.7, and MySQL 8.0.
The name of the database to create when the Lightsail database resource is
created. If this parameter isn't specified, a database named
postgres is created in the database resource.
Constraints:
- Must contain 1 to 63 letters or numbers.
- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0- 9).
-
Can't be a word reserved by the specified database engine.
For more information about reserved words in PostgreSQL, see the SQL Key Words articles for PostgreSQL 9.6, PostgreSQL 10, PostgreSQL 11, and PostgreSQL 12.
Parameter masterUsername :
The name for the master user.
MySQL
Constraints:
- Required for MySQL.
- Must be 1 to 16 letters or numbers. Can contain underscores.
- First character must be a letter.
-
Can't be a reserved word for the chosen database engine.
For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved Words articles for MySQL 5.6, MySQL 5.7, or MySQL 8.0.
Constraints:
- Required for PostgreSQL.
- Must be 1 to 63 letters or numbers. Can contain underscores.
- First character must be a letter.
-
Can't be a reserved word for the chosen database engine.
For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved Words articles for PostgreSQL 9.6, PostgreSQL 10, PostgreSQL 11, and PostgreSQL 12.
Parameter relationalDatabaseBlueprintId :
The blueprint ID for your new database. A blueprint describes the major
engine version of a database.
You can get a list of database blueprints IDs by using the get
relational database blueprints operation.
Parameter relationalDatabaseBundleId :
The bundle ID for your new database. A bundle describes the performance
specifications for your database.
You can get a list of database bundle IDs by using the get
relational database bundles operation.
Parameter relationalDatabaseName :
The name to use for your new Lightsail database resource.
Constraints:
- Must contain from 2 to 255 alphanumeric characters, or hyphens.
- The first and last character must be a letter or number.
Parameter availabilityZone :
The Availability Zone in which to create your new database. Use the
us-east-2a case-sensitive format.
You can get a list of Availability Zones by using the get
regions operation. Be sure to add the include relational
database Availability Zones parameter to your request.
Parameter masterUserPassword :
The password for the master user. The password can include any printable
ASCII character except "/", """, or "@". It cannot contain spaces.
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
new database if automated backups are enabled.
The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. For more information about the preferred backup window time blocks for each region, see the Working With Backups guide in the Amazon Relational Database Service documentation.
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
new 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: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 new 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 tags :
The tag keys and optional values to add to the resource during create.
Use the TagResource action to tag a resource after it's
created.
Implementation
Future<CreateRelationalDatabaseResult> createRelationalDatabase({
required String masterDatabaseName,
required String masterUsername,
required String relationalDatabaseBlueprintId,
required String relationalDatabaseBundleId,
required String relationalDatabaseName,
String? availabilityZone,
String? masterUserPassword,
String? preferredBackupWindow,
String? preferredMaintenanceWindow,
bool? publiclyAccessible,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Lightsail_20161128.CreateRelationalDatabase'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'masterDatabaseName': masterDatabaseName,
'masterUsername': masterUsername,
'relationalDatabaseBlueprintId': relationalDatabaseBlueprintId,
'relationalDatabaseBundleId': relationalDatabaseBundleId,
'relationalDatabaseName': relationalDatabaseName,
if (availabilityZone != null) 'availabilityZone': availabilityZone,
if (masterUserPassword != null)
'masterUserPassword': masterUserPassword,
if (preferredBackupWindow != null)
'preferredBackupWindow': preferredBackupWindow,
if (preferredMaintenanceWindow != null)
'preferredMaintenanceWindow': preferredMaintenanceWindow,
if (publiclyAccessible != null)
'publiclyAccessible': publiclyAccessible,
if (tags != null) 'tags': tags,
},
);
return CreateRelationalDatabaseResult.fromJson(jsonResponse.body);
}