Database Args
    Provides a Lightsail Database. Amazon Lightsail is a service to provide easy virtual private servers with custom software already setup. See What is Amazon Lightsail? for more information.
Note: Lightsail is currently only supported in a limited number of AWS Regions, please see "Regions and Availability Zones" for more details
Example Usage
Basic mysql blueprint
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.lightsail.Database("test", {
    relationalDatabaseName: "test",
    availabilityZone: "us-east-1a",
    masterDatabaseName: "testdatabasename",
    masterPassword: "testdatabasepassword",
    masterUsername: "test",
    blueprintId: "mysql_8_0",
    bundleId: "micro_1_0",
});import pulumi
import pulumi_aws as aws
test = aws.lightsail.Database("test",
    relational_database_name="test",
    availability_zone="us-east-1a",
    master_database_name="testdatabasename",
    master_password="testdatabasepassword",
    master_username="test",
    blueprint_id="mysql_8_0",
    bundle_id="micro_1_0")using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var test = new Aws.LightSail.Database("test", new()
    {
        RelationalDatabaseName = "test",
        AvailabilityZone = "us-east-1a",
        MasterDatabaseName = "testdatabasename",
        MasterPassword = "testdatabasepassword",
        MasterUsername = "test",
        BlueprintId = "mysql_8_0",
        BundleId = "micro_1_0",
    });
});package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := lightsail.NewDatabase(ctx, "test", &lightsail.DatabaseArgs{
			RelationalDatabaseName: pulumi.String("test"),
			AvailabilityZone:       pulumi.String("us-east-1a"),
			MasterDatabaseName:     pulumi.String("testdatabasename"),
			MasterPassword:         pulumi.String("testdatabasepassword"),
			MasterUsername:         pulumi.String("test"),
			BlueprintId:            pulumi.String("mysql_8_0"),
			BundleId:               pulumi.String("micro_1_0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.lightsail.Database;
import com.pulumi.aws.lightsail.DatabaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new Database("test", DatabaseArgs.builder()
            .relationalDatabaseName("test")
            .availabilityZone("us-east-1a")
            .masterDatabaseName("testdatabasename")
            .masterPassword("testdatabasepassword")
            .masterUsername("test")
            .blueprintId("mysql_8_0")
            .bundleId("micro_1_0")
            .build());
    }
}resources:
  test:
    type: aws:lightsail:Database
    properties:
      relationalDatabaseName: test
      availabilityZone: us-east-1a
      masterDatabaseName: testdatabasename
      masterPassword: testdatabasepassword
      masterUsername: test
      blueprintId: mysql_8_0
      bundleId: micro_1_0Basic postrgres blueprint
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.lightsail.Database("test", {
    relationalDatabaseName: "test",
    availabilityZone: "us-east-1a",
    masterDatabaseName: "testdatabasename",
    masterPassword: "testdatabasepassword",
    masterUsername: "test",
    blueprintId: "postgres_12",
    bundleId: "micro_1_0",
});import pulumi
import pulumi_aws as aws
test = aws.lightsail.Database("test",
    relational_database_name="test",
    availability_zone="us-east-1a",
    master_database_name="testdatabasename",
    master_password="testdatabasepassword",
    master_username="test",
    blueprint_id="postgres_12",
    bundle_id="micro_1_0")using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var test = new Aws.LightSail.Database("test", new()
    {
        RelationalDatabaseName = "test",
        AvailabilityZone = "us-east-1a",
        MasterDatabaseName = "testdatabasename",
        MasterPassword = "testdatabasepassword",
        MasterUsername = "test",
        BlueprintId = "postgres_12",
        BundleId = "micro_1_0",
    });
});package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := lightsail.NewDatabase(ctx, "test", &lightsail.DatabaseArgs{
			RelationalDatabaseName: pulumi.String("test"),
			AvailabilityZone:       pulumi.String("us-east-1a"),
			MasterDatabaseName:     pulumi.String("testdatabasename"),
			MasterPassword:         pulumi.String("testdatabasepassword"),
			MasterUsername:         pulumi.String("test"),
			BlueprintId:            pulumi.String("postgres_12"),
			BundleId:               pulumi.String("micro_1_0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.lightsail.Database;
import com.pulumi.aws.lightsail.DatabaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new Database("test", DatabaseArgs.builder()
            .relationalDatabaseName("test")
            .availabilityZone("us-east-1a")
            .masterDatabaseName("testdatabasename")
            .masterPassword("testdatabasepassword")
            .masterUsername("test")
            .blueprintId("postgres_12")
            .bundleId("micro_1_0")
            .build());
    }
}resources:
  test:
    type: aws:lightsail:Database
    properties:
      relationalDatabaseName: test
      availabilityZone: us-east-1a
      masterDatabaseName: testdatabasename
      masterPassword: testdatabasepassword
      masterUsername: test
      blueprintId: postgres_12
      bundleId: micro_1_0Custom backup and maintenance windows
Below is an example that sets a custom backup and maintenance window. Times are specified in UTC. This example will allow daily backups to take place between 16:00 and 16:30 each day. This example also requires any maintiance tasks (anything that would cause an outage, including changing some attributes) to take place on Tuesdays between 17:00 and 17:30. An action taken against this database that would cause an outage will wait until this time window to make the requested changes.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.lightsail.Database("test", {
    relationalDatabaseName: "test",
    availabilityZone: "us-east-1a",
    masterDatabaseName: "testdatabasename",
    masterPassword: "testdatabasepassword",
    masterUsername: "test",
    blueprintId: "postgres_12",
    bundleId: "micro_1_0",
    preferredBackupWindow: "16:00-16:30",
    preferredMaintenanceWindow: "Tue:17:00-Tue:17:30",
});import pulumi
import pulumi_aws as aws
test = aws.lightsail.Database("test",
    relational_database_name="test",
    availability_zone="us-east-1a",
    master_database_name="testdatabasename",
    master_password="testdatabasepassword",
    master_username="test",
    blueprint_id="postgres_12",
    bundle_id="micro_1_0",
    preferred_backup_window="16:00-16:30",
    preferred_maintenance_window="Tue:17:00-Tue:17:30")using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var test = new Aws.LightSail.Database("test", new()
    {
        RelationalDatabaseName = "test",
        AvailabilityZone = "us-east-1a",
        MasterDatabaseName = "testdatabasename",
        MasterPassword = "testdatabasepassword",
        MasterUsername = "test",
        BlueprintId = "postgres_12",
        BundleId = "micro_1_0",
        PreferredBackupWindow = "16:00-16:30",
        PreferredMaintenanceWindow = "Tue:17:00-Tue:17:30",
    });
});package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := lightsail.NewDatabase(ctx, "test", &lightsail.DatabaseArgs{
			RelationalDatabaseName:     pulumi.String("test"),
			AvailabilityZone:           pulumi.String("us-east-1a"),
			MasterDatabaseName:         pulumi.String("testdatabasename"),
			MasterPassword:             pulumi.String("testdatabasepassword"),
			MasterUsername:             pulumi.String("test"),
			BlueprintId:                pulumi.String("postgres_12"),
			BundleId:                   pulumi.String("micro_1_0"),
			PreferredBackupWindow:      pulumi.String("16:00-16:30"),
			PreferredMaintenanceWindow: pulumi.String("Tue:17:00-Tue:17:30"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.lightsail.Database;
import com.pulumi.aws.lightsail.DatabaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new Database("test", DatabaseArgs.builder()
            .relationalDatabaseName("test")
            .availabilityZone("us-east-1a")
            .masterDatabaseName("testdatabasename")
            .masterPassword("testdatabasepassword")
            .masterUsername("test")
            .blueprintId("postgres_12")
            .bundleId("micro_1_0")
            .preferredBackupWindow("16:00-16:30")
            .preferredMaintenanceWindow("Tue:17:00-Tue:17:30")
            .build());
    }
}resources:
  test:
    type: aws:lightsail:Database
    properties:
      relationalDatabaseName: test
      availabilityZone: us-east-1a
      masterDatabaseName: testdatabasename
      masterPassword: testdatabasepassword
      masterUsername: test
      blueprintId: postgres_12
      bundleId: micro_1_0
      preferredBackupWindow: 16:00-16:30
      preferredMaintenanceWindow: Tue:17:00-Tue:17:30Final Snapshots
To enable creating a final snapshot of your database on deletion, use the final_snapshot_name argument to provide a name to be used for the snapshot.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.lightsail.Database("test", {
    relationalDatabaseName: "test",
    availabilityZone: "us-east-1a",
    masterDatabaseName: "testdatabasename",
    masterPassword: "testdatabasepassword",
    masterUsername: "test",
    blueprintId: "postgres_12",
    bundleId: "micro_1_0",
    preferredBackupWindow: "16:00-16:30",
    preferredMaintenanceWindow: "Tue:17:00-Tue:17:30",
    finalSnapshotName: "MyFinalSnapshot",
});import pulumi
import pulumi_aws as aws
test = aws.lightsail.Database("test",
    relational_database_name="test",
    availability_zone="us-east-1a",
    master_database_name="testdatabasename",
    master_password="testdatabasepassword",
    master_username="test",
    blueprint_id="postgres_12",
    bundle_id="micro_1_0",
    preferred_backup_window="16:00-16:30",
    preferred_maintenance_window="Tue:17:00-Tue:17:30",
    final_snapshot_name="MyFinalSnapshot")using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var test = new Aws.LightSail.Database("test", new()
    {
        RelationalDatabaseName = "test",
        AvailabilityZone = "us-east-1a",
        MasterDatabaseName = "testdatabasename",
        MasterPassword = "testdatabasepassword",
        MasterUsername = "test",
        BlueprintId = "postgres_12",
        BundleId = "micro_1_0",
        PreferredBackupWindow = "16:00-16:30",
        PreferredMaintenanceWindow = "Tue:17:00-Tue:17:30",
        FinalSnapshotName = "MyFinalSnapshot",
    });
});package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := lightsail.NewDatabase(ctx, "test", &lightsail.DatabaseArgs{
			RelationalDatabaseName:     pulumi.String("test"),
			AvailabilityZone:           pulumi.String("us-east-1a"),
			MasterDatabaseName:         pulumi.String("testdatabasename"),
			MasterPassword:             pulumi.String("testdatabasepassword"),
			MasterUsername:             pulumi.String("test"),
			BlueprintId:                pulumi.String("postgres_12"),
			BundleId:                   pulumi.String("micro_1_0"),
			PreferredBackupWindow:      pulumi.String("16:00-16:30"),
			PreferredMaintenanceWindow: pulumi.String("Tue:17:00-Tue:17:30"),
			FinalSnapshotName:          pulumi.String("MyFinalSnapshot"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.lightsail.Database;
import com.pulumi.aws.lightsail.DatabaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new Database("test", DatabaseArgs.builder()
            .relationalDatabaseName("test")
            .availabilityZone("us-east-1a")
            .masterDatabaseName("testdatabasename")
            .masterPassword("testdatabasepassword")
            .masterUsername("test")
            .blueprintId("postgres_12")
            .bundleId("micro_1_0")
            .preferredBackupWindow("16:00-16:30")
            .preferredMaintenanceWindow("Tue:17:00-Tue:17:30")
            .finalSnapshotName("MyFinalSnapshot")
            .build());
    }
}resources:
  test:
    type: aws:lightsail:Database
    properties:
      relationalDatabaseName: test
      availabilityZone: us-east-1a
      masterDatabaseName: testdatabasename
      masterPassword: testdatabasepassword
      masterUsername: test
      blueprintId: postgres_12
      bundleId: micro_1_0
      preferredBackupWindow: 16:00-16:30
      preferredMaintenanceWindow: Tue:17:00-Tue:17:30
      finalSnapshotName: MyFinalSnapshotApply Immediately
To enable applying changes immediately instead of waiting for a maintiance window, use the apply_immediately argument.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.lightsail.Database("test", {
    relationalDatabaseName: "test",
    availabilityZone: "us-east-1a",
    masterDatabaseName: "testdatabasename",
    masterPassword: "testdatabasepassword",
    masterUsername: "test",
    blueprintId: "postgres_12",
    bundleId: "micro_1_0",
    applyImmediately: true,
});import pulumi
import pulumi_aws as aws
test = aws.lightsail.Database("test",
    relational_database_name="test",
    availability_zone="us-east-1a",
    master_database_name="testdatabasename",
    master_password="testdatabasepassword",
    master_username="test",
    blueprint_id="postgres_12",
    bundle_id="micro_1_0",
    apply_immediately=True)using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var test = new Aws.LightSail.Database("test", new()
    {
        RelationalDatabaseName = "test",
        AvailabilityZone = "us-east-1a",
        MasterDatabaseName = "testdatabasename",
        MasterPassword = "testdatabasepassword",
        MasterUsername = "test",
        BlueprintId = "postgres_12",
        BundleId = "micro_1_0",
        ApplyImmediately = true,
    });
});package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := lightsail.NewDatabase(ctx, "test", &lightsail.DatabaseArgs{
			RelationalDatabaseName: pulumi.String("test"),
			AvailabilityZone:       pulumi.String("us-east-1a"),
			MasterDatabaseName:     pulumi.String("testdatabasename"),
			MasterPassword:         pulumi.String("testdatabasepassword"),
			MasterUsername:         pulumi.String("test"),
			BlueprintId:            pulumi.String("postgres_12"),
			BundleId:               pulumi.String("micro_1_0"),
			ApplyImmediately:       pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.lightsail.Database;
import com.pulumi.aws.lightsail.DatabaseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new Database("test", DatabaseArgs.builder()
            .relationalDatabaseName("test")
            .availabilityZone("us-east-1a")
            .masterDatabaseName("testdatabasename")
            .masterPassword("testdatabasepassword")
            .masterUsername("test")
            .blueprintId("postgres_12")
            .bundleId("micro_1_0")
            .applyImmediately(true)
            .build());
    }
}resources:
  test:
    type: aws:lightsail:Database
    properties:
      relationalDatabaseName: test
      availabilityZone: us-east-1a
      masterDatabaseName: testdatabasename
      masterPassword: testdatabasepassword
      masterUsername: test
      blueprintId: postgres_12
      bundleId: micro_1_0
      applyImmediately: trueBlueprint Ids
A list of all available Lightsail Blueprints for Relational Databases the aws lightsail get-relational-database-blueprints aws cli command.
Examples
mysql_8_0postgres_12
Prefix
A Blueprint ID starts with a prefix of the engine type.
Suffix
A Blueprint ID has a sufix of the engine version.
Bundles
A list of all available Lightsail Bundles for Relational Databases the aws lightsail get-relational-database-bundles aws cli command.
Examples
small_1_0small_ha_1_0large_1_0large_ha_1_0
Prefix
A Bundle ID starts with one of the below size prefixes:
micro_small_medium_large_
Infixes (Optional for HA Database)
A Bundle Id can have the following infix added in order to use the HA option of the selected bundle.
ha_
Suffix
A Bundle ID ends with one of the following suffix: 1_0
Import
Using pulumi import, import Lightsail Databases using their name. For example:
$ pulumi import aws:lightsail/database:Database foo 'bar'Constructors
Functions
Properties
Determines whether a final database snapshot is created before your database is deleted. If true is specified, no database snapshot is created. If false is specified, a database snapshot is created before your database is deleted. You must specify the final relational database snapshot name parameter if the skip final snapshot parameter is false.