import { Value } from '../../cloudformation/Value';
import { RelationalDatabaseParameterProps } from './database/RelationalDatabaseParameterProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DatabaseAttributes = {
    DatabaseArn: Attribute<string>;
};
export type Database = AwsResource<'AWS::Lightsail::Database', DatabaseProperties, DatabaseAttributes>;
/**
  The <code>AWS::Lightsail::Database</code> resource specifies an Amazon Lightsail database.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html">the AWS Docs</a>
*/
export declare function database(databaseProps: DatabaseProperties): Database;
/**
  The <code>AWS::Lightsail::Database</code> resource specifies an Amazon Lightsail database.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html">the AWS Docs</a>
*/
export interface DatabaseProperties {
    /** <code>RelationalDatabaseName</code>  <a name="cfn-lightsail-database-relationaldatabasename"></a>
  The name of the instance.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    relationalDatabaseName: Value<string>;
    /** <code>CaCertificateIdentifier</code>  <a name="cfn-lightsail-database-cacertificateidentifier"></a>
  The certificate associated with the database.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    caCertificateIdentifier?: Value<string>;
    /** <code>AvailabilityZone</code>  <a name="cfn-lightsail-database-availabilityzone"></a>
  The Availability Zone for the database.<br />
  
  Required: No<br />
  
  Update requires: Updates are not supported. */
    availabilityZone?: Value<string>;
    /** <code>PreferredMaintenanceWindow</code>  <a name="cfn-lightsail-database-preferredmaintenancewindow"></a>
  The weekly time range during which system maintenance can occur for the database, formatted as follows: <code>ddd:hh24:mi-ddd:hh24:mi</code>. For example, <code>Tue:17:00-Tue:17:30</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    preferredMaintenanceWindow?: Value<string>;
    /** <code>RelationalDatabaseBlueprintId</code>  <a name="cfn-lightsail-database-relationaldatabaseblueprintid"></a>
  The blueprint ID for the database (for example, <code>mysql_8_0</code>).<br />
  
  Required: Yes<br />
  
  Update requires: Updates are not supported. */
    relationalDatabaseBlueprintId: Value<string>;
    /** <code>PreferredBackupWindow</code>  <a name="cfn-lightsail-database-preferredbackupwindow"></a>
  The daily time range during which automated backups are created for the database (for example, <code>16:00-16:30</code>).<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    preferredBackupWindow?: Value<string>;
    /** <p> */
    masterDatabaseName: Value<string>;
    /** <code>MasterUserPassword</code>  <a name="cfn-lightsail-database-masteruserpassword"></a>
  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.<br />
  The <code>MasterUserPassword</code> and <code>RotateMasterUserPassword</code> parameters cannot be used together in the same template.
  <strong>MySQL</strong><br />
  Constraints: Must contain 8-41 characters.<br />
  <strong>PostgreSQL</strong><br />
  Constraints: Must contain 8-128 characters.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    masterUserPassword?: Value<string>;
    /** <code>RelationalDatabaseParameters</code>  <a name="cfn-lightsail-database-relationaldatabaseparameters"></a>
  An array of parameters for the database.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    relationalDatabaseParameters?: RelationalDatabaseParameterProps[];
    /** <code>RotateMasterUserPassword</code>  <a name="cfn-lightsail-database-rotatemasteruserpassword"></a>
  A Boolean value indicating whether to change the primary user password to a new, strong password generated by Lightsail.<br />
  The <code>RotateMasterUserPassword</code> and <code>MasterUserPassword</code> parameters cannot be used together in the same template.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    rotateMasterUserPassword?: Value<boolean>;
    /** <p> */
    masterUsername: Value<string>;
    /** <code>PubliclyAccessible</code>  <a name="cfn-lightsail-database-publiclyaccessible"></a>
  A Boolean value indicating whether the database is accessible to anyone on the internet.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    publiclyAccessible?: Value<boolean>;
    /** <code>RelationalDatabaseBundleId</code>  <a name="cfn-lightsail-database-relationaldatabasebundleid"></a>
  The bundle ID for the database (for example, <code>medium_1_0</code>).<br />
  
  Required: Yes<br />
  
  Update requires: Updates are not supported. */
    relationalDatabaseBundleId: Value<string>;
    /** <code>BackupRetention</code>  <a name="cfn-lightsail-database-backupretention"></a>
  A Boolean value indicating whether automated backup retention is enabled for the database.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    backupRetention?: Value<boolean>;
    /** <code>Tags</code>  <a name="cfn-lightsail-database-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a> in the
  AWS CloudFormation User Guide: br />
  The <code>Value</code> of <code>Tags</code> is optional for Lightsail resources.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
