databases
Creates, updates, deletes or gets a database resource or lists databases in a region
Overview
| Name | databases |
| Type | Resource |
| Description | Resource Type definition for AWS::Lightsail::Database |
| Id | awscc.lightsail.databases |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
relational_database_name | string | The name to use for your new Lightsail database resource. |
database_arn | string | |
availability_zone | string | The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format. |
relational_database_blueprint_id | string | The blueprint ID for your new database. A blueprint describes the major engine version of a database. |
relational_database_bundle_id | string | The bundle ID for your new database. A bundle describes the performance specifications for your database. |
master_database_name | string | The name of the database to create when the Lightsail database resource is created. For MySQL, if this parameter isn't specified, no database is created in the database resource. For PostgreSQL, if this parameter isn't specified, a database named postgres is created in the database resource. |
master_username | string | The name for the master user. |
master_user_password | string | The password for the master user. The password can include any printable ASCII character except "/", """, or "@". It cannot contain spaces. |
preferred_backup_window | string | The daily time range during which automated backups are created for your new database if automated backups are enabled. |
preferred_maintenance_window | string | The weekly time range during which system maintenance can occur on your new database. |
publicly_accessible | boolean | 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. |
ca_certificate_identifier | string | Indicates the certificate that needs to be associated with the database. |
backup_retention | boolean | When true, enables automated backup retention for your database. Updates are applied during the next maintenance window because this can result in an outage. |
rotate_master_user_password | boolean | 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. |
relational_database_parameters | array | Update one or more parameters of the relational database. |
tags | array | An array of key-value pairs to apply to this resource. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
relational_database_name | string | The name to use for your new Lightsail database resource. |
region | string | AWS region. |
For more information, see AWS::Lightsail::Database.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | databases | INSERT | RelationalDatabaseName, RelationalDatabaseBlueprintId, RelationalDatabaseBundleId, MasterDatabaseName, MasterUsername, region |
delete_resource | databases | DELETE | Identifier, region |
update_resource | databases | UPDATE | Identifier, PatchDocument, region |
list_resources | databases_list_only | SELECT | region |
get_resource | databases | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual database.
SELECT
region,
relational_database_name,
database_arn,
availability_zone,
relational_database_blueprint_id,
relational_database_bundle_id,
master_database_name,
master_username,
master_user_password,
preferred_backup_window,
preferred_maintenance_window,
publicly_accessible,
ca_certificate_identifier,
backup_retention,
rotate_master_user_password,
relational_database_parameters,
tags
FROM awscc.lightsail.databases
WHERE
region = 'us-east-1' AND
Identifier = '{{ relational_database_name }}';
Lists all databases in a region.
SELECT
region,
relational_database_name
FROM awscc.lightsail.databases_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new database resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.lightsail.databases (
RelationalDatabaseName,
RelationalDatabaseBlueprintId,
RelationalDatabaseBundleId,
MasterDatabaseName,
MasterUsername,
region
)
SELECT
'{{ relational_database_name }}',
'{{ relational_database_blueprint_id }}',
'{{ relational_database_bundle_id }}',
'{{ master_database_name }}',
'{{ master_username }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.lightsail.databases (
RelationalDatabaseName,
AvailabilityZone,
RelationalDatabaseBlueprintId,
RelationalDatabaseBundleId,
MasterDatabaseName,
MasterUsername,
MasterUserPassword,
PreferredBackupWindow,
PreferredMaintenanceWindow,
PubliclyAccessible,
CaCertificateIdentifier,
BackupRetention,
RotateMasterUserPassword,
RelationalDatabaseParameters,
Tags,
region
)
SELECT
'{{ relational_database_name }}',
'{{ availability_zone }}',
'{{ relational_database_blueprint_id }}',
'{{ relational_database_bundle_id }}',
'{{ master_database_name }}',
'{{ master_username }}',
'{{ master_user_password }}',
'{{ preferred_backup_window }}',
'{{ preferred_maintenance_window }}',
'{{ publicly_accessible }}',
'{{ ca_certificate_identifier }}',
'{{ backup_retention }}',
'{{ rotate_master_user_password }}',
'{{ relational_database_parameters }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: database
props:
- name: relational_database_name
value: '{{ relational_database_name }}'
- name: availability_zone
value: '{{ availability_zone }}'
- name: relational_database_blueprint_id
value: '{{ relational_database_blueprint_id }}'
- name: relational_database_bundle_id
value: '{{ relational_database_bundle_id }}'
- name: master_database_name
value: '{{ master_database_name }}'
- name: master_username
value: '{{ master_username }}'
- name: master_user_password
value: '{{ master_user_password }}'
- name: preferred_backup_window
value: '{{ preferred_backup_window }}'
- name: preferred_maintenance_window
value: '{{ preferred_maintenance_window }}'
- name: publicly_accessible
value: '{{ publicly_accessible }}'
- name: ca_certificate_identifier
value: '{{ ca_certificate_identifier }}'
- name: backup_retention
value: '{{ backup_retention }}'
- name: rotate_master_user_password
value: '{{ rotate_master_user_password }}'
- name: relational_database_parameters
value:
- allowed_values: '{{ allowed_values }}'
apply_method: '{{ apply_method }}'
apply_type: '{{ apply_type }}'
data_type: '{{ data_type }}'
description: '{{ description }}'
is_modifiable: '{{ is_modifiable }}'
parameter_name: '{{ parameter_name }}'
parameter_value: '{{ parameter_value }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a database resource, using stack-deploy.
/*+ update */
UPDATE awscc.lightsail.databases
SET PatchDocument = string('{{ {
"MasterUserPassword": master_user_password,
"PreferredBackupWindow": preferred_backup_window,
"PreferredMaintenanceWindow": preferred_maintenance_window,
"PubliclyAccessible": publicly_accessible,
"CaCertificateIdentifier": ca_certificate_identifier,
"BackupRetention": backup_retention,
"RotateMasterUserPassword": rotate_master_user_password,
"RelationalDatabaseParameters": relational_database_parameters,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ relational_database_name }}';
DELETE example
/*+ delete */
DELETE FROM awscc.lightsail.databases
WHERE
Identifier = '{{ relational_database_name }}' AND
region = 'us-east-1';
Permissions
To operate on the databases resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
lightsail:CreateRelationalDatabase,
lightsail:GetRelationalDatabase,
lightsail:GetRelationalDatabases,
lightsail:GetRegions,
lightsail:TagResource,
lightsail:UntagResource,
lightsail:UpdateRelationalDatabase,
lightsail:UpdateRelationalDatabaseParameters
lightsail:GetRelationalDatabase,
lightsail:GetRelationalDatabases
lightsail:GetRelationalDatabase,
lightsail:GetRelationalDatabases,
lightsail:TagResource,
lightsail:UntagResource,
lightsail:UpdateRelationalDatabase,
lightsail:UpdateRelationalDatabaseParameters
lightsail:DeleteRelationalDatabase,
lightsail:GetRelationalDatabase,
lightsail:GetRelationalDatabases
lightsail:GetRelationalDatabases