Class CfnDatabase

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:59.721Z") @Stability(Stable) public class CfnDatabase extends CfnResource implements IInspectable
A CloudFormation AWS::Lightsail::Database.

The AWS::Lightsail::Database resource specifies an Amazon Lightsail database.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.lightsail.*;
 CfnDatabase cfnDatabase = CfnDatabase.Builder.create(this, "MyCfnDatabase")
         .masterDatabaseName("masterDatabaseName")
         .masterUsername("masterUsername")
         .relationalDatabaseBlueprintId("relationalDatabaseBlueprintId")
         .relationalDatabaseBundleId("relationalDatabaseBundleId")
         .relationalDatabaseName("relationalDatabaseName")
         // the properties below are optional
         .availabilityZone("availabilityZone")
         .backupRetention(false)
         .caCertificateIdentifier("caCertificateIdentifier")
         .masterUserPassword("masterUserPassword")
         .preferredBackupWindow("preferredBackupWindow")
         .preferredMaintenanceWindow("preferredMaintenanceWindow")
         .publiclyAccessible(false)
         .relationalDatabaseParameters(List.of(RelationalDatabaseParameterProperty.builder()
                 .allowedValues("allowedValues")
                 .applyMethod("applyMethod")
                 .applyType("applyType")
                 .dataType("dataType")
                 .description("description")
                 .isModifiable(false)
                 .parameterName("parameterName")
                 .parameterValue("parameterValue")
                 .build()))
         .rotateMasterUserPassword(false)
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDatabase

      protected CfnDatabase(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDatabase

      protected CfnDatabase(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDatabase

      @Stability(Stable) public CfnDatabase(@NotNull Construct scope, @NotNull String id, @NotNull CfnDatabaseProps props)
      Create a new AWS::Lightsail::Database.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrDatabaseArn

      @Stability(Stable) @NotNull public String getAttrDatabaseArn()
      The Amazon Resource Name (ARN) of the database (for example, arn:aws:lightsail:us-east-2:123456789101:RelationalDatabase/244ad76f-8aad-4741-809f-12345EXAMPLE ).
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      An array of key-value pairs to apply to this resource.

      For more information, see Tag in the AWS CloudFormation User Guide .

      The Value of Tags is optional for Lightsail resources.

    • getMasterDatabaseName

      @Stability(Stable) @NotNull public String getMasterDatabaseName()
      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-64 letters or numbers.
      • Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (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 .

      PostgreSQL

      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-63 letters or numbers.
      • Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (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 .

    • setMasterDatabaseName

      @Stability(Stable) public void setMasterDatabaseName(@NotNull String value)
      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-64 letters or numbers.
      • Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (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 .

      PostgreSQL

      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-63 letters or numbers.
      • Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (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 .

    • getMasterUsername

      @Stability(Stable) @NotNull public String getMasterUsername()
      The name for the primary user.

      MySQL

      Constraints:

      • Required for MySQL.
      • Must be 1-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 .

      PostgreSQL

      Constraints:

      • Required for PostgreSQL.
      • Must be 1-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 .

    • setMasterUsername

      @Stability(Stable) public void setMasterUsername(@NotNull String value)
      The name for the primary user.

      MySQL

      Constraints:

      • Required for MySQL.
      • Must be 1-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 .

      PostgreSQL

      Constraints:

      • Required for PostgreSQL.
      • Must be 1-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 .

    • getRelationalDatabaseBlueprintId

      @Stability(Stable) @NotNull public String getRelationalDatabaseBlueprintId()
      The blueprint ID for the database (for example, mysql_8_0 ).
    • setRelationalDatabaseBlueprintId

      @Stability(Stable) public void setRelationalDatabaseBlueprintId(@NotNull String value)
      The blueprint ID for the database (for example, mysql_8_0 ).
    • getRelationalDatabaseBundleId

      @Stability(Stable) @NotNull public String getRelationalDatabaseBundleId()
      The bundle ID for the database (for example, medium_1_0 ).
    • setRelationalDatabaseBundleId

      @Stability(Stable) public void setRelationalDatabaseBundleId(@NotNull String value)
      The bundle ID for the database (for example, medium_1_0 ).
    • getRelationalDatabaseName

      @Stability(Stable) @NotNull public String getRelationalDatabaseName()
      The name of the instance.
    • setRelationalDatabaseName

      @Stability(Stable) public void setRelationalDatabaseName(@NotNull String value)
      The name of the instance.
    • getAvailabilityZone

      @Stability(Stable) @Nullable public String getAvailabilityZone()
      The Availability Zone for the database.
    • setAvailabilityZone

      @Stability(Stable) public void setAvailabilityZone(@Nullable String value)
      The Availability Zone for the database.
    • getBackupRetention

      @Stability(Stable) @Nullable public Object getBackupRetention()
      A Boolean value indicating whether automated backup retention is enabled for the database.
    • setBackupRetention

      @Stability(Stable) public void setBackupRetention(@Nullable Boolean value)
      A Boolean value indicating whether automated backup retention is enabled for the database.
    • setBackupRetention

      @Stability(Stable) public void setBackupRetention(@Nullable IResolvable value)
      A Boolean value indicating whether automated backup retention is enabled for the database.
    • getCaCertificateIdentifier

      @Stability(Stable) @Nullable public String getCaCertificateIdentifier()
      The certificate associated with the database.
    • setCaCertificateIdentifier

      @Stability(Stable) public void setCaCertificateIdentifier(@Nullable String value)
      The certificate associated with the database.
    • getMasterUserPassword

      @Stability(Stable) @Nullable public String getMasterUserPassword()
      The password for the primary user of the database.

      The password can include any printable ASCII character except the following: /, ", or @. It cannot contain spaces.

      The MasterUserPassword and RotateMasterUserPassword parameters cannot be used together in the same template.

      MySQL

      Constraints: Must contain 8-41 characters.

      PostgreSQL

      Constraints: Must contain 8-128 characters.

    • setMasterUserPassword

      @Stability(Stable) public void setMasterUserPassword(@Nullable String value)
      The password for the primary user of the database.

      The password can include any printable ASCII character except the following: /, ", or @. It cannot contain spaces.

      The MasterUserPassword and RotateMasterUserPassword parameters cannot be used together in the same template.

      MySQL

      Constraints: Must contain 8-41 characters.

      PostgreSQL

      Constraints: Must contain 8-128 characters.

    • getPreferredBackupWindow

      @Stability(Stable) @Nullable public String getPreferredBackupWindow()
      The daily time range during which automated backups are created for the database (for example, 16:00-16:30 ).
    • setPreferredBackupWindow

      @Stability(Stable) public void setPreferredBackupWindow(@Nullable String value)
      The daily time range during which automated backups are created for the database (for example, 16:00-16:30 ).
    • getPreferredMaintenanceWindow

      @Stability(Stable) @Nullable public String getPreferredMaintenanceWindow()
      The weekly time range during which system maintenance can occur for the database, formatted as follows: ddd:hh24:mi-ddd:hh24:mi .

      For example, Tue:17:00-Tue:17:30 .

    • setPreferredMaintenanceWindow

      @Stability(Stable) public void setPreferredMaintenanceWindow(@Nullable String value)
      The weekly time range during which system maintenance can occur for the database, formatted as follows: ddd:hh24:mi-ddd:hh24:mi .

      For example, Tue:17:00-Tue:17:30 .

    • getPubliclyAccessible

      @Stability(Stable) @Nullable public Object getPubliclyAccessible()
      A Boolean value indicating whether the database is accessible to anyone on the internet.
    • setPubliclyAccessible

      @Stability(Stable) public void setPubliclyAccessible(@Nullable Boolean value)
      A Boolean value indicating whether the database is accessible to anyone on the internet.
    • setPubliclyAccessible

      @Stability(Stable) public void setPubliclyAccessible(@Nullable IResolvable value)
      A Boolean value indicating whether the database is accessible to anyone on the internet.
    • getRelationalDatabaseParameters

      @Stability(Stable) @Nullable public Object getRelationalDatabaseParameters()
      An array of parameters for the database.
    • setRelationalDatabaseParameters

      @Stability(Stable) public void setRelationalDatabaseParameters(@Nullable IResolvable value)
      An array of parameters for the database.
    • setRelationalDatabaseParameters

      @Stability(Stable) public void setRelationalDatabaseParameters(@Nullable List<Object> value)
      An array of parameters for the database.
    • getRotateMasterUserPassword

      @Stability(Stable) @Nullable public Object getRotateMasterUserPassword()
      A Boolean value indicating whether to change the primary user password to a new, strong password generated by Lightsail .

      The RotateMasterUserPassword and MasterUserPassword parameters cannot be used together in the same template.

    • setRotateMasterUserPassword

      @Stability(Stable) public void setRotateMasterUserPassword(@Nullable Boolean value)
      A Boolean value indicating whether to change the primary user password to a new, strong password generated by Lightsail .

      The RotateMasterUserPassword and MasterUserPassword parameters cannot be used together in the same template.

    • setRotateMasterUserPassword

      @Stability(Stable) public void setRotateMasterUserPassword(@Nullable IResolvable value)
      A Boolean value indicating whether to change the primary user password to a new, strong password generated by Lightsail .

      The RotateMasterUserPassword and MasterUserPassword parameters cannot be used together in the same template.