rds

package
v3.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2020 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

View Source
const (
	EngineModeProvisioned   = EngineMode("provisioned")
	EngineModeServerless    = EngineMode("serverless")
	EngineModeParallelQuery = EngineMode("parallelquery")
	EngineModeGlobal        = EngineMode("global")
)
View Source
const (
	EngineTypeAurora           = EngineType("aurora")
	EngineTypeAuroraMysql      = EngineType("aurora-mysql")
	EngineTypeAuroraPostgresql = EngineType("aurora-postgresql")
)
View Source
const (
	InstanceType_T3_Micro     = InstanceType("db.t3.micro")
	InstanceType_T3_Small     = InstanceType("db.t3.small")
	InstanceType_T3_Medium    = InstanceType("db.t3.medium")
	InstanceType_T3_Large     = InstanceType("db.t3.large")
	InstanceType_T3_XLarge    = InstanceType("db.t3.xlarge")
	InstanceType_T3_2XLarge   = InstanceType("db.t3.2xlarge")
	InstanceType_T2_Micro     = InstanceType("db.t2.micro")
	InstanceType_T2_Small     = InstanceType("db.t2.small")
	InstanceType_T2_Medium    = InstanceType("db.t2.medium")
	InstanceType_T2_Large     = InstanceType("db.t2.large")
	InstanceType_T2_XLarge    = InstanceType("db.t2.xlarge")
	InstanceType_T2_2XLarge   = InstanceType("db.t2.2xlarge")
	InstanceType_M1_Small     = InstanceType("db.m1.small")
	InstanceType_M1_Medium    = InstanceType("db.m1.medium")
	InstanceType_M1_Large     = InstanceType("db.m1.large")
	InstanceType_M1_XLarge    = InstanceType("db.m1.xlarge")
	InstanceType_M2_XLarge    = InstanceType("db.m2.xlarge")
	InstanceType_M2_2XLarge   = InstanceType("db.m2.2xlarge")
	InstanceType_M2_4XLarge   = InstanceType("db.m2.4xlarge")
	InstanceType_M3_Medium    = InstanceType("db.m3.medium")
	InstanceType_M3_Large     = InstanceType("db.m3.large")
	InstanceType_M3_XLarge    = InstanceType("db.m3.xlarge")
	InstanceType_M3_2XLarge   = InstanceType("db.m3.2xlarge")
	InstanceType_M4_Large     = InstanceType("db.m4.large")
	InstanceType_M4_XLarge    = InstanceType("db.m4.xlarge")
	InstanceType_M4_2XLarge   = InstanceType("db.m4.2xlarge")
	InstanceType_M4_4XLarge   = InstanceType("db.m4.4xlarge")
	InstanceType_M4_10XLarge  = InstanceType("db.m4.10xlarge")
	InstanceType_M4_16XLarge  = InstanceType("db.m4.10xlarge")
	InstanceType_M5_Large     = InstanceType("db.m5.large")
	InstanceType_M5_XLarge    = InstanceType("db.m5.xlarge")
	InstanceType_M5_2XLarge   = InstanceType("db.m5.2xlarge")
	InstanceType_M5_4XLarge   = InstanceType("db.m5.4xlarge")
	InstanceType_M5_12XLarge  = InstanceType("db.m5.12xlarge")
	InstanceType_M5_24XLarge  = InstanceType("db.m5.24xlarge")
	InstanceType_R3_Large     = InstanceType("db.r3.large")
	InstanceType_R3_XLarge    = InstanceType("db.r3.xlarge")
	InstanceType_R3_2XLarge   = InstanceType("db.r3.2xlarge")
	InstanceType_R3_4XLarge   = InstanceType("db.r3.4xlarge")
	InstanceType_R3_8XLarge   = InstanceType("db.r3.8xlarge")
	InstanceType_R4_Large     = InstanceType("db.r4.large")
	InstanceType_R4_XLarge    = InstanceType("db.r4.xlarge")
	InstanceType_R4_2XLarge   = InstanceType("db.r4.2xlarge")
	InstanceType_R4_4XLarge   = InstanceType("db.r4.4xlarge")
	InstanceType_R4_8XLarge   = InstanceType("db.r4.8xlarge")
	InstanceType_R4_16XLarge  = InstanceType("db.r4.16xlarge")
	InstanceType_R5_Large     = InstanceType("db.r5.large")
	InstanceType_R5_XLarge    = InstanceType("db.r5.xlarge")
	InstanceType_R5_2XLarge   = InstanceType("db.r5.2xlarge")
	InstanceType_R5_4XLarge   = InstanceType("db.r5.4xlarge")
	InstanceType_R5_12XLarge  = InstanceType("db.r5.12xlarge")
	InstanceType_R5_24XLarge  = InstanceType("db.r5.24xlarge")
	InstanceType_X1_16XLarge  = InstanceType("db.x1.16xlarge")
	InstanceType_X1_32XLarge  = InstanceType("db.x1.32xlarge")
	InstanceType_X1E_XLarge   = InstanceType("db.x1e.xlarge")
	InstanceType_X1E_2XLarge  = InstanceType("db.x1e.2xlarge")
	InstanceType_X1E_4XLarge  = InstanceType("db.x1e.4xlarge")
	InstanceType_X1E_8XLarge  = InstanceType("db.x1e.8xlarge")
	InstanceType_X1E_32XLarge = InstanceType("db.x1e.32xlarge")
)
View Source
const (
	StorageTypeStandard = StorageType("standard")
	StorageTypeGP2      = StorageType("gp2")
	StorageTypeIO1      = StorageType("io1")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`.
	AllowMajorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowMajorVersionUpgrade"`
	// Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
	ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"`
	// Amazon Resource Name (ARN) of cluster
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A list of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next provider update. It is recommended to specify 3 AZs or use [the `ignoreChanges` argument](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) if necessary.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// The target backtrack window, in seconds. Only available for `aurora` engine currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours)
	BacktrackWindow pulumi.IntPtrOutput `pulumi:"backtrackWindow"`
	// The days to retain backups for. Default `1`
	BackupRetentionPeriod pulumi.IntPtrOutput `pulumi:"backupRetentionPeriod"`
	// The cluster identifier. If omitted, this provider will assign a random, unique identifier.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`.
	ClusterIdentifierPrefix pulumi.StringOutput `pulumi:"clusterIdentifierPrefix"`
	// List of RDS Instances that are a part of this cluster
	ClusterMembers pulumi.StringArrayOutput `pulumi:"clusterMembers"`
	// The RDS Cluster Resource ID
	ClusterResourceId pulumi.StringOutput `pulumi:"clusterResourceId"`
	// Copy all Cluster `tags` to snapshots. Default is `false`.
	CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"`
	// Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// A cluster parameter group to associate with the cluster.
	DbClusterParameterGroupName pulumi.StringOutput `pulumi:"dbClusterParameterGroupName"`
	// A DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster.
	DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"`
	// If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"`
	// Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`.
	EnableHttpEndpoint pulumi.BoolPtrOutput `pulumi:"enableHttpEndpoint"`
	// Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL).
	EnabledCloudwatchLogsExports pulumi.StringArrayOutput `pulumi:"enabledCloudwatchLogsExports"`
	// The DNS address of the RDS instance
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// The name of the database engine to be used for this DB cluster. Defaults to `aurora`. Valid Values: `aurora`, `aurora-mysql`, `aurora-postgresql`
	Engine pulumi.StringPtrOutput `pulumi:"engine"`
	// The database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `multimaster`, `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html) for limitations when using `serverless`.
	EngineMode pulumi.StringPtrOutput `pulumi:"engineMode"`
	// The database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// The name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"`
	// The global cluster identifier specified on `rds.GlobalCluster`.
	GlobalClusterIdentifier pulumi.StringPtrOutput `pulumi:"globalClusterIdentifier"`
	// The Route53 Hosted Zone ID of the endpoint
	HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"`
	// Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations.
	IamDatabaseAuthenticationEnabled pulumi.BoolPtrOutput `pulumi:"iamDatabaseAuthenticationEnabled"`
	// A List of ARNs for the IAM roles to associate to the RDS Cluster.
	IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"`
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)
	MasterPassword pulumi.StringPtrOutput `pulumi:"masterPassword"`
	// Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot.
	MasterUsername pulumi.StringOutput `pulumi:"masterUsername"`
	// The port on which the DB accepts connections
	Port pulumi.IntOutput `pulumi:"port"`
	// The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region. e.g. 04:00-09:00
	PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"`
	// The weekly time range during which system maintenance can occur, in (UTC) e.g. wed:04:00-wed:04:30
	PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"`
	// A read-only endpoint for the Aurora cluster, automatically
	// load-balanced across replicas
	ReaderEndpoint pulumi.StringOutput `pulumi:"readerEndpoint"`
	// ARN of the source DB cluster or DB instance if this DB cluster is created as a Read Replica.
	ReplicationSourceIdentifier pulumi.StringPtrOutput `pulumi:"replicationSourceIdentifier"`
	// Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PIT.html). More details below.
	RestoreToPointInTime ClusterRestoreToPointInTimePtrOutput `pulumi:"restoreToPointInTime"`
	S3Import             ClusterS3ImportPtrOutput             `pulumi:"s3Import"`
	// Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below.
	ScalingConfiguration ClusterScalingConfigurationPtrOutput `pulumi:"scalingConfiguration"`
	// Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`.
	SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"`
	// Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot.
	SnapshotIdentifier pulumi.StringPtrOutput `pulumi:"snapshotIdentifier"`
	// The source region for an encrypted replica DB cluster.
	SourceRegion pulumi.StringPtrOutput `pulumi:"sourceRegion"`
	// Specifies whether the DB cluster is encrypted
	StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"`
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// List of VPC security groups to associate with the Cluster
	VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"`
}

Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `rds.ClusterInstance` resource. To manage non-Aurora databases (e.g. MySQL, PostgreSQL, SQL Server, etc.), see the `rds.Instance` resource.

For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.

Changes to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately (see documentation below).

> **Note:** using `applyImmediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.

> **Note:** All arguments including the username and password will be stored in the raw state as plain-text.

## Example Usage ### Aurora MySQL 2.x (MySQL 5.7)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "_default", &rds.ClusterArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
				pulumi.String("us-west-2c"),
			},
			BackupRetentionPeriod: pulumi.Int(5),
			DatabaseName:          pulumi.String("mydb"),
			Engine:                pulumi.String("aurora-mysql"),
			EngineVersion:         pulumi.String("5.7.mysql_aurora.2.03.2"),
			MasterPassword:        pulumi.String("bar"),
			MasterUsername:        pulumi.String("foo"),
			PreferredBackupWindow: pulumi.String("07:00-09:00"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Aurora MySQL 1.x (MySQL 5.6)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "_default", &rds.ClusterArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
				pulumi.String("us-west-2c"),
			},
			BackupRetentionPeriod: pulumi.Int(5),
			DatabaseName:          pulumi.String("mydb"),
			MasterPassword:        pulumi.String("bar"),
			MasterUsername:        pulumi.String("foo"),
			PreferredBackupWindow: pulumi.String("07:00-09:00"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Aurora with PostgreSQL engine

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "postgresql", &rds.ClusterArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
				pulumi.String("us-west-2c"),
			},
			BackupRetentionPeriod: pulumi.Int(5),
			DatabaseName:          pulumi.String("mydb"),
			Engine:                pulumi.String("aurora-postgresql"),
			MasterPassword:        pulumi.String("bar"),
			MasterUsername:        pulumi.String("foo"),
			PreferredBackupWindow: pulumi.String("07:00-09:00"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Aurora Multi-Master Cluster

> More information about Aurora Multi-Master Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html).

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "example", &rds.ClusterArgs{
			DbSubnetGroupName: pulumi.Any(aws_db_subnet_group.Example.Name),
			EngineMode:        pulumi.String("multimaster"),
			MasterPassword:    pulumi.String("barbarbarbar"),
			MasterUsername:    pulumi.String("foo"),
			SkipFinalSnapshot: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS Clusters can be imported using the `cluster_identifier`, e.g.

```sh

$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster

```

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

func (Cluster) ElementType added in v3.13.0

func (Cluster) ElementType() reflect.Type

func (Cluster) ToClusterOutput added in v3.13.0

func (i Cluster) ToClusterOutput() ClusterOutput

func (Cluster) ToClusterOutputWithContext added in v3.13.0

func (i Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`.
	AllowMajorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
	ApplyImmediately pulumi.BoolPtrInput
	// A list of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next provider update. It is recommended to specify 3 AZs or use [the `ignoreChanges` argument](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) if necessary.
	AvailabilityZones pulumi.StringArrayInput
	// The target backtrack window, in seconds. Only available for `aurora` engine currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours)
	BacktrackWindow pulumi.IntPtrInput
	// The days to retain backups for. Default `1`
	BackupRetentionPeriod pulumi.IntPtrInput
	// The cluster identifier. If omitted, this provider will assign a random, unique identifier.
	ClusterIdentifier pulumi.StringPtrInput
	// Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`.
	ClusterIdentifierPrefix pulumi.StringPtrInput
	// List of RDS Instances that are a part of this cluster
	ClusterMembers pulumi.StringArrayInput
	// Copy all Cluster `tags` to snapshots. Default is `false`.
	CopyTagsToSnapshot pulumi.BoolPtrInput
	// Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)
	DatabaseName pulumi.StringPtrInput
	// A cluster parameter group to associate with the cluster.
	DbClusterParameterGroupName pulumi.StringPtrInput
	// A DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster.
	DbSubnetGroupName pulumi.StringPtrInput
	// If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrInput
	// Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`.
	EnableHttpEndpoint pulumi.BoolPtrInput
	// Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL).
	EnabledCloudwatchLogsExports pulumi.StringArrayInput
	// The name of the database engine to be used for this DB cluster. Defaults to `aurora`. Valid Values: `aurora`, `aurora-mysql`, `aurora-postgresql`
	Engine pulumi.StringPtrInput
	// The database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `multimaster`, `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html) for limitations when using `serverless`.
	EngineMode pulumi.StringPtrInput
	// The database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`.
	EngineVersion pulumi.StringPtrInput
	// The name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The global cluster identifier specified on `rds.GlobalCluster`.
	GlobalClusterIdentifier pulumi.StringPtrInput
	// Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations.
	IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput
	// A List of ARNs for the IAM roles to associate to the RDS Cluster.
	IamRoles pulumi.StringArrayInput
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true.
	KmsKeyId pulumi.StringPtrInput
	// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)
	MasterPassword pulumi.StringPtrInput
	// Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot.
	MasterUsername pulumi.StringPtrInput
	// The port on which the DB accepts connections
	Port pulumi.IntPtrInput
	// The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region. e.g. 04:00-09:00
	PreferredBackupWindow pulumi.StringPtrInput
	// The weekly time range during which system maintenance can occur, in (UTC) e.g. wed:04:00-wed:04:30
	PreferredMaintenanceWindow pulumi.StringPtrInput
	// ARN of the source DB cluster or DB instance if this DB cluster is created as a Read Replica.
	ReplicationSourceIdentifier pulumi.StringPtrInput
	// Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PIT.html). More details below.
	RestoreToPointInTime ClusterRestoreToPointInTimePtrInput
	S3Import             ClusterS3ImportPtrInput
	// Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below.
	ScalingConfiguration ClusterScalingConfigurationPtrInput
	// Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`.
	SkipFinalSnapshot pulumi.BoolPtrInput
	// Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot.
	SnapshotIdentifier pulumi.StringPtrInput
	// The source region for an encrypted replica DB cluster.
	SourceRegion pulumi.StringPtrInput
	// Specifies whether the DB cluster is encrypted
	StorageEncrypted pulumi.BoolPtrInput
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapInput
	// List of VPC security groups to associate with the Cluster
	VpcSecurityGroupIds pulumi.StringArrayInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterEndpoint

type ClusterEndpoint struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of cluster
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The identifier to use for the new endpoint. This parameter is stored as a lowercase string.
	ClusterEndpointIdentifier pulumi.StringOutput `pulumi:"clusterEndpointIdentifier"`
	// The cluster identifier.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// The type of the endpoint. One of: READER , ANY .
	CustomEndpointType pulumi.StringOutput `pulumi:"customEndpointType"`
	// A custom endpoint for the Aurora cluster
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with `staticMembers`.
	ExcludedMembers pulumi.StringArrayOutput `pulumi:"excludedMembers"`
	// List of DB instance identifiers that are part of the custom endpoint group. Conflicts with `excludedMembers`.
	StaticMembers pulumi.StringArrayOutput `pulumi:"staticMembers"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an RDS Aurora Cluster Endpoint. You can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "_default", &rds.ClusterArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
				pulumi.String("us-west-2c"),
			},
			DatabaseName:          pulumi.String("mydb"),
			MasterUsername:        pulumi.String("foo"),
			MasterPassword:        pulumi.String("bar"),
			BackupRetentionPeriod: pulumi.Int(5),
			PreferredBackupWindow: pulumi.String("07:00-09:00"),
		})
		if err != nil {
			return err
		}
		test1, err := rds.NewClusterInstance(ctx, "test1", &rds.ClusterInstanceArgs{
			ApplyImmediately:  pulumi.Bool(true),
			ClusterIdentifier: _default.ID(),
			Identifier:        pulumi.String("test1"),
			InstanceClass:     pulumi.String("db.t2.small"),
			Engine:            _default.Engine,
			EngineVersion:     _default.EngineVersion,
		})
		if err != nil {
			return err
		}
		test2, err := rds.NewClusterInstance(ctx, "test2", &rds.ClusterInstanceArgs{
			ApplyImmediately:  pulumi.Bool(true),
			ClusterIdentifier: _default.ID(),
			Identifier:        pulumi.String("test2"),
			InstanceClass:     pulumi.String("db.t2.small"),
			Engine:            _default.Engine,
			EngineVersion:     _default.EngineVersion,
		})
		if err != nil {
			return err
		}
		test3, err := rds.NewClusterInstance(ctx, "test3", &rds.ClusterInstanceArgs{
			ApplyImmediately:  pulumi.Bool(true),
			ClusterIdentifier: _default.ID(),
			Identifier:        pulumi.String("test3"),
			InstanceClass:     pulumi.String("db.t2.small"),
			Engine:            _default.Engine,
			EngineVersion:     _default.EngineVersion,
		})
		if err != nil {
			return err
		}
		_, err = rds.NewClusterEndpoint(ctx, "eligible", &rds.ClusterEndpointArgs{
			ClusterIdentifier:         _default.ID(),
			ClusterEndpointIdentifier: pulumi.String("reader"),
			CustomEndpointType:        pulumi.String("READER"),
			ExcludedMembers: pulumi.StringArray{
				test1.ID(),
				test2.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = rds.NewClusterEndpoint(ctx, "static", &rds.ClusterEndpointArgs{
			ClusterIdentifier:         _default.ID(),
			ClusterEndpointIdentifier: pulumi.String("static"),
			CustomEndpointType:        pulumi.String("READER"),
			StaticMembers: pulumi.StringArray{
				test1.ID(),
				test3.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS Clusters Endpoint can be imported using the `cluster_endpoint_identifier`, e.g.

```sh

$ pulumi import aws:rds/clusterEndpoint:ClusterEndpoint custom_reader aurora-prod-cluster-custom-reader

```

[1]https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster

func GetClusterEndpoint

func GetClusterEndpoint(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterEndpointState, opts ...pulumi.ResourceOption) (*ClusterEndpoint, error)

GetClusterEndpoint gets an existing ClusterEndpoint resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterEndpoint

func NewClusterEndpoint(ctx *pulumi.Context,
	name string, args *ClusterEndpointArgs, opts ...pulumi.ResourceOption) (*ClusterEndpoint, error)

NewClusterEndpoint registers a new resource with the given unique name, arguments, and options.

func (ClusterEndpoint) ElementType added in v3.13.0

func (ClusterEndpoint) ElementType() reflect.Type

func (ClusterEndpoint) ToClusterEndpointOutput added in v3.13.0

func (i ClusterEndpoint) ToClusterEndpointOutput() ClusterEndpointOutput

func (ClusterEndpoint) ToClusterEndpointOutputWithContext added in v3.13.0

func (i ClusterEndpoint) ToClusterEndpointOutputWithContext(ctx context.Context) ClusterEndpointOutput

type ClusterEndpointArgs

type ClusterEndpointArgs struct {
	// The identifier to use for the new endpoint. This parameter is stored as a lowercase string.
	ClusterEndpointIdentifier pulumi.StringInput
	// The cluster identifier.
	ClusterIdentifier pulumi.StringInput
	// The type of the endpoint. One of: READER , ANY .
	CustomEndpointType pulumi.StringInput
	// List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with `staticMembers`.
	ExcludedMembers pulumi.StringArrayInput
	// List of DB instance identifiers that are part of the custom endpoint group. Conflicts with `excludedMembers`.
	StaticMembers pulumi.StringArrayInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterEndpoint resource.

func (ClusterEndpointArgs) ElementType

func (ClusterEndpointArgs) ElementType() reflect.Type

type ClusterEndpointInput added in v3.13.0

type ClusterEndpointInput interface {
	pulumi.Input

	ToClusterEndpointOutput() ClusterEndpointOutput
	ToClusterEndpointOutputWithContext(ctx context.Context) ClusterEndpointOutput
}

type ClusterEndpointOutput added in v3.13.0

type ClusterEndpointOutput struct {
	*pulumi.OutputState
}

func (ClusterEndpointOutput) ElementType added in v3.13.0

func (ClusterEndpointOutput) ElementType() reflect.Type

func (ClusterEndpointOutput) ToClusterEndpointOutput added in v3.13.0

func (o ClusterEndpointOutput) ToClusterEndpointOutput() ClusterEndpointOutput

func (ClusterEndpointOutput) ToClusterEndpointOutputWithContext added in v3.13.0

func (o ClusterEndpointOutput) ToClusterEndpointOutputWithContext(ctx context.Context) ClusterEndpointOutput

type ClusterEndpointState

type ClusterEndpointState struct {
	// Amazon Resource Name (ARN) of cluster
	Arn pulumi.StringPtrInput
	// The identifier to use for the new endpoint. This parameter is stored as a lowercase string.
	ClusterEndpointIdentifier pulumi.StringPtrInput
	// The cluster identifier.
	ClusterIdentifier pulumi.StringPtrInput
	// The type of the endpoint. One of: READER , ANY .
	CustomEndpointType pulumi.StringPtrInput
	// A custom endpoint for the Aurora cluster
	Endpoint pulumi.StringPtrInput
	// List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with `staticMembers`.
	ExcludedMembers pulumi.StringArrayInput
	// List of DB instance identifiers that are part of the custom endpoint group. Conflicts with `excludedMembers`.
	StaticMembers pulumi.StringArrayInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

func (ClusterEndpointState) ElementType

func (ClusterEndpointState) ElementType() reflect.Type

type ClusterInput added in v3.13.0

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterInstance

type ClusterInstance struct {
	pulumi.CustomResourceState

	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is`false`.
	ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"`
	// Amazon Resource Name (ARN) of cluster instance
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"`
	// The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The identifier of the CA certificate for the DB instance.
	CaCertIdentifier pulumi.StringOutput `pulumi:"caCertIdentifier"`
	// The identifier of the `rds.Cluster` in which to launch this instance.
	ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"`
	// Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`.
	CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"`
	// The name of the DB parameter group to associate with this instance.
	DbParameterGroupName pulumi.StringOutput `pulumi:"dbParameterGroupName"`
	// A DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`.
	DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"`
	// The region-unique, immutable identifier for the DB instance.
	DbiResourceId pulumi.StringOutput `pulumi:"dbiResourceId"`
	// The DNS address for this instance. May not be writable
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// The name of the database engine to be used for the RDS instance. Defaults to `aurora`. Valid Values: `aurora`, `aurora-mysql`, `aurora-postgresql`.
	// For information on the difference between the available Aurora MySQL engines
	// see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)
	// in the Amazon RDS User Guide.
	Engine pulumi.StringPtrOutput `pulumi:"engine"`
	// The database engine version
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// The indentifier for the RDS instance, if omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringOutput `pulumi:"identifier"`
	// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"`
	// The instance class to use. For details on CPU
	// and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details.
	InstanceClass pulumi.StringOutput `pulumi:"instanceClass"`
	// The ARN for the KMS encryption key if one is set to the cluster.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.
	MonitoringInterval pulumi.IntPtrOutput `pulumi:"monitoringInterval"`
	// The ARN for the IAM role that permits RDS to send
	// enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html)
	// what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.
	MonitoringRoleArn pulumi.StringOutput `pulumi:"monitoringRoleArn"`
	// Specifies whether Performance Insights is enabled or not.
	PerformanceInsightsEnabled pulumi.BoolOutput `pulumi:"performanceInsightsEnabled"`
	// The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true.
	PerformanceInsightsKmsKeyId pulumi.StringOutput `pulumi:"performanceInsightsKmsKeyId"`
	// The database port
	Port pulumi.IntOutput `pulumi:"port"`
	// The daily time range during which automated backups are created if automated backups are enabled.
	// Eg: "04:00-09:00"
	PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"`
	// The window to perform maintenance in.
	// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00".
	PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"`
	// Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.
	PromotionTier pulumi.IntPtrOutput `pulumi:"promotionTier"`
	// Bool to control if instance is publicly accessible.
	// Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more
	// details on controlling this property.
	PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"`
	// Specifies whether the DB cluster is encrypted.
	StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"`
	// A map of tags to assign to the instance.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Boolean indicating if this instance is writable. `False` indicates this instance is a read replica.
	Writer pulumi.BoolOutput `pulumi:"writer"`
}

Provides an RDS Cluster Instance Resource. A Cluster Instance Resource defines attributes that are specific to a single instance in a [RDS Cluster](https://www.terraform.io/docs/providers/aws/r/rds_cluster.html), specifically running Amazon Aurora.

Unlike other RDS resources that support replication, with Amazon Aurora you do not designate a primary and subsequent replicas. Instead, you simply add RDS Instances and Aurora manages the replication. You can use the [count](https://www.terraform.io/docs/configuration/resources.html#count) meta-parameter to make multiple instances and join them all to the same RDS Cluster, or you may specify different Cluster Instance resources with various `instanceClass` sizes.

For more information on Amazon Aurora, see [Aurora on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) in the Amazon RDS User Guide.

> **NOTE:** Deletion Protection from the RDS service can only be enabled at the cluster level, not for individual cluster instances. You can still add the [`protect` CustomResourceOption](https://www.pulumi.com/docs/intro/concepts/programming-model/#protect) to this resource configuration if you desire protection from accidental deletion.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "_default", &rds.ClusterArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
				pulumi.String("us-west-2c"),
			},
			DatabaseName:   pulumi.String("mydb"),
			MasterUsername: pulumi.String("foo"),
			MasterPassword: pulumi.String("barbut8chars"),
		})
		if err != nil {
			return err
		}
		var clusterInstances []*rds.ClusterInstance
		for key0, val0 := range 2 {
			__res, err := rds.NewClusterInstance(ctx, fmt.Sprintf("clusterInstances-%v", key0), &rds.ClusterInstanceArgs{
				Identifier:        pulumi.String(fmt.Sprintf("%v%v", "aurora-cluster-demo-", val0)),
				ClusterIdentifier: _default.ID(),
				InstanceClass:     pulumi.String("db.r4.large"),
				Engine:            _default.Engine,
				EngineVersion:     _default.EngineVersion,
			})
			if err != nil {
				return err
			}
			clusterInstances = append(clusterInstances, __res)
		}
		return nil
	})
}

```

## Import

RDS Cluster Instances can be imported using the `identifier`, e.g.

```sh

$ pulumi import aws:rds/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1

```

func GetClusterInstance

func GetClusterInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterInstanceState, opts ...pulumi.ResourceOption) (*ClusterInstance, error)

GetClusterInstance gets an existing ClusterInstance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterInstance

func NewClusterInstance(ctx *pulumi.Context,
	name string, args *ClusterInstanceArgs, opts ...pulumi.ResourceOption) (*ClusterInstance, error)

NewClusterInstance registers a new resource with the given unique name, arguments, and options.

func (ClusterInstance) ElementType added in v3.13.0

func (ClusterInstance) ElementType() reflect.Type

func (ClusterInstance) ToClusterInstanceOutput added in v3.13.0

func (i ClusterInstance) ToClusterInstanceOutput() ClusterInstanceOutput

func (ClusterInstance) ToClusterInstanceOutputWithContext added in v3.13.0

func (i ClusterInstance) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput

type ClusterInstanceArgs

type ClusterInstanceArgs struct {
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is`false`.
	ApplyImmediately pulumi.BoolPtrInput
	// Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details.
	AvailabilityZone pulumi.StringPtrInput
	// The identifier of the CA certificate for the DB instance.
	CaCertIdentifier pulumi.StringPtrInput
	// The identifier of the `rds.Cluster` in which to launch this instance.
	ClusterIdentifier pulumi.StringInput
	// Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`.
	CopyTagsToSnapshot pulumi.BoolPtrInput
	// The name of the DB parameter group to associate with this instance.
	DbParameterGroupName pulumi.StringPtrInput
	// A DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`.
	DbSubnetGroupName pulumi.StringPtrInput
	// The name of the database engine to be used for the RDS instance. Defaults to `aurora`. Valid Values: `aurora`, `aurora-mysql`, `aurora-postgresql`.
	// For information on the difference between the available Aurora MySQL engines
	// see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)
	// in the Amazon RDS User Guide.
	Engine pulumi.StringPtrInput
	// The database engine version
	EngineVersion pulumi.StringPtrInput
	// The indentifier for the RDS instance, if omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringPtrInput
	// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringPtrInput
	// The instance class to use. For details on CPU
	// and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details.
	InstanceClass pulumi.StringInput
	// The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.
	MonitoringInterval pulumi.IntPtrInput
	// The ARN for the IAM role that permits RDS to send
	// enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html)
	// what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.
	MonitoringRoleArn pulumi.StringPtrInput
	// Specifies whether Performance Insights is enabled or not.
	PerformanceInsightsEnabled pulumi.BoolPtrInput
	// The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true.
	PerformanceInsightsKmsKeyId pulumi.StringPtrInput
	// The daily time range during which automated backups are created if automated backups are enabled.
	// Eg: "04:00-09:00"
	PreferredBackupWindow pulumi.StringPtrInput
	// The window to perform maintenance in.
	// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00".
	PreferredMaintenanceWindow pulumi.StringPtrInput
	// Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.
	PromotionTier pulumi.IntPtrInput
	// Bool to control if instance is publicly accessible.
	// Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more
	// details on controlling this property.
	PubliclyAccessible pulumi.BoolPtrInput
	// A map of tags to assign to the instance.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterInstance resource.

func (ClusterInstanceArgs) ElementType

func (ClusterInstanceArgs) ElementType() reflect.Type

type ClusterInstanceInput added in v3.13.0

type ClusterInstanceInput interface {
	pulumi.Input

	ToClusterInstanceOutput() ClusterInstanceOutput
	ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput
}

type ClusterInstanceOutput added in v3.13.0

type ClusterInstanceOutput struct {
	*pulumi.OutputState
}

func (ClusterInstanceOutput) ElementType added in v3.13.0

func (ClusterInstanceOutput) ElementType() reflect.Type

func (ClusterInstanceOutput) ToClusterInstanceOutput added in v3.13.0

func (o ClusterInstanceOutput) ToClusterInstanceOutput() ClusterInstanceOutput

func (ClusterInstanceOutput) ToClusterInstanceOutputWithContext added in v3.13.0

func (o ClusterInstanceOutput) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput

type ClusterInstanceState

type ClusterInstanceState struct {
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is`false`.
	ApplyImmediately pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of cluster instance
	Arn pulumi.StringPtrInput
	// Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details.
	AvailabilityZone pulumi.StringPtrInput
	// The identifier of the CA certificate for the DB instance.
	CaCertIdentifier pulumi.StringPtrInput
	// The identifier of the `rds.Cluster` in which to launch this instance.
	ClusterIdentifier pulumi.StringPtrInput
	// Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`.
	CopyTagsToSnapshot pulumi.BoolPtrInput
	// The name of the DB parameter group to associate with this instance.
	DbParameterGroupName pulumi.StringPtrInput
	// A DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`.
	DbSubnetGroupName pulumi.StringPtrInput
	// The region-unique, immutable identifier for the DB instance.
	DbiResourceId pulumi.StringPtrInput
	// The DNS address for this instance. May not be writable
	Endpoint pulumi.StringPtrInput
	// The name of the database engine to be used for the RDS instance. Defaults to `aurora`. Valid Values: `aurora`, `aurora-mysql`, `aurora-postgresql`.
	// For information on the difference between the available Aurora MySQL engines
	// see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)
	// in the Amazon RDS User Guide.
	Engine pulumi.StringPtrInput
	// The database engine version
	EngineVersion pulumi.StringPtrInput
	// The indentifier for the RDS instance, if omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringPtrInput
	// Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringPtrInput
	// The instance class to use. For details on CPU
	// and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details.
	InstanceClass pulumi.StringPtrInput
	// The ARN for the KMS encryption key if one is set to the cluster.
	KmsKeyId pulumi.StringPtrInput
	// The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.
	MonitoringInterval pulumi.IntPtrInput
	// The ARN for the IAM role that permits RDS to send
	// enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html)
	// what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.
	MonitoringRoleArn pulumi.StringPtrInput
	// Specifies whether Performance Insights is enabled or not.
	PerformanceInsightsEnabled pulumi.BoolPtrInput
	// The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true.
	PerformanceInsightsKmsKeyId pulumi.StringPtrInput
	// The database port
	Port pulumi.IntPtrInput
	// The daily time range during which automated backups are created if automated backups are enabled.
	// Eg: "04:00-09:00"
	PreferredBackupWindow pulumi.StringPtrInput
	// The window to perform maintenance in.
	// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00".
	PreferredMaintenanceWindow pulumi.StringPtrInput
	// Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.
	PromotionTier pulumi.IntPtrInput
	// Bool to control if instance is publicly accessible.
	// Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more
	// details on controlling this property.
	PubliclyAccessible pulumi.BoolPtrInput
	// Specifies whether the DB cluster is encrypted.
	StorageEncrypted pulumi.BoolPtrInput
	// A map of tags to assign to the instance.
	Tags pulumi.StringMapInput
	// Boolean indicating if this instance is writable. `False` indicates this instance is a read replica.
	Writer pulumi.BoolPtrInput
}

func (ClusterInstanceState) ElementType

func (ClusterInstanceState) ElementType() reflect.Type

type ClusterOutput added in v3.13.0

type ClusterOutput struct {
	*pulumi.OutputState
}

func (ClusterOutput) ElementType added in v3.13.0

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) ToClusterOutput added in v3.13.0

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext added in v3.13.0

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterParameterGroup

type ClusterParameterGroup struct {
	pulumi.CustomResourceState

	// The ARN of the db cluster parameter group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The family of the DB cluster parameter group.
	Family pulumi.StringOutput `pulumi:"family"`
	// The name of the DB parameter.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
	// A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group.
	Parameters ClusterParameterGroupParameterArrayOutput `pulumi:"parameters"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an RDS DB cluster parameter group resource. Documentation of the available parameters for various Aurora engines can be found at:

* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewClusterParameterGroup(ctx, "_default", &rds.ClusterParameterGroupArgs{
			Description: pulumi.String("RDS default cluster parameter group"),
			Family:      pulumi.String("aurora5.6"),
			Parameters: rds.ClusterParameterGroupParameterArray{
				&rds.ClusterParameterGroupParameterArgs{
					Name:  pulumi.String("character_set_server"),
					Value: pulumi.String("utf8"),
				},
				&rds.ClusterParameterGroupParameterArgs{
					Name:  pulumi.String("character_set_client"),
					Value: pulumi.String("utf8"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS Cluster Parameter Groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1

```

func GetClusterParameterGroup

func GetClusterParameterGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterParameterGroupState, opts ...pulumi.ResourceOption) (*ClusterParameterGroup, error)

GetClusterParameterGroup gets an existing ClusterParameterGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterParameterGroup

func NewClusterParameterGroup(ctx *pulumi.Context,
	name string, args *ClusterParameterGroupArgs, opts ...pulumi.ResourceOption) (*ClusterParameterGroup, error)

NewClusterParameterGroup registers a new resource with the given unique name, arguments, and options.

func (ClusterParameterGroup) ElementType added in v3.13.0

func (ClusterParameterGroup) ElementType() reflect.Type

func (ClusterParameterGroup) ToClusterParameterGroupOutput added in v3.13.0

func (i ClusterParameterGroup) ToClusterParameterGroupOutput() ClusterParameterGroupOutput

func (ClusterParameterGroup) ToClusterParameterGroupOutputWithContext added in v3.13.0

func (i ClusterParameterGroup) ToClusterParameterGroupOutputWithContext(ctx context.Context) ClusterParameterGroupOutput

type ClusterParameterGroupArgs

type ClusterParameterGroupArgs struct {
	// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the DB cluster parameter group.
	Family pulumi.StringInput
	// The name of the DB parameter.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group.
	Parameters ClusterParameterGroupParameterArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterParameterGroup resource.

func (ClusterParameterGroupArgs) ElementType

func (ClusterParameterGroupArgs) ElementType() reflect.Type

type ClusterParameterGroupInput added in v3.13.0

type ClusterParameterGroupInput interface {
	pulumi.Input

	ToClusterParameterGroupOutput() ClusterParameterGroupOutput
	ToClusterParameterGroupOutputWithContext(ctx context.Context) ClusterParameterGroupOutput
}

type ClusterParameterGroupOutput added in v3.13.0

type ClusterParameterGroupOutput struct {
	*pulumi.OutputState
}

func (ClusterParameterGroupOutput) ElementType added in v3.13.0

func (ClusterParameterGroupOutput) ToClusterParameterGroupOutput added in v3.13.0

func (o ClusterParameterGroupOutput) ToClusterParameterGroupOutput() ClusterParameterGroupOutput

func (ClusterParameterGroupOutput) ToClusterParameterGroupOutputWithContext added in v3.13.0

func (o ClusterParameterGroupOutput) ToClusterParameterGroupOutputWithContext(ctx context.Context) ClusterParameterGroupOutput

type ClusterParameterGroupParameter

type ClusterParameterGroupParameter struct {
	// "immediate" (default), or "pending-reboot". Some
	// engines can't apply some parameters without a reboot, and you will need to
	// specify "pending-reboot" here.
	ApplyMethod *string `pulumi:"applyMethod"`
	// The name of the DB parameter.
	Name string `pulumi:"name"`
	// The value of the DB parameter.
	Value string `pulumi:"value"`
}

type ClusterParameterGroupParameterArgs

type ClusterParameterGroupParameterArgs struct {
	// "immediate" (default), or "pending-reboot". Some
	// engines can't apply some parameters without a reboot, and you will need to
	// specify "pending-reboot" here.
	ApplyMethod pulumi.StringPtrInput `pulumi:"applyMethod"`
	// The name of the DB parameter.
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the DB parameter.
	Value pulumi.StringInput `pulumi:"value"`
}

func (ClusterParameterGroupParameterArgs) ElementType

func (ClusterParameterGroupParameterArgs) ToClusterParameterGroupParameterOutput

func (i ClusterParameterGroupParameterArgs) ToClusterParameterGroupParameterOutput() ClusterParameterGroupParameterOutput

func (ClusterParameterGroupParameterArgs) ToClusterParameterGroupParameterOutputWithContext

func (i ClusterParameterGroupParameterArgs) ToClusterParameterGroupParameterOutputWithContext(ctx context.Context) ClusterParameterGroupParameterOutput

type ClusterParameterGroupParameterArray

type ClusterParameterGroupParameterArray []ClusterParameterGroupParameterInput

func (ClusterParameterGroupParameterArray) ElementType

func (ClusterParameterGroupParameterArray) ToClusterParameterGroupParameterArrayOutput

func (i ClusterParameterGroupParameterArray) ToClusterParameterGroupParameterArrayOutput() ClusterParameterGroupParameterArrayOutput

func (ClusterParameterGroupParameterArray) ToClusterParameterGroupParameterArrayOutputWithContext

func (i ClusterParameterGroupParameterArray) ToClusterParameterGroupParameterArrayOutputWithContext(ctx context.Context) ClusterParameterGroupParameterArrayOutput

type ClusterParameterGroupParameterArrayInput

type ClusterParameterGroupParameterArrayInput interface {
	pulumi.Input

	ToClusterParameterGroupParameterArrayOutput() ClusterParameterGroupParameterArrayOutput
	ToClusterParameterGroupParameterArrayOutputWithContext(context.Context) ClusterParameterGroupParameterArrayOutput
}

ClusterParameterGroupParameterArrayInput is an input type that accepts ClusterParameterGroupParameterArray and ClusterParameterGroupParameterArrayOutput values. You can construct a concrete instance of `ClusterParameterGroupParameterArrayInput` via:

ClusterParameterGroupParameterArray{ ClusterParameterGroupParameterArgs{...} }

type ClusterParameterGroupParameterArrayOutput

type ClusterParameterGroupParameterArrayOutput struct{ *pulumi.OutputState }

func (ClusterParameterGroupParameterArrayOutput) ElementType

func (ClusterParameterGroupParameterArrayOutput) Index

func (ClusterParameterGroupParameterArrayOutput) ToClusterParameterGroupParameterArrayOutput

func (o ClusterParameterGroupParameterArrayOutput) ToClusterParameterGroupParameterArrayOutput() ClusterParameterGroupParameterArrayOutput

func (ClusterParameterGroupParameterArrayOutput) ToClusterParameterGroupParameterArrayOutputWithContext

func (o ClusterParameterGroupParameterArrayOutput) ToClusterParameterGroupParameterArrayOutputWithContext(ctx context.Context) ClusterParameterGroupParameterArrayOutput

type ClusterParameterGroupParameterInput

type ClusterParameterGroupParameterInput interface {
	pulumi.Input

	ToClusterParameterGroupParameterOutput() ClusterParameterGroupParameterOutput
	ToClusterParameterGroupParameterOutputWithContext(context.Context) ClusterParameterGroupParameterOutput
}

ClusterParameterGroupParameterInput is an input type that accepts ClusterParameterGroupParameterArgs and ClusterParameterGroupParameterOutput values. You can construct a concrete instance of `ClusterParameterGroupParameterInput` via:

ClusterParameterGroupParameterArgs{...}

type ClusterParameterGroupParameterOutput

type ClusterParameterGroupParameterOutput struct{ *pulumi.OutputState }

func (ClusterParameterGroupParameterOutput) ApplyMethod

"immediate" (default), or "pending-reboot". Some engines can't apply some parameters without a reboot, and you will need to specify "pending-reboot" here.

func (ClusterParameterGroupParameterOutput) ElementType

func (ClusterParameterGroupParameterOutput) Name

The name of the DB parameter.

func (ClusterParameterGroupParameterOutput) ToClusterParameterGroupParameterOutput

func (o ClusterParameterGroupParameterOutput) ToClusterParameterGroupParameterOutput() ClusterParameterGroupParameterOutput

func (ClusterParameterGroupParameterOutput) ToClusterParameterGroupParameterOutputWithContext

func (o ClusterParameterGroupParameterOutput) ToClusterParameterGroupParameterOutputWithContext(ctx context.Context) ClusterParameterGroupParameterOutput

func (ClusterParameterGroupParameterOutput) Value

The value of the DB parameter.

type ClusterParameterGroupState

type ClusterParameterGroupState struct {
	// The ARN of the db cluster parameter group.
	Arn pulumi.StringPtrInput
	// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the DB cluster parameter group.
	Family pulumi.StringPtrInput
	// The name of the DB parameter.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group.
	Parameters ClusterParameterGroupParameterArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ClusterParameterGroupState) ElementType

func (ClusterParameterGroupState) ElementType() reflect.Type

type ClusterRestoreToPointInTime added in v3.13.0

type ClusterRestoreToPointInTime struct {
	// Date and time in UTC format to restore the database cluster to. Conflicts with `useLatestRestorableTime`.
	RestoreToTime *string `pulumi:"restoreToTime"`
	// Type of restore to be performed.
	// Valid options are `full-copy` (default) and `copy-on-write`.
	RestoreType *string `pulumi:"restoreType"`
	// The identifier of the source database cluster from which to restore.
	SourceClusterIdentifier string `pulumi:"sourceClusterIdentifier"`
	// Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with `restoreToTime`.
	UseLatestRestorableTime *bool `pulumi:"useLatestRestorableTime"`
}

type ClusterRestoreToPointInTimeArgs added in v3.13.0

type ClusterRestoreToPointInTimeArgs struct {
	// Date and time in UTC format to restore the database cluster to. Conflicts with `useLatestRestorableTime`.
	RestoreToTime pulumi.StringPtrInput `pulumi:"restoreToTime"`
	// Type of restore to be performed.
	// Valid options are `full-copy` (default) and `copy-on-write`.
	RestoreType pulumi.StringPtrInput `pulumi:"restoreType"`
	// The identifier of the source database cluster from which to restore.
	SourceClusterIdentifier pulumi.StringInput `pulumi:"sourceClusterIdentifier"`
	// Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with `restoreToTime`.
	UseLatestRestorableTime pulumi.BoolPtrInput `pulumi:"useLatestRestorableTime"`
}

func (ClusterRestoreToPointInTimeArgs) ElementType added in v3.13.0

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutput added in v3.13.0

func (i ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutput() ClusterRestoreToPointInTimeOutput

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutputWithContext added in v3.13.0

func (i ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutputWithContext(ctx context.Context) ClusterRestoreToPointInTimeOutput

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutput added in v3.13.0

func (i ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutputWithContext added in v3.13.0

func (i ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutputWithContext(ctx context.Context) ClusterRestoreToPointInTimePtrOutput

type ClusterRestoreToPointInTimeInput added in v3.13.0

type ClusterRestoreToPointInTimeInput interface {
	pulumi.Input

	ToClusterRestoreToPointInTimeOutput() ClusterRestoreToPointInTimeOutput
	ToClusterRestoreToPointInTimeOutputWithContext(context.Context) ClusterRestoreToPointInTimeOutput
}

ClusterRestoreToPointInTimeInput is an input type that accepts ClusterRestoreToPointInTimeArgs and ClusterRestoreToPointInTimeOutput values. You can construct a concrete instance of `ClusterRestoreToPointInTimeInput` via:

ClusterRestoreToPointInTimeArgs{...}

type ClusterRestoreToPointInTimeOutput added in v3.13.0

type ClusterRestoreToPointInTimeOutput struct{ *pulumi.OutputState }

func (ClusterRestoreToPointInTimeOutput) ElementType added in v3.13.0

func (ClusterRestoreToPointInTimeOutput) RestoreToTime added in v3.13.0

Date and time in UTC format to restore the database cluster to. Conflicts with `useLatestRestorableTime`.

func (ClusterRestoreToPointInTimeOutput) RestoreType added in v3.13.0

Type of restore to be performed. Valid options are `full-copy` (default) and `copy-on-write`.

func (ClusterRestoreToPointInTimeOutput) SourceClusterIdentifier added in v3.13.0

func (o ClusterRestoreToPointInTimeOutput) SourceClusterIdentifier() pulumi.StringOutput

The identifier of the source database cluster from which to restore.

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutput added in v3.13.0

func (o ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutput() ClusterRestoreToPointInTimeOutput

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutputWithContext added in v3.13.0

func (o ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutputWithContext(ctx context.Context) ClusterRestoreToPointInTimeOutput

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutput added in v3.13.0

func (o ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutputWithContext added in v3.13.0

func (o ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutputWithContext(ctx context.Context) ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimeOutput) UseLatestRestorableTime added in v3.13.0

func (o ClusterRestoreToPointInTimeOutput) UseLatestRestorableTime() pulumi.BoolPtrOutput

Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with `restoreToTime`.

type ClusterRestoreToPointInTimePtrInput added in v3.13.0

type ClusterRestoreToPointInTimePtrInput interface {
	pulumi.Input

	ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput
	ToClusterRestoreToPointInTimePtrOutputWithContext(context.Context) ClusterRestoreToPointInTimePtrOutput
}

ClusterRestoreToPointInTimePtrInput is an input type that accepts ClusterRestoreToPointInTimeArgs, ClusterRestoreToPointInTimePtr and ClusterRestoreToPointInTimePtrOutput values. You can construct a concrete instance of `ClusterRestoreToPointInTimePtrInput` via:

        ClusterRestoreToPointInTimeArgs{...}

or:

        nil

func ClusterRestoreToPointInTimePtr added in v3.13.0

type ClusterRestoreToPointInTimePtrOutput added in v3.13.0

type ClusterRestoreToPointInTimePtrOutput struct{ *pulumi.OutputState }

func (ClusterRestoreToPointInTimePtrOutput) Elem added in v3.13.0

func (ClusterRestoreToPointInTimePtrOutput) ElementType added in v3.13.0

func (ClusterRestoreToPointInTimePtrOutput) RestoreToTime added in v3.13.0

Date and time in UTC format to restore the database cluster to. Conflicts with `useLatestRestorableTime`.

func (ClusterRestoreToPointInTimePtrOutput) RestoreType added in v3.13.0

Type of restore to be performed. Valid options are `full-copy` (default) and `copy-on-write`.

func (ClusterRestoreToPointInTimePtrOutput) SourceClusterIdentifier added in v3.13.0

func (o ClusterRestoreToPointInTimePtrOutput) SourceClusterIdentifier() pulumi.StringPtrOutput

The identifier of the source database cluster from which to restore.

func (ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutput added in v3.13.0

func (o ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutputWithContext added in v3.13.0

func (o ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutputWithContext(ctx context.Context) ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimePtrOutput) UseLatestRestorableTime added in v3.13.0

func (o ClusterRestoreToPointInTimePtrOutput) UseLatestRestorableTime() pulumi.BoolPtrOutput

Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with `restoreToTime`.

type ClusterS3Import

type ClusterS3Import struct {
	// The bucket name where your backup is stored
	BucketName string `pulumi:"bucketName"`
	// Can be blank, but is the path to your backup
	BucketPrefix *string `pulumi:"bucketPrefix"`
	// Role applied to load the data.
	IngestionRole string `pulumi:"ingestionRole"`
	// Source engine for the backup
	SourceEngine string `pulumi:"sourceEngine"`
	// Version of the source engine used to make the backup
	SourceEngineVersion string `pulumi:"sourceEngineVersion"`
}

type ClusterS3ImportArgs

type ClusterS3ImportArgs struct {
	// The bucket name where your backup is stored
	BucketName pulumi.StringInput `pulumi:"bucketName"`
	// Can be blank, but is the path to your backup
	BucketPrefix pulumi.StringPtrInput `pulumi:"bucketPrefix"`
	// Role applied to load the data.
	IngestionRole pulumi.StringInput `pulumi:"ingestionRole"`
	// Source engine for the backup
	SourceEngine pulumi.StringInput `pulumi:"sourceEngine"`
	// Version of the source engine used to make the backup
	SourceEngineVersion pulumi.StringInput `pulumi:"sourceEngineVersion"`
}

func (ClusterS3ImportArgs) ElementType

func (ClusterS3ImportArgs) ElementType() reflect.Type

func (ClusterS3ImportArgs) ToClusterS3ImportOutput

func (i ClusterS3ImportArgs) ToClusterS3ImportOutput() ClusterS3ImportOutput

func (ClusterS3ImportArgs) ToClusterS3ImportOutputWithContext

func (i ClusterS3ImportArgs) ToClusterS3ImportOutputWithContext(ctx context.Context) ClusterS3ImportOutput

func (ClusterS3ImportArgs) ToClusterS3ImportPtrOutput

func (i ClusterS3ImportArgs) ToClusterS3ImportPtrOutput() ClusterS3ImportPtrOutput

func (ClusterS3ImportArgs) ToClusterS3ImportPtrOutputWithContext

func (i ClusterS3ImportArgs) ToClusterS3ImportPtrOutputWithContext(ctx context.Context) ClusterS3ImportPtrOutput

type ClusterS3ImportInput

type ClusterS3ImportInput interface {
	pulumi.Input

	ToClusterS3ImportOutput() ClusterS3ImportOutput
	ToClusterS3ImportOutputWithContext(context.Context) ClusterS3ImportOutput
}

ClusterS3ImportInput is an input type that accepts ClusterS3ImportArgs and ClusterS3ImportOutput values. You can construct a concrete instance of `ClusterS3ImportInput` via:

ClusterS3ImportArgs{...}

type ClusterS3ImportOutput

type ClusterS3ImportOutput struct{ *pulumi.OutputState }

func (ClusterS3ImportOutput) BucketName

func (o ClusterS3ImportOutput) BucketName() pulumi.StringOutput

The bucket name where your backup is stored

func (ClusterS3ImportOutput) BucketPrefix

func (o ClusterS3ImportOutput) BucketPrefix() pulumi.StringPtrOutput

Can be blank, but is the path to your backup

func (ClusterS3ImportOutput) ElementType

func (ClusterS3ImportOutput) ElementType() reflect.Type

func (ClusterS3ImportOutput) IngestionRole

func (o ClusterS3ImportOutput) IngestionRole() pulumi.StringOutput

Role applied to load the data.

func (ClusterS3ImportOutput) SourceEngine

func (o ClusterS3ImportOutput) SourceEngine() pulumi.StringOutput

Source engine for the backup

func (ClusterS3ImportOutput) SourceEngineVersion

func (o ClusterS3ImportOutput) SourceEngineVersion() pulumi.StringOutput

Version of the source engine used to make the backup

func (ClusterS3ImportOutput) ToClusterS3ImportOutput

func (o ClusterS3ImportOutput) ToClusterS3ImportOutput() ClusterS3ImportOutput

func (ClusterS3ImportOutput) ToClusterS3ImportOutputWithContext

func (o ClusterS3ImportOutput) ToClusterS3ImportOutputWithContext(ctx context.Context) ClusterS3ImportOutput

func (ClusterS3ImportOutput) ToClusterS3ImportPtrOutput

func (o ClusterS3ImportOutput) ToClusterS3ImportPtrOutput() ClusterS3ImportPtrOutput

func (ClusterS3ImportOutput) ToClusterS3ImportPtrOutputWithContext

func (o ClusterS3ImportOutput) ToClusterS3ImportPtrOutputWithContext(ctx context.Context) ClusterS3ImportPtrOutput

type ClusterS3ImportPtrInput

type ClusterS3ImportPtrInput interface {
	pulumi.Input

	ToClusterS3ImportPtrOutput() ClusterS3ImportPtrOutput
	ToClusterS3ImportPtrOutputWithContext(context.Context) ClusterS3ImportPtrOutput
}

ClusterS3ImportPtrInput is an input type that accepts ClusterS3ImportArgs, ClusterS3ImportPtr and ClusterS3ImportPtrOutput values. You can construct a concrete instance of `ClusterS3ImportPtrInput` via:

        ClusterS3ImportArgs{...}

or:

        nil

type ClusterS3ImportPtrOutput

type ClusterS3ImportPtrOutput struct{ *pulumi.OutputState }

func (ClusterS3ImportPtrOutput) BucketName

The bucket name where your backup is stored

func (ClusterS3ImportPtrOutput) BucketPrefix

Can be blank, but is the path to your backup

func (ClusterS3ImportPtrOutput) Elem

func (ClusterS3ImportPtrOutput) ElementType

func (ClusterS3ImportPtrOutput) ElementType() reflect.Type

func (ClusterS3ImportPtrOutput) IngestionRole

Role applied to load the data.

func (ClusterS3ImportPtrOutput) SourceEngine

Source engine for the backup

func (ClusterS3ImportPtrOutput) SourceEngineVersion

func (o ClusterS3ImportPtrOutput) SourceEngineVersion() pulumi.StringPtrOutput

Version of the source engine used to make the backup

func (ClusterS3ImportPtrOutput) ToClusterS3ImportPtrOutput

func (o ClusterS3ImportPtrOutput) ToClusterS3ImportPtrOutput() ClusterS3ImportPtrOutput

func (ClusterS3ImportPtrOutput) ToClusterS3ImportPtrOutputWithContext

func (o ClusterS3ImportPtrOutput) ToClusterS3ImportPtrOutputWithContext(ctx context.Context) ClusterS3ImportPtrOutput

type ClusterScalingConfiguration

type ClusterScalingConfiguration struct {
	// Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to `true`.
	AutoPause *bool `pulumi:"autoPause"`
	// The maximum capacity. The maximum capacity must be greater than or equal to the minimum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `16`.
	MaxCapacity *int `pulumi:"maxCapacity"`
	// The minimum capacity. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `1`.
	MinCapacity *int `pulumi:"minCapacity"`
	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.
	SecondsUntilAutoPause *int `pulumi:"secondsUntilAutoPause"`
	// The action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.timeout-action).
	TimeoutAction *string `pulumi:"timeoutAction"`
}

type ClusterScalingConfigurationArgs

type ClusterScalingConfigurationArgs struct {
	// Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to `true`.
	AutoPause pulumi.BoolPtrInput `pulumi:"autoPause"`
	// The maximum capacity. The maximum capacity must be greater than or equal to the minimum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `16`.
	MaxCapacity pulumi.IntPtrInput `pulumi:"maxCapacity"`
	// The minimum capacity. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `1`.
	MinCapacity pulumi.IntPtrInput `pulumi:"minCapacity"`
	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.
	SecondsUntilAutoPause pulumi.IntPtrInput `pulumi:"secondsUntilAutoPause"`
	// The action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.timeout-action).
	TimeoutAction pulumi.StringPtrInput `pulumi:"timeoutAction"`
}

func (ClusterScalingConfigurationArgs) ElementType

func (ClusterScalingConfigurationArgs) ToClusterScalingConfigurationOutput

func (i ClusterScalingConfigurationArgs) ToClusterScalingConfigurationOutput() ClusterScalingConfigurationOutput

func (ClusterScalingConfigurationArgs) ToClusterScalingConfigurationOutputWithContext

func (i ClusterScalingConfigurationArgs) ToClusterScalingConfigurationOutputWithContext(ctx context.Context) ClusterScalingConfigurationOutput

func (ClusterScalingConfigurationArgs) ToClusterScalingConfigurationPtrOutput

func (i ClusterScalingConfigurationArgs) ToClusterScalingConfigurationPtrOutput() ClusterScalingConfigurationPtrOutput

func (ClusterScalingConfigurationArgs) ToClusterScalingConfigurationPtrOutputWithContext

func (i ClusterScalingConfigurationArgs) ToClusterScalingConfigurationPtrOutputWithContext(ctx context.Context) ClusterScalingConfigurationPtrOutput

type ClusterScalingConfigurationInput

type ClusterScalingConfigurationInput interface {
	pulumi.Input

	ToClusterScalingConfigurationOutput() ClusterScalingConfigurationOutput
	ToClusterScalingConfigurationOutputWithContext(context.Context) ClusterScalingConfigurationOutput
}

ClusterScalingConfigurationInput is an input type that accepts ClusterScalingConfigurationArgs and ClusterScalingConfigurationOutput values. You can construct a concrete instance of `ClusterScalingConfigurationInput` via:

ClusterScalingConfigurationArgs{...}

type ClusterScalingConfigurationOutput

type ClusterScalingConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterScalingConfigurationOutput) AutoPause

Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to `true`.

func (ClusterScalingConfigurationOutput) ElementType

func (ClusterScalingConfigurationOutput) MaxCapacity

The maximum capacity. The maximum capacity must be greater than or equal to the minimum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `16`.

func (ClusterScalingConfigurationOutput) MinCapacity

The minimum capacity. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `1`.

func (ClusterScalingConfigurationOutput) SecondsUntilAutoPause

func (o ClusterScalingConfigurationOutput) SecondsUntilAutoPause() pulumi.IntPtrOutput

The time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.

func (ClusterScalingConfigurationOutput) TimeoutAction

The action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.timeout-action).

func (ClusterScalingConfigurationOutput) ToClusterScalingConfigurationOutput

func (o ClusterScalingConfigurationOutput) ToClusterScalingConfigurationOutput() ClusterScalingConfigurationOutput

func (ClusterScalingConfigurationOutput) ToClusterScalingConfigurationOutputWithContext

func (o ClusterScalingConfigurationOutput) ToClusterScalingConfigurationOutputWithContext(ctx context.Context) ClusterScalingConfigurationOutput

func (ClusterScalingConfigurationOutput) ToClusterScalingConfigurationPtrOutput

func (o ClusterScalingConfigurationOutput) ToClusterScalingConfigurationPtrOutput() ClusterScalingConfigurationPtrOutput

func (ClusterScalingConfigurationOutput) ToClusterScalingConfigurationPtrOutputWithContext

func (o ClusterScalingConfigurationOutput) ToClusterScalingConfigurationPtrOutputWithContext(ctx context.Context) ClusterScalingConfigurationPtrOutput

type ClusterScalingConfigurationPtrInput

type ClusterScalingConfigurationPtrInput interface {
	pulumi.Input

	ToClusterScalingConfigurationPtrOutput() ClusterScalingConfigurationPtrOutput
	ToClusterScalingConfigurationPtrOutputWithContext(context.Context) ClusterScalingConfigurationPtrOutput
}

ClusterScalingConfigurationPtrInput is an input type that accepts ClusterScalingConfigurationArgs, ClusterScalingConfigurationPtr and ClusterScalingConfigurationPtrOutput values. You can construct a concrete instance of `ClusterScalingConfigurationPtrInput` via:

        ClusterScalingConfigurationArgs{...}

or:

        nil

type ClusterScalingConfigurationPtrOutput

type ClusterScalingConfigurationPtrOutput struct{ *pulumi.OutputState }

func (ClusterScalingConfigurationPtrOutput) AutoPause

Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to `true`.

func (ClusterScalingConfigurationPtrOutput) Elem

func (ClusterScalingConfigurationPtrOutput) ElementType

func (ClusterScalingConfigurationPtrOutput) MaxCapacity

The maximum capacity. The maximum capacity must be greater than or equal to the minimum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `16`.

func (ClusterScalingConfigurationPtrOutput) MinCapacity

The minimum capacity. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, and `256`. Defaults to `1`.

func (ClusterScalingConfigurationPtrOutput) SecondsUntilAutoPause

func (o ClusterScalingConfigurationPtrOutput) SecondsUntilAutoPause() pulumi.IntPtrOutput

The time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.

func (ClusterScalingConfigurationPtrOutput) TimeoutAction

The action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.timeout-action).

func (ClusterScalingConfigurationPtrOutput) ToClusterScalingConfigurationPtrOutput

func (o ClusterScalingConfigurationPtrOutput) ToClusterScalingConfigurationPtrOutput() ClusterScalingConfigurationPtrOutput

func (ClusterScalingConfigurationPtrOutput) ToClusterScalingConfigurationPtrOutputWithContext

func (o ClusterScalingConfigurationPtrOutput) ToClusterScalingConfigurationPtrOutputWithContext(ctx context.Context) ClusterScalingConfigurationPtrOutput

type ClusterSnapshot

type ClusterSnapshot struct {
	pulumi.CustomResourceState

	// Specifies the allocated storage size in gigabytes (GB).
	AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"`
	// List of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// The DB Cluster Identifier from which to take the snapshot.
	DbClusterIdentifier pulumi.StringOutput `pulumi:"dbClusterIdentifier"`
	// The Amazon Resource Name (ARN) for the DB Cluster Snapshot.
	DbClusterSnapshotArn pulumi.StringOutput `pulumi:"dbClusterSnapshotArn"`
	// The Identifier for the snapshot.
	DbClusterSnapshotIdentifier pulumi.StringOutput `pulumi:"dbClusterSnapshotIdentifier"`
	// Specifies the name of the database engine.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Version of the database engine for this DB cluster snapshot.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// If storageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// License model information for the restored DB cluster.
	LicenseModel pulumi.StringOutput `pulumi:"licenseModel"`
	// Port that the DB cluster was listening on at the time of the snapshot.
	Port                       pulumi.IntOutput    `pulumi:"port"`
	SnapshotType               pulumi.StringOutput `pulumi:"snapshotType"`
	SourceDbClusterSnapshotArn pulumi.StringOutput `pulumi:"sourceDbClusterSnapshotArn"`
	// The status of this DB Cluster Snapshot.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies whether the DB cluster snapshot is encrypted.
	StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"`
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The VPC ID associated with the DB cluster snapshot.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages an RDS database cluster snapshot for Aurora clusters. For managing RDS database instance snapshots, see the `rds.Snapshot` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewClusterSnapshot(ctx, "example", &rds.ClusterSnapshotArgs{
			DbClusterIdentifier:         pulumi.Any(aws_rds_cluster.Example.Id),
			DbClusterSnapshotIdentifier: pulumi.String("resourcetestsnapshot1234"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_db_cluster_snapshot` can be imported by using the cluster snapshot identifier, e.g.

```sh

$ pulumi import aws:rds/clusterSnapshot:ClusterSnapshot example my-cluster-snapshot

```

func GetClusterSnapshot

func GetClusterSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterSnapshotState, opts ...pulumi.ResourceOption) (*ClusterSnapshot, error)

GetClusterSnapshot gets an existing ClusterSnapshot resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewClusterSnapshot

func NewClusterSnapshot(ctx *pulumi.Context,
	name string, args *ClusterSnapshotArgs, opts ...pulumi.ResourceOption) (*ClusterSnapshot, error)

NewClusterSnapshot registers a new resource with the given unique name, arguments, and options.

func (ClusterSnapshot) ElementType added in v3.13.0

func (ClusterSnapshot) ElementType() reflect.Type

func (ClusterSnapshot) ToClusterSnapshotOutput added in v3.13.0

func (i ClusterSnapshot) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (ClusterSnapshot) ToClusterSnapshotOutputWithContext added in v3.13.0

func (i ClusterSnapshot) ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput

type ClusterSnapshotArgs

type ClusterSnapshotArgs struct {
	// The DB Cluster Identifier from which to take the snapshot.
	DbClusterIdentifier pulumi.StringInput
	// The Identifier for the snapshot.
	DbClusterSnapshotIdentifier pulumi.StringInput
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterSnapshot resource.

func (ClusterSnapshotArgs) ElementType

func (ClusterSnapshotArgs) ElementType() reflect.Type

type ClusterSnapshotInput added in v3.13.0

type ClusterSnapshotInput interface {
	pulumi.Input

	ToClusterSnapshotOutput() ClusterSnapshotOutput
	ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput
}

type ClusterSnapshotOutput added in v3.13.0

type ClusterSnapshotOutput struct {
	*pulumi.OutputState
}

func (ClusterSnapshotOutput) ElementType added in v3.13.0

func (ClusterSnapshotOutput) ElementType() reflect.Type

func (ClusterSnapshotOutput) ToClusterSnapshotOutput added in v3.13.0

func (o ClusterSnapshotOutput) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext added in v3.13.0

func (o ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext(ctx context.Context) ClusterSnapshotOutput

type ClusterSnapshotState

type ClusterSnapshotState struct {
	// Specifies the allocated storage size in gigabytes (GB).
	AllocatedStorage pulumi.IntPtrInput
	// List of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
	AvailabilityZones pulumi.StringArrayInput
	// The DB Cluster Identifier from which to take the snapshot.
	DbClusterIdentifier pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the DB Cluster Snapshot.
	DbClusterSnapshotArn pulumi.StringPtrInput
	// The Identifier for the snapshot.
	DbClusterSnapshotIdentifier pulumi.StringPtrInput
	// Specifies the name of the database engine.
	Engine pulumi.StringPtrInput
	// Version of the database engine for this DB cluster snapshot.
	EngineVersion pulumi.StringPtrInput
	// If storageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.
	KmsKeyId pulumi.StringPtrInput
	// License model information for the restored DB cluster.
	LicenseModel pulumi.StringPtrInput
	// Port that the DB cluster was listening on at the time of the snapshot.
	Port                       pulumi.IntPtrInput
	SnapshotType               pulumi.StringPtrInput
	SourceDbClusterSnapshotArn pulumi.StringPtrInput
	// The status of this DB Cluster Snapshot.
	Status pulumi.StringPtrInput
	// Specifies whether the DB cluster snapshot is encrypted.
	StorageEncrypted pulumi.BoolPtrInput
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapInput
	// The VPC ID associated with the DB cluster snapshot.
	VpcId pulumi.StringPtrInput
}

func (ClusterSnapshotState) ElementType

func (ClusterSnapshotState) ElementType() reflect.Type

type ClusterState

type ClusterState struct {
	// Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`.
	AllowMajorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
	ApplyImmediately pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of cluster
	Arn pulumi.StringPtrInput
	// A list of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next provider update. It is recommended to specify 3 AZs or use [the `ignoreChanges` argument](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) if necessary.
	AvailabilityZones pulumi.StringArrayInput
	// The target backtrack window, in seconds. Only available for `aurora` engine currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours)
	BacktrackWindow pulumi.IntPtrInput
	// The days to retain backups for. Default `1`
	BackupRetentionPeriod pulumi.IntPtrInput
	// The cluster identifier. If omitted, this provider will assign a random, unique identifier.
	ClusterIdentifier pulumi.StringPtrInput
	// Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`.
	ClusterIdentifierPrefix pulumi.StringPtrInput
	// List of RDS Instances that are a part of this cluster
	ClusterMembers pulumi.StringArrayInput
	// The RDS Cluster Resource ID
	ClusterResourceId pulumi.StringPtrInput
	// Copy all Cluster `tags` to snapshots. Default is `false`.
	CopyTagsToSnapshot pulumi.BoolPtrInput
	// Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)
	DatabaseName pulumi.StringPtrInput
	// A cluster parameter group to associate with the cluster.
	DbClusterParameterGroupName pulumi.StringPtrInput
	// A DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster.
	DbSubnetGroupName pulumi.StringPtrInput
	// If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrInput
	// Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`.
	EnableHttpEndpoint pulumi.BoolPtrInput
	// Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL).
	EnabledCloudwatchLogsExports pulumi.StringArrayInput
	// The DNS address of the RDS instance
	Endpoint pulumi.StringPtrInput
	// The name of the database engine to be used for this DB cluster. Defaults to `aurora`. Valid Values: `aurora`, `aurora-mysql`, `aurora-postgresql`
	Engine pulumi.StringPtrInput
	// The database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `multimaster`, `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html) for limitations when using `serverless`.
	EngineMode pulumi.StringPtrInput
	// The database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`.
	EngineVersion pulumi.StringPtrInput
	// The name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The global cluster identifier specified on `rds.GlobalCluster`.
	GlobalClusterIdentifier pulumi.StringPtrInput
	// The Route53 Hosted Zone ID of the endpoint
	HostedZoneId pulumi.StringPtrInput
	// Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations.
	IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput
	// A List of ARNs for the IAM roles to associate to the RDS Cluster.
	IamRoles pulumi.StringArrayInput
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true.
	KmsKeyId pulumi.StringPtrInput
	// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)
	MasterPassword pulumi.StringPtrInput
	// Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot.
	MasterUsername pulumi.StringPtrInput
	// The port on which the DB accepts connections
	Port pulumi.IntPtrInput
	// The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region. e.g. 04:00-09:00
	PreferredBackupWindow pulumi.StringPtrInput
	// The weekly time range during which system maintenance can occur, in (UTC) e.g. wed:04:00-wed:04:30
	PreferredMaintenanceWindow pulumi.StringPtrInput
	// A read-only endpoint for the Aurora cluster, automatically
	// load-balanced across replicas
	ReaderEndpoint pulumi.StringPtrInput
	// ARN of the source DB cluster or DB instance if this DB cluster is created as a Read Replica.
	ReplicationSourceIdentifier pulumi.StringPtrInput
	// Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PIT.html). More details below.
	RestoreToPointInTime ClusterRestoreToPointInTimePtrInput
	S3Import             ClusterS3ImportPtrInput
	// Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below.
	ScalingConfiguration ClusterScalingConfigurationPtrInput
	// Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`.
	SkipFinalSnapshot pulumi.BoolPtrInput
	// Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot.
	SnapshotIdentifier pulumi.StringPtrInput
	// The source region for an encrypted replica DB cluster.
	SourceRegion pulumi.StringPtrInput
	// Specifies whether the DB cluster is encrypted
	StorageEncrypted pulumi.BoolPtrInput
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapInput
	// List of VPC security groups to associate with the Cluster
	VpcSecurityGroupIds pulumi.StringArrayInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type EngineMode added in v3.18.0

type EngineMode pulumi.String

func (EngineMode) ElementType added in v3.18.0

func (EngineMode) ElementType() reflect.Type

func (EngineMode) ToStringOutput added in v3.18.0

func (e EngineMode) ToStringOutput() pulumi.StringOutput

func (EngineMode) ToStringOutputWithContext added in v3.18.0

func (e EngineMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (EngineMode) ToStringPtrOutput added in v3.18.0

func (e EngineMode) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineMode) ToStringPtrOutputWithContext added in v3.18.0

func (e EngineMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type EngineType added in v3.18.0

type EngineType pulumi.String

func (EngineType) ElementType added in v3.18.0

func (EngineType) ElementType() reflect.Type

func (EngineType) ToStringOutput added in v3.18.0

func (e EngineType) ToStringOutput() pulumi.StringOutput

func (EngineType) ToStringOutputWithContext added in v3.18.0

func (e EngineType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (EngineType) ToStringPtrOutput added in v3.18.0

func (e EngineType) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineType) ToStringPtrOutputWithContext added in v3.18.0

func (e EngineType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type EventSubscription

type EventSubscription struct {
	pulumi.CustomResourceState

	Arn           pulumi.StringOutput `pulumi:"arn"`
	CustomerAwsId pulumi.StringOutput `pulumi:"customerAwsId"`
	// A boolean flag to enable/disable the subscription. Defaults to true.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run `aws rds describe-event-categories`.
	EventCategories pulumi.StringArrayOutput `pulumi:"eventCategories"`
	// The name of the DB event subscription. By default generated by this provider.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the DB event subscription. Conflicts with `name`.
	NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"`
	// The SNS topic to send events to.
	SnsTopic pulumi.StringOutput `pulumi:"snsTopic"`
	// A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a sourceType must also be specified.
	SourceIds pulumi.StringArrayOutput `pulumi:"sourceIds"`
	// The type of source that will be generating the events. Valid options are `db-instance`, `db-security-group`, `db-parameter-group`, `db-snapshot`, `db-cluster` or `db-cluster-snapshot`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrOutput `pulumi:"sourceType"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a DB event subscription resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultInstance, err := rds.NewInstance(ctx, "defaultInstance", &rds.InstanceArgs{
			AllocatedStorage:   pulumi.Int(10),
			Engine:             pulumi.String("mysql"),
			EngineVersion:      pulumi.String("5.6.17"),
			InstanceClass:      pulumi.String("db.t2.micro"),
			Name:               pulumi.String("mydb"),
			Username:           pulumi.String("foo"),
			Password:           pulumi.String("bar"),
			DbSubnetGroupName:  pulumi.String("my_database_subnet_group"),
			ParameterGroupName: pulumi.String("default.mysql5.6"),
		})
		if err != nil {
			return err
		}
		defaultTopic, err := sns.NewTopic(ctx, "defaultTopic", nil)
		if err != nil {
			return err
		}
		_, err = rds.NewEventSubscription(ctx, "defaultEventSubscription", &rds.EventSubscriptionArgs{
			SnsTopic:   defaultTopic.Arn,
			SourceType: pulumi.String("db-instance"),
			SourceIds: pulumi.StringArray{
				defaultInstance.ID(),
			},
			EventCategories: pulumi.StringArray{
				pulumi.String("availability"),
				pulumi.String("deletion"),
				pulumi.String("failover"),
				pulumi.String("failure"),
				pulumi.String("low storage"),
				pulumi.String("maintenance"),
				pulumi.String("notification"),
				pulumi.String("read replica"),
				pulumi.String("recovery"),
				pulumi.String("restoration"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The following additional atttributes are provided:

* `id` - The name of the RDS event notification subscription * `arn` - The Amazon Resource Name of the RDS event notification subscription * `customerAwsId` - The AWS customer account associated with the RDS event notification subscription

## Import

DB Event Subscriptions can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/eventSubscription:EventSubscription default rds-event-sub

```

func GetEventSubscription

func GetEventSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventSubscriptionState, opts ...pulumi.ResourceOption) (*EventSubscription, error)

GetEventSubscription gets an existing EventSubscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventSubscription

func NewEventSubscription(ctx *pulumi.Context,
	name string, args *EventSubscriptionArgs, opts ...pulumi.ResourceOption) (*EventSubscription, error)

NewEventSubscription registers a new resource with the given unique name, arguments, and options.

func (EventSubscription) ElementType added in v3.13.0

func (EventSubscription) ElementType() reflect.Type

func (EventSubscription) ToEventSubscriptionOutput added in v3.13.0

func (i EventSubscription) ToEventSubscriptionOutput() EventSubscriptionOutput

func (EventSubscription) ToEventSubscriptionOutputWithContext added in v3.13.0

func (i EventSubscription) ToEventSubscriptionOutputWithContext(ctx context.Context) EventSubscriptionOutput

type EventSubscriptionArgs

type EventSubscriptionArgs struct {
	// A boolean flag to enable/disable the subscription. Defaults to true.
	Enabled pulumi.BoolPtrInput
	// A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run `aws rds describe-event-categories`.
	EventCategories pulumi.StringArrayInput
	// The name of the DB event subscription. By default generated by this provider.
	Name pulumi.StringPtrInput
	// The name of the DB event subscription. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The SNS topic to send events to.
	SnsTopic pulumi.StringInput
	// A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a sourceType must also be specified.
	SourceIds pulumi.StringArrayInput
	// The type of source that will be generating the events. Valid options are `db-instance`, `db-security-group`, `db-parameter-group`, `db-snapshot`, `db-cluster` or `db-cluster-snapshot`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a EventSubscription resource.

func (EventSubscriptionArgs) ElementType

func (EventSubscriptionArgs) ElementType() reflect.Type

type EventSubscriptionInput added in v3.13.0

type EventSubscriptionInput interface {
	pulumi.Input

	ToEventSubscriptionOutput() EventSubscriptionOutput
	ToEventSubscriptionOutputWithContext(ctx context.Context) EventSubscriptionOutput
}

type EventSubscriptionOutput added in v3.13.0

type EventSubscriptionOutput struct {
	*pulumi.OutputState
}

func (EventSubscriptionOutput) ElementType added in v3.13.0

func (EventSubscriptionOutput) ElementType() reflect.Type

func (EventSubscriptionOutput) ToEventSubscriptionOutput added in v3.13.0

func (o EventSubscriptionOutput) ToEventSubscriptionOutput() EventSubscriptionOutput

func (EventSubscriptionOutput) ToEventSubscriptionOutputWithContext added in v3.13.0

func (o EventSubscriptionOutput) ToEventSubscriptionOutputWithContext(ctx context.Context) EventSubscriptionOutput

type EventSubscriptionState

type EventSubscriptionState struct {
	Arn           pulumi.StringPtrInput
	CustomerAwsId pulumi.StringPtrInput
	// A boolean flag to enable/disable the subscription. Defaults to true.
	Enabled pulumi.BoolPtrInput
	// A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run `aws rds describe-event-categories`.
	EventCategories pulumi.StringArrayInput
	// The name of the DB event subscription. By default generated by this provider.
	Name pulumi.StringPtrInput
	// The name of the DB event subscription. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The SNS topic to send events to.
	SnsTopic pulumi.StringPtrInput
	// A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a sourceType must also be specified.
	SourceIds pulumi.StringArrayInput
	// The type of source that will be generating the events. Valid options are `db-instance`, `db-security-group`, `db-parameter-group`, `db-snapshot`, `db-cluster` or `db-cluster-snapshot`. If not set, all sources will be subscribed to.
	SourceType pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (EventSubscriptionState) ElementType

func (EventSubscriptionState) ElementType() reflect.Type

type GetCertificateArgs added in v3.10.0

type GetCertificateArgs struct {
	// Certificate identifier. For example, `rds-ca-2019`.
	Id *string `pulumi:"id"`
	// When enabled, returns the certificate with the latest `ValidTill`.
	LatestValidTill *bool `pulumi:"latestValidTill"`
}

A collection of arguments for invoking getCertificate.

type GetCertificateResult added in v3.10.0

type GetCertificateResult struct {
	// Amazon Resource Name (ARN) of the certificate.
	Arn string `pulumi:"arn"`
	// Type of certificate. For example, `CA`.
	CertificateType string `pulumi:"certificateType"`
	// Boolean whether there is an override for the default certificate identifier.
	CustomerOverride bool `pulumi:"customerOverride"`
	// If there is an override for the default certificate identifier, when the override expires.
	CustomerOverrideValidTill string `pulumi:"customerOverrideValidTill"`
	Id                        string `pulumi:"id"`
	LatestValidTill           *bool  `pulumi:"latestValidTill"`
	// Thumbprint of the certificate.
	Thumbprint string `pulumi:"thumbprint"`
	// [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of certificate starting validity date.
	ValidFrom string `pulumi:"validFrom"`
	// [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of certificate ending validity date.
	ValidTill string `pulumi:"validTill"`
}

A collection of values returned by getCertificate.

func GetCertificate added in v3.10.0

func GetCertificate(ctx *pulumi.Context, args *GetCertificateArgs, opts ...pulumi.InvokeOption) (*GetCertificateResult, error)

Information about an RDS Certificate.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		_, err := rds.GetCertificate(ctx, &rds.GetCertificateArgs{
			LatestValidTill: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetEngineVersionArgs added in v3.5.0

type GetEngineVersionArgs struct {
	// DB engine. Engine values include `aurora`, `aurora-mysql`, `aurora-postgresql`, `docdb`, `mariadb`, `mysql`, `neptune`, `oracle-ee`, `oracle-se`, `oracle-se1`, `oracle-se2`, `postgres`, `sqlserver-ee`, `sqlserver-ex`, `sqlserver-se`, and `sqlserver-web`.
	Engine string `pulumi:"engine"`
	// The name of a specific DB parameter group family. Examples of parameter group families are `mysql8.0`, `mariadb10.4`, and `postgres12`.
	ParameterGroupFamily *string `pulumi:"parameterGroupFamily"`
	// Ordered list of preferred engine versions. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned. If both the `version` and `preferredVersions` arguments are not configured, the data source will return the default version for the engine.
	PreferredVersions []string `pulumi:"preferredVersions"`
	// Version of the DB engine. For example, `5.7.22`, `10.1.34`, and `12.3`. If both the `version` and `preferredVersions` arguments are not configured, the data source will return the default version for the engine.
	Version *string `pulumi:"version"`
}

A collection of arguments for invoking getEngineVersion.

type GetEngineVersionResult added in v3.5.0

type GetEngineVersionResult struct {
	// The default character set for new instances of this engine version.
	DefaultCharacterSet string `pulumi:"defaultCharacterSet"`
	Engine              string `pulumi:"engine"`
	// The description of the database engine.
	EngineDescription string `pulumi:"engineDescription"`
	// Set of log types that the database engine has available for export to CloudWatch Logs.
	ExportableLogTypes []string `pulumi:"exportableLogTypes"`
	// The provider-assigned unique ID for this managed resource.
	Id                   string   `pulumi:"id"`
	ParameterGroupFamily string   `pulumi:"parameterGroupFamily"`
	PreferredVersions    []string `pulumi:"preferredVersions"`
	// The status of the DB engine version, either available or deprecated.
	Status string `pulumi:"status"`
	// Set of the character sets supported by this engine.
	SupportedCharacterSets []string `pulumi:"supportedCharacterSets"`
	// Set of features supported by the DB engine.
	SupportedFeatureNames []string `pulumi:"supportedFeatureNames"`
	// Set of the supported DB engine modes.
	SupportedModes []string `pulumi:"supportedModes"`
	// Set of the time zones supported by this engine.
	SupportedTimezones []string `pulumi:"supportedTimezones"`
	// Indicates whether you can use Aurora global databases with a specific DB engine version.
	SupportsGlobalDatabases bool `pulumi:"supportsGlobalDatabases"`
	// Indicates whether the engine version supports exporting the log types specified by `exportableLogTypes` to CloudWatch Logs.
	SupportsLogExportsToCloudwatch bool `pulumi:"supportsLogExportsToCloudwatch"`
	// Indicates whether you can use Aurora parallel query with a specific DB engine version.
	SupportsParallelQuery bool `pulumi:"supportsParallelQuery"`
	// Indicates whether the database engine version supports read replicas.
	SupportsReadReplica bool `pulumi:"supportsReadReplica"`
	// Set of engine versions that this database engine version can be upgraded to.
	ValidUpgradeTargets []string `pulumi:"validUpgradeTargets"`
	Version             string   `pulumi:"version"`
	// The description of the database engine version.
	VersionDescription string `pulumi:"versionDescription"`
}

A collection of values returned by getEngineVersion.

func GetEngineVersion added in v3.5.0

func GetEngineVersion(ctx *pulumi.Context, args *GetEngineVersionArgs, opts ...pulumi.InvokeOption) (*GetEngineVersionResult, error)

Information about an RDS engine version.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.GetEngineVersion(ctx, &rds.GetEngineVersionArgs{
			Engine: "mysql",
			PreferredVersions: []string{
				"5.7.42",
				"5.7.19",
				"5.7.17",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetEventCategoriesArgs

type GetEventCategoriesArgs struct {
	// The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster or db-cluster-snapshot.
	SourceType *string `pulumi:"sourceType"`
}

A collection of arguments for invoking getEventCategories.

type GetEventCategoriesResult

type GetEventCategoriesResult struct {
	// A list of the event categories.
	EventCategories []string `pulumi:"eventCategories"`
	// The provider-assigned unique ID for this managed resource.
	Id         string  `pulumi:"id"`
	SourceType *string `pulumi:"sourceType"`
}

A collection of values returned by getEventCategories.

func GetEventCategories

func GetEventCategories(ctx *pulumi.Context, args *GetEventCategoriesArgs, opts ...pulumi.InvokeOption) (*GetEventCategoriesResult, error)

## Example Usage

List the event categories of all the RDS resources.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleEventCategories, err := rds.GetEventCategories(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("example", exampleEventCategories.EventCategories)
		return nil
	})
}

```

List the event categories specific to the RDS resource `db-snapshot`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "db-snapshot"
		exampleEventCategories, err := rds.GetEventCategories(ctx, &rds.GetEventCategoriesArgs{
			SourceType: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("example", exampleEventCategories.EventCategories)
		return nil
	})
}

```

type GetOrderableDbInstanceArgs added in v3.3.0

type GetOrderableDbInstanceArgs struct {
	// Availability zone group.
	AvailabilityZoneGroup *string `pulumi:"availabilityZoneGroup"`
	// DB engine. Engine values include `aurora`, `aurora-mysql`, `aurora-postgresql`, `docdb`, `mariadb`, `mysql`, `neptune`, `oracle-ee`, `oracle-se`, `oracle-se1`, `oracle-se2`, `postgres`, `sqlserver-ee`, `sqlserver-ex`, `sqlserver-se`, and `sqlserver-web`.
	Engine string `pulumi:"engine"`
	// Version of the DB engine. If none is provided, the AWS-defined default version will be used.
	EngineVersion *string `pulumi:"engineVersion"`
	// DB instance class. Examples of classes are `db.m3.2xlarge`, `db.t2.small`, and `db.m3.medium`.
	InstanceClass *string `pulumi:"instanceClass"`
	// License model. Examples of license models are `general-public-license`, `bring-your-own-license`, and `amazon-license`.
	LicenseModel *string `pulumi:"licenseModel"`
	// Ordered list of preferred RDS DB instance engine versions. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
	PreferredEngineVersions []string `pulumi:"preferredEngineVersions"`
	// Ordered list of preferred RDS DB instance classes. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
	PreferredInstanceClasses []string `pulumi:"preferredInstanceClasses"`
	// Storage types. Examples of storage types are `standard`, `io1`, `gp2`, and `aurora`.
	StorageType *string `pulumi:"storageType"`
	// Enable this to ensure a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.
	SupportsEnhancedMonitoring *bool `pulumi:"supportsEnhancedMonitoring"`
	// Enable this to ensure a DB instance supports Aurora global databases with a specific combination of other DB engine attributes.
	SupportsGlobalDatabases *bool `pulumi:"supportsGlobalDatabases"`
	// Enable this to ensure a DB instance supports IAM database authentication.
	SupportsIamDatabaseAuthentication *bool `pulumi:"supportsIamDatabaseAuthentication"`
	// Enable this to ensure a DB instance supports provisioned IOPS.
	SupportsIops *bool `pulumi:"supportsIops"`
	// Enable this to ensure a DB instance supports Kerberos Authentication.
	SupportsKerberosAuthentication *bool `pulumi:"supportsKerberosAuthentication"`
	// Enable this to ensure a DB instance supports Performance Insights.
	SupportsPerformanceInsights *bool `pulumi:"supportsPerformanceInsights"`
	// Enable this to ensure Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class.
	SupportsStorageAutoscaling *bool `pulumi:"supportsStorageAutoscaling"`
	// Enable this to ensure a DB instance supports encrypted storage.
	SupportsStorageEncryption *bool `pulumi:"supportsStorageEncryption"`
	// Boolean that indicates whether to show only VPC or non-VPC offerings.
	Vpc *bool `pulumi:"vpc"`
}

A collection of arguments for invoking getOrderableDbInstance.

type GetOrderableDbInstanceResult added in v3.3.0

type GetOrderableDbInstanceResult struct {
	AvailabilityZoneGroup string `pulumi:"availabilityZoneGroup"`
	// Availability zones where the instance is available.
	AvailabilityZones []string `pulumi:"availabilityZones"`
	Engine            string   `pulumi:"engine"`
	EngineVersion     string   `pulumi:"engineVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	InstanceClass string `pulumi:"instanceClass"`
	LicenseModel  string `pulumi:"licenseModel"`
	// Maximum total provisioned IOPS for a DB instance.
	MaxIopsPerDbInstance int `pulumi:"maxIopsPerDbInstance"`
	// Maximum provisioned IOPS per GiB for a DB instance.
	MaxIopsPerGib float64 `pulumi:"maxIopsPerGib"`
	// Maximum storage size for a DB instance.
	MaxStorageSize int `pulumi:"maxStorageSize"`
	// Minimum total provisioned IOPS for a DB instance.
	MinIopsPerDbInstance int `pulumi:"minIopsPerDbInstance"`
	// Minimum provisioned IOPS per GiB for a DB instance.
	MinIopsPerGib float64 `pulumi:"minIopsPerGib"`
	// Minimum storage size for a DB instance.
	MinStorageSize int `pulumi:"minStorageSize"`
	// Whether a DB instance is Multi-AZ capable.
	MultiAzCapable bool `pulumi:"multiAzCapable"`
	// Whether a DB instance supports RDS on Outposts.
	OutpostCapable           bool     `pulumi:"outpostCapable"`
	PreferredEngineVersions  []string `pulumi:"preferredEngineVersions"`
	PreferredInstanceClasses []string `pulumi:"preferredInstanceClasses"`
	// Whether a DB instance can have a read replica.
	ReadReplicaCapable bool   `pulumi:"readReplicaCapable"`
	StorageType        string `pulumi:"storageType"`
	// A list of the supported DB engine modes.
	SupportedEngineModes              []string `pulumi:"supportedEngineModes"`
	SupportsEnhancedMonitoring        bool     `pulumi:"supportsEnhancedMonitoring"`
	SupportsGlobalDatabases           bool     `pulumi:"supportsGlobalDatabases"`
	SupportsIamDatabaseAuthentication bool     `pulumi:"supportsIamDatabaseAuthentication"`
	SupportsIops                      bool     `pulumi:"supportsIops"`
	SupportsKerberosAuthentication    bool     `pulumi:"supportsKerberosAuthentication"`
	SupportsPerformanceInsights       bool     `pulumi:"supportsPerformanceInsights"`
	SupportsStorageAutoscaling        bool     `pulumi:"supportsStorageAutoscaling"`
	SupportsStorageEncryption         bool     `pulumi:"supportsStorageEncryption"`
	Vpc                               bool     `pulumi:"vpc"`
}

A collection of values returned by getOrderableDbInstance.

func GetOrderableDbInstance added in v3.3.0

func GetOrderableDbInstance(ctx *pulumi.Context, args *GetOrderableDbInstanceArgs, opts ...pulumi.InvokeOption) (*GetOrderableDbInstanceResult, error)

Information about RDS orderable DB instances and valid parameter combinations.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "5.7.22"
		opt1 := "general-public-license"
		opt2 := "standard"
		_, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{
			Engine:        "mysql",
			EngineVersion: &opt0,
			LicenseModel:  &opt1,
			PreferredInstanceClasses: []string{
				"db.r6.xlarge",
				"db.m4.large",
				"db.t3.small",
			},
			StorageType: &opt2,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

Valid parameter combinations can also be found with `preferredEngineVersions` and/or `preferredInstanceClasses`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "general-public-license"
		_, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{
			Engine:       "mysql",
			LicenseModel: &opt0,
			PreferredEngineVersions: []string{
				"5.6.35",
				"5.6.41",
				"5.6.44",
			},
			PreferredInstanceClasses: []string{
				"db.t2.small",
				"db.t3.medium",
				"db.t3.large",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GlobalCluster

type GlobalCluster struct {
	pulumi.CustomResourceState

	// RDS Global Cluster Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name for an automatically created database on cluster creation.
	DatabaseName pulumi.StringPtrOutput `pulumi:"databaseName"`
	// If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"`
	Engine             pulumi.StringOutput  `pulumi:"engine"`
	// Engine version of the Aurora global database.
	// * **NOTE:** When the engine is set to `aurora-mysql`, an engine version compatible with global database is required. The earliest available version is `5.7.mysql_aurora.2.06.0`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Enable to remove DB Cluster members from Global Cluster on destroy. Required with `sourceDbClusterIdentifier`.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// The global cluster identifier.
	GlobalClusterIdentifier pulumi.StringOutput `pulumi:"globalClusterIdentifier"`
	// Set of objects containing Global Cluster members.
	GlobalClusterMembers GlobalClusterGlobalClusterMemberArrayOutput `pulumi:"globalClusterMembers"`
	// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed
	GlobalClusterResourceId   pulumi.StringOutput `pulumi:"globalClusterResourceId"`
	SourceDbClusterIdentifier pulumi.StringOutput `pulumi:"sourceDbClusterIdentifier"`
	StorageEncrypted          pulumi.BoolOutput   `pulumi:"storageEncrypted"`
}

Manages an RDS Global Cluster, which is an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

More information about Aurora global databases can be found in the [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-creating).

## Example Usage ### New Global Cluster

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/providers"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "primary", &providers.awsArgs{
			Region: pulumi.String("us-east-2"),
		})
		if err != nil {
			return err
		}
		_, err = providers.Newaws(ctx, "secondary", &providers.awsArgs{
			Region: pulumi.String("us-west-2"),
		})
		if err != nil {
			return err
		}
		example, err := rds.NewGlobalCluster(ctx, "example", &rds.GlobalClusterArgs{
			GlobalClusterIdentifier: pulumi.String("example"),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		primaryCluster, err := rds.NewCluster(ctx, "primaryCluster", &rds.ClusterArgs{
			GlobalClusterIdentifier: example.ID(),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		primaryClusterInstance, err := rds.NewClusterInstance(ctx, "primaryClusterInstance", &rds.ClusterInstanceArgs{
			ClusterIdentifier: primaryCluster.ID(),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		secondaryCluster, err := rds.NewCluster(ctx, "secondaryCluster", &rds.ClusterArgs{
			GlobalClusterIdentifier: example.ID(),
		}, pulumi.Provider(aws.Secondary), pulumi.DependsOn([]pulumi.Resource{
			primaryClusterInstance,
		}))
		if err != nil {
			return err
		}
		_, err = rds.NewClusterInstance(ctx, "secondaryClusterInstance", &rds.ClusterInstanceArgs{
			ClusterIdentifier: secondaryCluster.ID(),
		}, pulumi.Provider(aws.Secondary))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### New Global Cluster From Existing DB Cluster

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleCluster, err := rds.NewCluster(ctx, "exampleCluster", nil)
		if err != nil {
			return err
		}
		_, err = rds.NewGlobalCluster(ctx, "exampleGlobalCluster", &rds.GlobalClusterArgs{
			ForceDestroy:              pulumi.Bool(true),
			GlobalClusterIdentifier:   pulumi.String("example"),
			SourceDbClusterIdentifier: exampleCluster.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_rds_global_cluster` can be imported by using the RDS Global Cluster identifier, e.g.

```sh

$ pulumi import aws:rds/globalCluster:GlobalCluster example example

```

Certain resource arguments, like `force_destroy`, only exist within Terraform. If the argument is set in the Terraform configuration on an imported resource, Terraform will show a difference on the first plan after import to update the state value. This change is safe to apply immediately so the state matches the desired configuration. Certain resource arguments, like `source_db_cluster_identifier`, do not have an API method for reading the information after creation. If the argument is set in the Terraform configuration on an imported resource, Terraform will always show a difference. To workaround this behavior, either omit the argument from the Terraform configuration or use [`ignore_changes`](/docs/configuration/resources.html#ignore_changes) to hide the difference, e.g. hcl resource "aws_rds_global_cluster" "example" {

... other configuration ...

There is no API for reading source_db_cluster_identifier

lifecycle {

ignore_changes = [source_db_cluster_identifier]

} }

func GetGlobalCluster

func GetGlobalCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GlobalClusterState, opts ...pulumi.ResourceOption) (*GlobalCluster, error)

GetGlobalCluster gets an existing GlobalCluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGlobalCluster

func NewGlobalCluster(ctx *pulumi.Context,
	name string, args *GlobalClusterArgs, opts ...pulumi.ResourceOption) (*GlobalCluster, error)

NewGlobalCluster registers a new resource with the given unique name, arguments, and options.

func (GlobalCluster) ElementType added in v3.13.0

func (GlobalCluster) ElementType() reflect.Type

func (GlobalCluster) ToGlobalClusterOutput added in v3.13.0

func (i GlobalCluster) ToGlobalClusterOutput() GlobalClusterOutput

func (GlobalCluster) ToGlobalClusterOutputWithContext added in v3.13.0

func (i GlobalCluster) ToGlobalClusterOutputWithContext(ctx context.Context) GlobalClusterOutput

type GlobalClusterArgs

type GlobalClusterArgs struct {
	// Name for an automatically created database on cluster creation.
	DatabaseName pulumi.StringPtrInput
	// If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrInput
	Engine             pulumi.StringPtrInput
	// Engine version of the Aurora global database.
	// * **NOTE:** When the engine is set to `aurora-mysql`, an engine version compatible with global database is required. The earliest available version is `5.7.mysql_aurora.2.06.0`.
	EngineVersion pulumi.StringPtrInput
	// Enable to remove DB Cluster members from Global Cluster on destroy. Required with `sourceDbClusterIdentifier`.
	ForceDestroy pulumi.BoolPtrInput
	// The global cluster identifier.
	GlobalClusterIdentifier   pulumi.StringInput
	SourceDbClusterIdentifier pulumi.StringPtrInput
	StorageEncrypted          pulumi.BoolPtrInput
}

The set of arguments for constructing a GlobalCluster resource.

func (GlobalClusterArgs) ElementType

func (GlobalClusterArgs) ElementType() reflect.Type

type GlobalClusterGlobalClusterMember added in v3.1.0

type GlobalClusterGlobalClusterMember struct {
	// Amazon Resource Name (ARN) of member DB Cluster
	DbClusterArn *string `pulumi:"dbClusterArn"`
	// Whether the member is the primary DB Cluster
	IsWriter *bool `pulumi:"isWriter"`
}

type GlobalClusterGlobalClusterMemberArgs added in v3.1.0

type GlobalClusterGlobalClusterMemberArgs struct {
	// Amazon Resource Name (ARN) of member DB Cluster
	DbClusterArn pulumi.StringPtrInput `pulumi:"dbClusterArn"`
	// Whether the member is the primary DB Cluster
	IsWriter pulumi.BoolPtrInput `pulumi:"isWriter"`
}

func (GlobalClusterGlobalClusterMemberArgs) ElementType added in v3.1.0

func (GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutput added in v3.1.0

func (i GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutput() GlobalClusterGlobalClusterMemberOutput

func (GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutputWithContext added in v3.1.0

func (i GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutputWithContext(ctx context.Context) GlobalClusterGlobalClusterMemberOutput

type GlobalClusterGlobalClusterMemberArray added in v3.1.0

type GlobalClusterGlobalClusterMemberArray []GlobalClusterGlobalClusterMemberInput

func (GlobalClusterGlobalClusterMemberArray) ElementType added in v3.1.0

func (GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutput added in v3.1.0

func (i GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutput() GlobalClusterGlobalClusterMemberArrayOutput

func (GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutputWithContext added in v3.1.0

func (i GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutputWithContext(ctx context.Context) GlobalClusterGlobalClusterMemberArrayOutput

type GlobalClusterGlobalClusterMemberArrayInput added in v3.1.0

type GlobalClusterGlobalClusterMemberArrayInput interface {
	pulumi.Input

	ToGlobalClusterGlobalClusterMemberArrayOutput() GlobalClusterGlobalClusterMemberArrayOutput
	ToGlobalClusterGlobalClusterMemberArrayOutputWithContext(context.Context) GlobalClusterGlobalClusterMemberArrayOutput
}

GlobalClusterGlobalClusterMemberArrayInput is an input type that accepts GlobalClusterGlobalClusterMemberArray and GlobalClusterGlobalClusterMemberArrayOutput values. You can construct a concrete instance of `GlobalClusterGlobalClusterMemberArrayInput` via:

GlobalClusterGlobalClusterMemberArray{ GlobalClusterGlobalClusterMemberArgs{...} }

type GlobalClusterGlobalClusterMemberArrayOutput added in v3.1.0

type GlobalClusterGlobalClusterMemberArrayOutput struct{ *pulumi.OutputState }

func (GlobalClusterGlobalClusterMemberArrayOutput) ElementType added in v3.1.0

func (GlobalClusterGlobalClusterMemberArrayOutput) Index added in v3.1.0

func (GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutput added in v3.1.0

func (o GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutput() GlobalClusterGlobalClusterMemberArrayOutput

func (GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutputWithContext added in v3.1.0

func (o GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutputWithContext(ctx context.Context) GlobalClusterGlobalClusterMemberArrayOutput

type GlobalClusterGlobalClusterMemberInput added in v3.1.0

type GlobalClusterGlobalClusterMemberInput interface {
	pulumi.Input

	ToGlobalClusterGlobalClusterMemberOutput() GlobalClusterGlobalClusterMemberOutput
	ToGlobalClusterGlobalClusterMemberOutputWithContext(context.Context) GlobalClusterGlobalClusterMemberOutput
}

GlobalClusterGlobalClusterMemberInput is an input type that accepts GlobalClusterGlobalClusterMemberArgs and GlobalClusterGlobalClusterMemberOutput values. You can construct a concrete instance of `GlobalClusterGlobalClusterMemberInput` via:

GlobalClusterGlobalClusterMemberArgs{...}

type GlobalClusterGlobalClusterMemberOutput added in v3.1.0

type GlobalClusterGlobalClusterMemberOutput struct{ *pulumi.OutputState }

func (GlobalClusterGlobalClusterMemberOutput) DbClusterArn added in v3.1.0

Amazon Resource Name (ARN) of member DB Cluster

func (GlobalClusterGlobalClusterMemberOutput) ElementType added in v3.1.0

func (GlobalClusterGlobalClusterMemberOutput) IsWriter added in v3.1.0

Whether the member is the primary DB Cluster

func (GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutput added in v3.1.0

func (o GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutput() GlobalClusterGlobalClusterMemberOutput

func (GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutputWithContext added in v3.1.0

func (o GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutputWithContext(ctx context.Context) GlobalClusterGlobalClusterMemberOutput

type GlobalClusterInput added in v3.13.0

type GlobalClusterInput interface {
	pulumi.Input

	ToGlobalClusterOutput() GlobalClusterOutput
	ToGlobalClusterOutputWithContext(ctx context.Context) GlobalClusterOutput
}

type GlobalClusterOutput added in v3.13.0

type GlobalClusterOutput struct {
	*pulumi.OutputState
}

func (GlobalClusterOutput) ElementType added in v3.13.0

func (GlobalClusterOutput) ElementType() reflect.Type

func (GlobalClusterOutput) ToGlobalClusterOutput added in v3.13.0

func (o GlobalClusterOutput) ToGlobalClusterOutput() GlobalClusterOutput

func (GlobalClusterOutput) ToGlobalClusterOutputWithContext added in v3.13.0

func (o GlobalClusterOutput) ToGlobalClusterOutputWithContext(ctx context.Context) GlobalClusterOutput

type GlobalClusterState

type GlobalClusterState struct {
	// RDS Global Cluster Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// Name for an automatically created database on cluster creation.
	DatabaseName pulumi.StringPtrInput
	// If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrInput
	Engine             pulumi.StringPtrInput
	// Engine version of the Aurora global database.
	// * **NOTE:** When the engine is set to `aurora-mysql`, an engine version compatible with global database is required. The earliest available version is `5.7.mysql_aurora.2.06.0`.
	EngineVersion pulumi.StringPtrInput
	// Enable to remove DB Cluster members from Global Cluster on destroy. Required with `sourceDbClusterIdentifier`.
	ForceDestroy pulumi.BoolPtrInput
	// The global cluster identifier.
	GlobalClusterIdentifier pulumi.StringPtrInput
	// Set of objects containing Global Cluster members.
	GlobalClusterMembers GlobalClusterGlobalClusterMemberArrayInput
	// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed
	GlobalClusterResourceId   pulumi.StringPtrInput
	SourceDbClusterIdentifier pulumi.StringPtrInput
	StorageEncrypted          pulumi.BoolPtrInput
}

func (GlobalClusterState) ElementType

func (GlobalClusterState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// The hostname of the RDS instance. See also `endpoint` and `port`.
	Address pulumi.StringOutput `pulumi:"address"`
	// The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs.
	AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"`
	// Indicates that major version
	// upgrades are allowed. Changing this parameter does not result in an outage and
	// the change is asynchronously applied as soon as possible.
	AllowMajorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowMajorVersionUpgrade"`
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is
	// `false`. See [Amazon RDS Documentation for more
	// information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
	ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"`
	// The ARN of the RDS instance.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Indicates that minor engine upgrades
	// will be applied automatically to the DB instance during the maintenance window.
	// Defaults to true.
	AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"`
	// The AZ for the RDS instance.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The days to retain backups for. Must be
	// between `0` and `35`. Must be greater than `0` if the database is used as a source for a Read Replica. [See Read Replica][1].
	BackupRetentionPeriod pulumi.IntOutput `pulumi:"backupRetentionPeriod"`
	// The daily time range (in UTC) during which
	// automated backups are created if they are enabled. Example: "09:46-10:16". Must
	// not overlap with `maintenanceWindow`.
	BackupWindow pulumi.StringOutput `pulumi:"backupWindow"`
	// The identifier of the CA certificate for the DB instance.
	CaCertIdentifier pulumi.StringOutput `pulumi:"caCertIdentifier"`
	// The character set name to use for DB
	// encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets
	// Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html)
	// or [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information.
	CharacterSetName pulumi.StringOutput `pulumi:"characterSetName"`
	// Copy all Instance `tags` to snapshots. Default is `false`.
	CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"`
	// Name of `DB subnet group`. DB instance will
	// be created in the VPC associated with the DB subnet group. If unspecified, will
	// be created in the `default` VPC, or in EC2 Classic, if available. When working
	// with read replicas, it should be specified only if the source database
	// specifies an instance in another AWS Region. See [DBSubnetGroupName in API
	// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)
	// for additional read replica contraints.
	DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"`
	// Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`.
	DeleteAutomatedBackups pulumi.BoolPtrOutput `pulumi:"deleteAutomatedBackups"`
	// If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"`
	// The ID of the Directory Service Active Directory domain to create the instance in.
	Domain pulumi.StringPtrOutput `pulumi:"domain"`
	// The name of the IAM role to be used when making API calls to the Directory Service.
	DomainIamRoleName pulumi.StringPtrOutput `pulumi:"domainIamRoleName"`
	// Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on `engine`). MySQL and MariaDB: `audit`, `error`, `general`, `slowquery`. PostgreSQL: `postgresql`, `upgrade`. MSSQL: `agent` , `error`. Oracle: `alert`, `audit`, `listener`, `trace`.
	EnabledCloudwatchLogsExports pulumi.StringArrayOutput `pulumi:"enabledCloudwatchLogsExports"`
	// The connection endpoint in `address:port` format.
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) The database engine to use.  For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
	// Note that for Amazon Aurora instances the engine must match the `DB cluster`'s engine'.
	// For information on the difference between the available Aurora MySQL engines
	// see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)
	// in the Amazon RDS User Guide.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// The engine version to use. If `autoMinorVersionUpgrade`
	// is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`) and
	// this attribute will ignore differences in the patch version automatically (e.g. `5.7.17`).
	// For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
	// Note that for Amazon Aurora instances the engine version must match the `DB cluster`'s engine version'.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// The name of your final DB snapshot
	// when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is
	// set to `false`.
	FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"`
	// The canonical hosted zone ID of the DB instance (to be used
	// in a Route 53 Alias record).
	HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"`
	// Specifies whether or
	// mappings of AWS Identity and Access Management (IAM) accounts to database
	// accounts is enabled.
	IamDatabaseAuthenticationEnabled pulumi.BoolPtrOutput `pulumi:"iamDatabaseAuthenticationEnabled"`
	// The name of the RDS instance,
	// if omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringOutput `pulumi:"identifier"`
	// Creates a unique
	// identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"`
	// The instance type of the RDS instance.
	InstanceClass pulumi.StringOutput `pulumi:"instanceClass"`
	// The amount of provisioned IOPS. Setting this implies a
	// storageType of "io1".
	Iops pulumi.IntPtrOutput `pulumi:"iops"`
	// The ARN for the KMS encryption key. If creating an
	// encrypted replica, set this to the destination KMS ARN.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore.
	LatestRestorableTime pulumi.StringOutput `pulumi:"latestRestorableTime"`
	// (Optional, but required for some DB engines, i.e. Oracle
	// SE1) License model information for this DB instance.
	LicenseModel pulumi.StringOutput `pulumi:"licenseModel"`
	// The window to perform maintenance in.
	// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS
	// Maintenance Window
	// docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)
	// for more information.
	MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"`
	// When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling.
	MaxAllocatedStorage pulumi.IntPtrOutput `pulumi:"maxAllocatedStorage"`
	// The interval, in seconds, between points
	// when Enhanced Monitoring metrics are collected for the DB instance. To disable
	// collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid
	// Values: 0, 1, 5, 10, 15, 30, 60.
	MonitoringInterval pulumi.IntPtrOutput `pulumi:"monitoringInterval"`
	// The ARN for the IAM role that permits RDS
	// to send enhanced monitoring metrics to CloudWatch Logs. You can find more
	// information on the [AWS
	// Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html)
	// what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.
	MonitoringRoleArn pulumi.StringOutput `pulumi:"monitoringRoleArn"`
	// Specifies if the RDS instance is multi-AZ
	MultiAz pulumi.BoolOutput `pulumi:"multiAz"`
	// The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](http://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of the DB option group to associate.
	OptionGroupName pulumi.StringOutput `pulumi:"optionGroupName"`
	// Name of the DB parameter group to
	// associate.
	ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"`
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) Password for the master DB user. Note that this may show up in
	// logs, and it will be stored in the state file.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// Specifies whether Performance Insights are enabled. Defaults to false.
	PerformanceInsightsEnabled pulumi.BoolPtrOutput `pulumi:"performanceInsightsEnabled"`
	// The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed.
	PerformanceInsightsKmsKeyId pulumi.StringOutput `pulumi:"performanceInsightsKmsKeyId"`
	// The amount of time in days to retain Performance Insights data. Either 7 (7 days) or 731 (2 years). When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'.
	PerformanceInsightsRetentionPeriod pulumi.IntOutput `pulumi:"performanceInsightsRetentionPeriod"`
	// The port on which the DB accepts connections.
	Port pulumi.IntOutput `pulumi:"port"`
	// Bool to control if instance is publicly
	// accessible. Default is `false`.
	PubliclyAccessible pulumi.BoolPtrOutput     `pulumi:"publiclyAccessible"`
	Replicas           pulumi.StringArrayOutput `pulumi:"replicas"`
	// Specifies that this resource is a Replicate
	// database, and to use this value as the source database. This correlates to the
	// `identifier` of another Amazon RDS Database to replicate (if replicating within
	// a single region) or ARN of the Amazon RDS Database to replicate (if replicating
	// cross-region). Note that if you are
	// creating a cross-region replica of an encrypted database you will also need to
	// specify a `kmsKeyId`. See [DB Instance Replication][1] and [Working with
	// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
	// for more information on using Replication.
	ReplicateSourceDb pulumi.StringPtrOutput `pulumi:"replicateSourceDb"`
	// The RDS Resource ID of this instance.
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.
	RestoreToPointInTime InstanceRestoreToPointInTimePtrOutput `pulumi:"restoreToPointInTime"`
	// Restore from a Percona Xtrabackup in S3.  See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
	S3Import InstanceS3ImportPtrOutput `pulumi:"s3Import"`
	// List of DB Security Groups to
	// associate. Only used for [DB Instances on the _EC2-Classic_
	// Platform](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html#USER_VPC.FindDefaultVPC).
	SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"`
	// Determines whether a final DB snapshot is
	// created before the DB instance is deleted. If true is specified, no DBSnapshot
	// is created. If false is specified, a DB snapshot is created before the DB
	// instance is deleted, using the value from `finalSnapshotIdentifier`. Default
	// is `false`.
	SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"`
	// Specifies whether or not to create this
	// database from a snapshot. This correlates to the snapshot ID you'd find in the
	// RDS console, e.g: rds:production-2015-06-26-06-05.
	SnapshotIdentifier pulumi.StringPtrOutput `pulumi:"snapshotIdentifier"`
	// The RDS instance status.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies whether the DB instance is
	// encrypted. Note that if you are creating a cross-region read replica this field
	// is ignored and you should instead declare `kmsKeyId` with a valid ARN. The
	// default is `false` if not specified.
	StorageEncrypted pulumi.BoolPtrOutput `pulumi:"storageEncrypted"`
	// One of "standard" (magnetic), "gp2" (general
	// purpose SSD), or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is
	// specified, "gp2" if not.
	StorageType pulumi.StringOutput `pulumi:"storageType"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Time zone of the DB instance. `timezone` is currently
	// only supported by Microsoft SQL Server. The `timezone` can only be set on
	// creation. See [MSSQL User
	// Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone)
	// for more information.
	Timezone pulumi.StringOutput `pulumi:"timezone"`
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) Username for the master DB user.
	Username pulumi.StringOutput `pulumi:"username"`
	// List of VPC security groups to
	// associate.
	VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"`
}

Provides an RDS instance resource. A DB instance is an isolated database environment in the cloud. A DB instance can contain multiple user-created databases.

Changes to a DB instance can occur when you manually change a parameter, such as `allocatedStorage`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately (see documentation below).

When upgrading the major version of an engine, `allowMajorVersionUpgrade` must be set to `true`.

> **Note:** using `applyImmediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance][2] for more information.

> **Note:** All arguments including the username and password will be stored in the raw state as plain-text.

## RDS Instance Class Types

Amazon RDS supports three types of instance classes: Standard, Memory Optimized, and Burstable Performance. For more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)

## Example Usage ### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewInstance(ctx, "_default", &rds.InstanceArgs{
			AllocatedStorage:   pulumi.Int(20),
			Engine:             pulumi.String("mysql"),
			EngineVersion:      pulumi.String("5.7"),
			InstanceClass:      pulumi.String("db.t2.micro"),
			Name:               pulumi.String("mydb"),
			ParameterGroupName: pulumi.String("default.mysql5.7"),
			Password:           pulumi.String("foobarbaz"),
			StorageType:        pulumi.String("gp2"),
			Username:           pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Storage Autoscaling

To enable Storage Autoscaling with instances that support the feature, define the `maxAllocatedStorage` argument higher than the `allocatedStorage` argument. This provider will automatically hide differences with the `allocatedStorage` argument value if autoscaling occurs.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewInstance(ctx, "example", &rds.InstanceArgs{
			AllocatedStorage:    pulumi.Int(50),
			MaxAllocatedStorage: pulumi.Int(100),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DB Instances can be imported using the `identifier`, e.g.

```sh

$ pulumi import aws:rds/instance:Instance default mydb-rds-instance

```

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

NewInstance registers a new resource with the given unique name, arguments, and options.

func (Instance) ElementType added in v3.13.0

func (Instance) ElementType() reflect.Type

func (Instance) ToInstanceOutput added in v3.13.0

func (i Instance) ToInstanceOutput() InstanceOutput

func (Instance) ToInstanceOutputWithContext added in v3.13.0

func (i Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs.
	AllocatedStorage pulumi.IntPtrInput
	// Indicates that major version
	// upgrades are allowed. Changing this parameter does not result in an outage and
	// the change is asynchronously applied as soon as possible.
	AllowMajorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is
	// `false`. See [Amazon RDS Documentation for more
	// information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
	ApplyImmediately pulumi.BoolPtrInput
	// Indicates that minor engine upgrades
	// will be applied automatically to the DB instance during the maintenance window.
	// Defaults to true.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// The AZ for the RDS instance.
	AvailabilityZone pulumi.StringPtrInput
	// The days to retain backups for. Must be
	// between `0` and `35`. Must be greater than `0` if the database is used as a source for a Read Replica. [See Read Replica][1].
	BackupRetentionPeriod pulumi.IntPtrInput
	// The daily time range (in UTC) during which
	// automated backups are created if they are enabled. Example: "09:46-10:16". Must
	// not overlap with `maintenanceWindow`.
	BackupWindow pulumi.StringPtrInput
	// The identifier of the CA certificate for the DB instance.
	CaCertIdentifier pulumi.StringPtrInput
	// The character set name to use for DB
	// encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets
	// Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html)
	// or [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information.
	CharacterSetName pulumi.StringPtrInput
	// Copy all Instance `tags` to snapshots. Default is `false`.
	CopyTagsToSnapshot pulumi.BoolPtrInput
	// Name of `DB subnet group`. DB instance will
	// be created in the VPC associated with the DB subnet group. If unspecified, will
	// be created in the `default` VPC, or in EC2 Classic, if available. When working
	// with read replicas, it should be specified only if the source database
	// specifies an instance in another AWS Region. See [DBSubnetGroupName in API
	// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)
	// for additional read replica contraints.
	DbSubnetGroupName pulumi.StringPtrInput
	// Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`.
	DeleteAutomatedBackups pulumi.BoolPtrInput
	// If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrInput
	// The ID of the Directory Service Active Directory domain to create the instance in.
	Domain pulumi.StringPtrInput
	// The name of the IAM role to be used when making API calls to the Directory Service.
	DomainIamRoleName pulumi.StringPtrInput
	// Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on `engine`). MySQL and MariaDB: `audit`, `error`, `general`, `slowquery`. PostgreSQL: `postgresql`, `upgrade`. MSSQL: `agent` , `error`. Oracle: `alert`, `audit`, `listener`, `trace`.
	EnabledCloudwatchLogsExports pulumi.StringArrayInput
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) The database engine to use.  For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
	// Note that for Amazon Aurora instances the engine must match the `DB cluster`'s engine'.
	// For information on the difference between the available Aurora MySQL engines
	// see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)
	// in the Amazon RDS User Guide.
	Engine pulumi.StringPtrInput
	// The engine version to use. If `autoMinorVersionUpgrade`
	// is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`) and
	// this attribute will ignore differences in the patch version automatically (e.g. `5.7.17`).
	// For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
	// Note that for Amazon Aurora instances the engine version must match the `DB cluster`'s engine version'.
	EngineVersion pulumi.StringPtrInput
	// The name of your final DB snapshot
	// when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is
	// set to `false`.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// Specifies whether or
	// mappings of AWS Identity and Access Management (IAM) accounts to database
	// accounts is enabled.
	IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput
	// The name of the RDS instance,
	// if omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringPtrInput
	// Creates a unique
	// identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringPtrInput
	// The instance type of the RDS instance.
	InstanceClass pulumi.StringInput
	// The amount of provisioned IOPS. Setting this implies a
	// storageType of "io1".
	Iops pulumi.IntPtrInput
	// The ARN for the KMS encryption key. If creating an
	// encrypted replica, set this to the destination KMS ARN.
	KmsKeyId pulumi.StringPtrInput
	// (Optional, but required for some DB engines, i.e. Oracle
	// SE1) License model information for this DB instance.
	LicenseModel pulumi.StringPtrInput
	// The window to perform maintenance in.
	// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS
	// Maintenance Window
	// docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)
	// for more information.
	MaintenanceWindow pulumi.StringPtrInput
	// When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling.
	MaxAllocatedStorage pulumi.IntPtrInput
	// The interval, in seconds, between points
	// when Enhanced Monitoring metrics are collected for the DB instance. To disable
	// collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid
	// Values: 0, 1, 5, 10, 15, 30, 60.
	MonitoringInterval pulumi.IntPtrInput
	// The ARN for the IAM role that permits RDS
	// to send enhanced monitoring metrics to CloudWatch Logs. You can find more
	// information on the [AWS
	// Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html)
	// what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.
	MonitoringRoleArn pulumi.StringPtrInput
	// Specifies if the RDS instance is multi-AZ
	MultiAz pulumi.BoolPtrInput
	// The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](http://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines.
	Name pulumi.StringPtrInput
	// Name of the DB option group to associate.
	OptionGroupName pulumi.StringPtrInput
	// Name of the DB parameter group to
	// associate.
	ParameterGroupName pulumi.StringPtrInput
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) Password for the master DB user. Note that this may show up in
	// logs, and it will be stored in the state file.
	Password pulumi.StringPtrInput
	// Specifies whether Performance Insights are enabled. Defaults to false.
	PerformanceInsightsEnabled pulumi.BoolPtrInput
	// The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed.
	PerformanceInsightsKmsKeyId pulumi.StringPtrInput
	// The amount of time in days to retain Performance Insights data. Either 7 (7 days) or 731 (2 years). When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'.
	PerformanceInsightsRetentionPeriod pulumi.IntPtrInput
	// The port on which the DB accepts connections.
	Port pulumi.IntPtrInput
	// Bool to control if instance is publicly
	// accessible. Default is `false`.
	PubliclyAccessible pulumi.BoolPtrInput
	// Specifies that this resource is a Replicate
	// database, and to use this value as the source database. This correlates to the
	// `identifier` of another Amazon RDS Database to replicate (if replicating within
	// a single region) or ARN of the Amazon RDS Database to replicate (if replicating
	// cross-region). Note that if you are
	// creating a cross-region replica of an encrypted database you will also need to
	// specify a `kmsKeyId`. See [DB Instance Replication][1] and [Working with
	// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
	// for more information on using Replication.
	ReplicateSourceDb pulumi.StringPtrInput
	// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.
	RestoreToPointInTime InstanceRestoreToPointInTimePtrInput
	// Restore from a Percona Xtrabackup in S3.  See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
	S3Import InstanceS3ImportPtrInput
	// List of DB Security Groups to
	// associate. Only used for [DB Instances on the _EC2-Classic_
	// Platform](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html#USER_VPC.FindDefaultVPC).
	SecurityGroupNames pulumi.StringArrayInput
	// Determines whether a final DB snapshot is
	// created before the DB instance is deleted. If true is specified, no DBSnapshot
	// is created. If false is specified, a DB snapshot is created before the DB
	// instance is deleted, using the value from `finalSnapshotIdentifier`. Default
	// is `false`.
	SkipFinalSnapshot pulumi.BoolPtrInput
	// Specifies whether or not to create this
	// database from a snapshot. This correlates to the snapshot ID you'd find in the
	// RDS console, e.g: rds:production-2015-06-26-06-05.
	SnapshotIdentifier pulumi.StringPtrInput
	// Specifies whether the DB instance is
	// encrypted. Note that if you are creating a cross-region read replica this field
	// is ignored and you should instead declare `kmsKeyId` with a valid ARN. The
	// default is `false` if not specified.
	StorageEncrypted pulumi.BoolPtrInput
	// One of "standard" (magnetic), "gp2" (general
	// purpose SSD), or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is
	// specified, "gp2" if not.
	StorageType pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Time zone of the DB instance. `timezone` is currently
	// only supported by Microsoft SQL Server. The `timezone` can only be set on
	// creation. See [MSSQL User
	// Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone)
	// for more information.
	Timezone pulumi.StringPtrInput
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) Username for the master DB user.
	Username pulumi.StringPtrInput
	// List of VPC security groups to
	// associate.
	VpcSecurityGroupIds pulumi.StringArrayInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceInput added in v3.13.0

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceOutput added in v3.13.0

type InstanceOutput struct {
	*pulumi.OutputState
}

func (InstanceOutput) ElementType added in v3.13.0

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput added in v3.13.0

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext added in v3.13.0

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceRestoreToPointInTime added in v3.13.0

type InstanceRestoreToPointInTime struct {
	// The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`.
	RestoreTime *string `pulumi:"restoreTime"`
	// The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if `sourceDbiResourceId` is not specified.
	SourceDbInstanceIdentifier *string `pulumi:"sourceDbInstanceIdentifier"`
	// The resource ID of the source DB instance from which to restore. Required if `sourceDbInstanceIdentifier` is not specified.
	SourceDbiResourceId *string `pulumi:"sourceDbiResourceId"`
	// A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restoreTime`.
	UseLatestRestorableTime *bool `pulumi:"useLatestRestorableTime"`
}

type InstanceRestoreToPointInTimeArgs added in v3.13.0

type InstanceRestoreToPointInTimeArgs struct {
	// The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`.
	RestoreTime pulumi.StringPtrInput `pulumi:"restoreTime"`
	// The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if `sourceDbiResourceId` is not specified.
	SourceDbInstanceIdentifier pulumi.StringPtrInput `pulumi:"sourceDbInstanceIdentifier"`
	// The resource ID of the source DB instance from which to restore. Required if `sourceDbInstanceIdentifier` is not specified.
	SourceDbiResourceId pulumi.StringPtrInput `pulumi:"sourceDbiResourceId"`
	// A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restoreTime`.
	UseLatestRestorableTime pulumi.BoolPtrInput `pulumi:"useLatestRestorableTime"`
}

func (InstanceRestoreToPointInTimeArgs) ElementType added in v3.13.0

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutput added in v3.13.0

func (i InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutput() InstanceRestoreToPointInTimeOutput

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutputWithContext added in v3.13.0

func (i InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutputWithContext(ctx context.Context) InstanceRestoreToPointInTimeOutput

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutput added in v3.13.0

func (i InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutputWithContext added in v3.13.0

func (i InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutputWithContext(ctx context.Context) InstanceRestoreToPointInTimePtrOutput

type InstanceRestoreToPointInTimeInput added in v3.13.0

type InstanceRestoreToPointInTimeInput interface {
	pulumi.Input

	ToInstanceRestoreToPointInTimeOutput() InstanceRestoreToPointInTimeOutput
	ToInstanceRestoreToPointInTimeOutputWithContext(context.Context) InstanceRestoreToPointInTimeOutput
}

InstanceRestoreToPointInTimeInput is an input type that accepts InstanceRestoreToPointInTimeArgs and InstanceRestoreToPointInTimeOutput values. You can construct a concrete instance of `InstanceRestoreToPointInTimeInput` via:

InstanceRestoreToPointInTimeArgs{...}

type InstanceRestoreToPointInTimeOutput added in v3.13.0

type InstanceRestoreToPointInTimeOutput struct{ *pulumi.OutputState }

func (InstanceRestoreToPointInTimeOutput) ElementType added in v3.13.0

func (InstanceRestoreToPointInTimeOutput) RestoreTime added in v3.13.0

The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`.

func (InstanceRestoreToPointInTimeOutput) SourceDbInstanceIdentifier added in v3.13.0

func (o InstanceRestoreToPointInTimeOutput) SourceDbInstanceIdentifier() pulumi.StringPtrOutput

The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if `sourceDbiResourceId` is not specified.

func (InstanceRestoreToPointInTimeOutput) SourceDbiResourceId added in v3.13.0

The resource ID of the source DB instance from which to restore. Required if `sourceDbInstanceIdentifier` is not specified.

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutput added in v3.13.0

func (o InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutput() InstanceRestoreToPointInTimeOutput

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutputWithContext added in v3.13.0

func (o InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutputWithContext(ctx context.Context) InstanceRestoreToPointInTimeOutput

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutput added in v3.13.0

func (o InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutputWithContext added in v3.13.0

func (o InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutputWithContext(ctx context.Context) InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimeOutput) UseLatestRestorableTime added in v3.13.0

func (o InstanceRestoreToPointInTimeOutput) UseLatestRestorableTime() pulumi.BoolPtrOutput

A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restoreTime`.

type InstanceRestoreToPointInTimePtrInput added in v3.13.0

type InstanceRestoreToPointInTimePtrInput interface {
	pulumi.Input

	ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput
	ToInstanceRestoreToPointInTimePtrOutputWithContext(context.Context) InstanceRestoreToPointInTimePtrOutput
}

InstanceRestoreToPointInTimePtrInput is an input type that accepts InstanceRestoreToPointInTimeArgs, InstanceRestoreToPointInTimePtr and InstanceRestoreToPointInTimePtrOutput values. You can construct a concrete instance of `InstanceRestoreToPointInTimePtrInput` via:

        InstanceRestoreToPointInTimeArgs{...}

or:

        nil

func InstanceRestoreToPointInTimePtr added in v3.13.0

type InstanceRestoreToPointInTimePtrOutput added in v3.13.0

type InstanceRestoreToPointInTimePtrOutput struct{ *pulumi.OutputState }

func (InstanceRestoreToPointInTimePtrOutput) Elem added in v3.13.0

func (InstanceRestoreToPointInTimePtrOutput) ElementType added in v3.13.0

func (InstanceRestoreToPointInTimePtrOutput) RestoreTime added in v3.13.0

The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`.

func (InstanceRestoreToPointInTimePtrOutput) SourceDbInstanceIdentifier added in v3.13.0

func (o InstanceRestoreToPointInTimePtrOutput) SourceDbInstanceIdentifier() pulumi.StringPtrOutput

The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if `sourceDbiResourceId` is not specified.

func (InstanceRestoreToPointInTimePtrOutput) SourceDbiResourceId added in v3.13.0

The resource ID of the source DB instance from which to restore. Required if `sourceDbInstanceIdentifier` is not specified.

func (InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutput added in v3.13.0

func (o InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutputWithContext added in v3.13.0

func (o InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutputWithContext(ctx context.Context) InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimePtrOutput) UseLatestRestorableTime added in v3.13.0

func (o InstanceRestoreToPointInTimePtrOutput) UseLatestRestorableTime() pulumi.BoolPtrOutput

A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restoreTime`.

type InstanceS3Import

type InstanceS3Import struct {
	// The bucket name where your backup is stored
	BucketName string `pulumi:"bucketName"`
	// Can be blank, but is the path to your backup
	BucketPrefix *string `pulumi:"bucketPrefix"`
	// Role applied to load the data.
	IngestionRole string `pulumi:"ingestionRole"`
	// Source engine for the backup
	SourceEngine string `pulumi:"sourceEngine"`
	// Version of the source engine used to make the backup
	SourceEngineVersion string `pulumi:"sourceEngineVersion"`
}

type InstanceS3ImportArgs

type InstanceS3ImportArgs struct {
	// The bucket name where your backup is stored
	BucketName pulumi.StringInput `pulumi:"bucketName"`
	// Can be blank, but is the path to your backup
	BucketPrefix pulumi.StringPtrInput `pulumi:"bucketPrefix"`
	// Role applied to load the data.
	IngestionRole pulumi.StringInput `pulumi:"ingestionRole"`
	// Source engine for the backup
	SourceEngine pulumi.StringInput `pulumi:"sourceEngine"`
	// Version of the source engine used to make the backup
	SourceEngineVersion pulumi.StringInput `pulumi:"sourceEngineVersion"`
}

func (InstanceS3ImportArgs) ElementType

func (InstanceS3ImportArgs) ElementType() reflect.Type

func (InstanceS3ImportArgs) ToInstanceS3ImportOutput

func (i InstanceS3ImportArgs) ToInstanceS3ImportOutput() InstanceS3ImportOutput

func (InstanceS3ImportArgs) ToInstanceS3ImportOutputWithContext

func (i InstanceS3ImportArgs) ToInstanceS3ImportOutputWithContext(ctx context.Context) InstanceS3ImportOutput

func (InstanceS3ImportArgs) ToInstanceS3ImportPtrOutput

func (i InstanceS3ImportArgs) ToInstanceS3ImportPtrOutput() InstanceS3ImportPtrOutput

func (InstanceS3ImportArgs) ToInstanceS3ImportPtrOutputWithContext

func (i InstanceS3ImportArgs) ToInstanceS3ImportPtrOutputWithContext(ctx context.Context) InstanceS3ImportPtrOutput

type InstanceS3ImportInput

type InstanceS3ImportInput interface {
	pulumi.Input

	ToInstanceS3ImportOutput() InstanceS3ImportOutput
	ToInstanceS3ImportOutputWithContext(context.Context) InstanceS3ImportOutput
}

InstanceS3ImportInput is an input type that accepts InstanceS3ImportArgs and InstanceS3ImportOutput values. You can construct a concrete instance of `InstanceS3ImportInput` via:

InstanceS3ImportArgs{...}

type InstanceS3ImportOutput

type InstanceS3ImportOutput struct{ *pulumi.OutputState }

func (InstanceS3ImportOutput) BucketName

The bucket name where your backup is stored

func (InstanceS3ImportOutput) BucketPrefix

Can be blank, but is the path to your backup

func (InstanceS3ImportOutput) ElementType

func (InstanceS3ImportOutput) ElementType() reflect.Type

func (InstanceS3ImportOutput) IngestionRole

func (o InstanceS3ImportOutput) IngestionRole() pulumi.StringOutput

Role applied to load the data.

func (InstanceS3ImportOutput) SourceEngine

func (o InstanceS3ImportOutput) SourceEngine() pulumi.StringOutput

Source engine for the backup

func (InstanceS3ImportOutput) SourceEngineVersion

func (o InstanceS3ImportOutput) SourceEngineVersion() pulumi.StringOutput

Version of the source engine used to make the backup

func (InstanceS3ImportOutput) ToInstanceS3ImportOutput

func (o InstanceS3ImportOutput) ToInstanceS3ImportOutput() InstanceS3ImportOutput

func (InstanceS3ImportOutput) ToInstanceS3ImportOutputWithContext

func (o InstanceS3ImportOutput) ToInstanceS3ImportOutputWithContext(ctx context.Context) InstanceS3ImportOutput

func (InstanceS3ImportOutput) ToInstanceS3ImportPtrOutput

func (o InstanceS3ImportOutput) ToInstanceS3ImportPtrOutput() InstanceS3ImportPtrOutput

func (InstanceS3ImportOutput) ToInstanceS3ImportPtrOutputWithContext

func (o InstanceS3ImportOutput) ToInstanceS3ImportPtrOutputWithContext(ctx context.Context) InstanceS3ImportPtrOutput

type InstanceS3ImportPtrInput

type InstanceS3ImportPtrInput interface {
	pulumi.Input

	ToInstanceS3ImportPtrOutput() InstanceS3ImportPtrOutput
	ToInstanceS3ImportPtrOutputWithContext(context.Context) InstanceS3ImportPtrOutput
}

InstanceS3ImportPtrInput is an input type that accepts InstanceS3ImportArgs, InstanceS3ImportPtr and InstanceS3ImportPtrOutput values. You can construct a concrete instance of `InstanceS3ImportPtrInput` via:

        InstanceS3ImportArgs{...}

or:

        nil

type InstanceS3ImportPtrOutput

type InstanceS3ImportPtrOutput struct{ *pulumi.OutputState }

func (InstanceS3ImportPtrOutput) BucketName

The bucket name where your backup is stored

func (InstanceS3ImportPtrOutput) BucketPrefix

Can be blank, but is the path to your backup

func (InstanceS3ImportPtrOutput) Elem

func (InstanceS3ImportPtrOutput) ElementType

func (InstanceS3ImportPtrOutput) ElementType() reflect.Type

func (InstanceS3ImportPtrOutput) IngestionRole

Role applied to load the data.

func (InstanceS3ImportPtrOutput) SourceEngine

Source engine for the backup

func (InstanceS3ImportPtrOutput) SourceEngineVersion

func (o InstanceS3ImportPtrOutput) SourceEngineVersion() pulumi.StringPtrOutput

Version of the source engine used to make the backup

func (InstanceS3ImportPtrOutput) ToInstanceS3ImportPtrOutput

func (o InstanceS3ImportPtrOutput) ToInstanceS3ImportPtrOutput() InstanceS3ImportPtrOutput

func (InstanceS3ImportPtrOutput) ToInstanceS3ImportPtrOutputWithContext

func (o InstanceS3ImportPtrOutput) ToInstanceS3ImportPtrOutputWithContext(ctx context.Context) InstanceS3ImportPtrOutput

type InstanceState

type InstanceState struct {
	// The hostname of the RDS instance. See also `endpoint` and `port`.
	Address pulumi.StringPtrInput
	// The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs.
	AllocatedStorage pulumi.IntPtrInput
	// Indicates that major version
	// upgrades are allowed. Changing this parameter does not result in an outage and
	// the change is asynchronously applied as soon as possible.
	AllowMajorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is
	// `false`. See [Amazon RDS Documentation for more
	// information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
	ApplyImmediately pulumi.BoolPtrInput
	// The ARN of the RDS instance.
	Arn pulumi.StringPtrInput
	// Indicates that minor engine upgrades
	// will be applied automatically to the DB instance during the maintenance window.
	// Defaults to true.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// The AZ for the RDS instance.
	AvailabilityZone pulumi.StringPtrInput
	// The days to retain backups for. Must be
	// between `0` and `35`. Must be greater than `0` if the database is used as a source for a Read Replica. [See Read Replica][1].
	BackupRetentionPeriod pulumi.IntPtrInput
	// The daily time range (in UTC) during which
	// automated backups are created if they are enabled. Example: "09:46-10:16". Must
	// not overlap with `maintenanceWindow`.
	BackupWindow pulumi.StringPtrInput
	// The identifier of the CA certificate for the DB instance.
	CaCertIdentifier pulumi.StringPtrInput
	// The character set name to use for DB
	// encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets
	// Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html)
	// or [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information.
	CharacterSetName pulumi.StringPtrInput
	// Copy all Instance `tags` to snapshots. Default is `false`.
	CopyTagsToSnapshot pulumi.BoolPtrInput
	// Name of `DB subnet group`. DB instance will
	// be created in the VPC associated with the DB subnet group. If unspecified, will
	// be created in the `default` VPC, or in EC2 Classic, if available. When working
	// with read replicas, it should be specified only if the source database
	// specifies an instance in another AWS Region. See [DBSubnetGroupName in API
	// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)
	// for additional read replica contraints.
	DbSubnetGroupName pulumi.StringPtrInput
	// Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`.
	DeleteAutomatedBackups pulumi.BoolPtrInput
	// If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`.
	DeletionProtection pulumi.BoolPtrInput
	// The ID of the Directory Service Active Directory domain to create the instance in.
	Domain pulumi.StringPtrInput
	// The name of the IAM role to be used when making API calls to the Directory Service.
	DomainIamRoleName pulumi.StringPtrInput
	// Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on `engine`). MySQL and MariaDB: `audit`, `error`, `general`, `slowquery`. PostgreSQL: `postgresql`, `upgrade`. MSSQL: `agent` , `error`. Oracle: `alert`, `audit`, `listener`, `trace`.
	EnabledCloudwatchLogsExports pulumi.StringArrayInput
	// The connection endpoint in `address:port` format.
	Endpoint pulumi.StringPtrInput
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) The database engine to use.  For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
	// Note that for Amazon Aurora instances the engine must match the `DB cluster`'s engine'.
	// For information on the difference between the available Aurora MySQL engines
	// see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)
	// in the Amazon RDS User Guide.
	Engine pulumi.StringPtrInput
	// The engine version to use. If `autoMinorVersionUpgrade`
	// is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`) and
	// this attribute will ignore differences in the patch version automatically (e.g. `5.7.17`).
	// For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
	// Note that for Amazon Aurora instances the engine version must match the `DB cluster`'s engine version'.
	EngineVersion pulumi.StringPtrInput
	// The name of your final DB snapshot
	// when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is
	// set to `false`.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The canonical hosted zone ID of the DB instance (to be used
	// in a Route 53 Alias record).
	HostedZoneId pulumi.StringPtrInput
	// Specifies whether or
	// mappings of AWS Identity and Access Management (IAM) accounts to database
	// accounts is enabled.
	IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput
	// The name of the RDS instance,
	// if omitted, this provider will assign a random, unique identifier.
	Identifier pulumi.StringPtrInput
	// Creates a unique
	// identifier beginning with the specified prefix. Conflicts with `identifier`.
	IdentifierPrefix pulumi.StringPtrInput
	// The instance type of the RDS instance.
	InstanceClass pulumi.StringPtrInput
	// The amount of provisioned IOPS. Setting this implies a
	// storageType of "io1".
	Iops pulumi.IntPtrInput
	// The ARN for the KMS encryption key. If creating an
	// encrypted replica, set this to the destination KMS ARN.
	KmsKeyId pulumi.StringPtrInput
	// The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore.
	LatestRestorableTime pulumi.StringPtrInput
	// (Optional, but required for some DB engines, i.e. Oracle
	// SE1) License model information for this DB instance.
	LicenseModel pulumi.StringPtrInput
	// The window to perform maintenance in.
	// Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS
	// Maintenance Window
	// docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)
	// for more information.
	MaintenanceWindow pulumi.StringPtrInput
	// When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling.
	MaxAllocatedStorage pulumi.IntPtrInput
	// The interval, in seconds, between points
	// when Enhanced Monitoring metrics are collected for the DB instance. To disable
	// collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid
	// Values: 0, 1, 5, 10, 15, 30, 60.
	MonitoringInterval pulumi.IntPtrInput
	// The ARN for the IAM role that permits RDS
	// to send enhanced monitoring metrics to CloudWatch Logs. You can find more
	// information on the [AWS
	// Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html)
	// what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.
	MonitoringRoleArn pulumi.StringPtrInput
	// Specifies if the RDS instance is multi-AZ
	MultiAz pulumi.BoolPtrInput
	// The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](http://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines.
	Name pulumi.StringPtrInput
	// Name of the DB option group to associate.
	OptionGroupName pulumi.StringPtrInput
	// Name of the DB parameter group to
	// associate.
	ParameterGroupName pulumi.StringPtrInput
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) Password for the master DB user. Note that this may show up in
	// logs, and it will be stored in the state file.
	Password pulumi.StringPtrInput
	// Specifies whether Performance Insights are enabled. Defaults to false.
	PerformanceInsightsEnabled pulumi.BoolPtrInput
	// The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed.
	PerformanceInsightsKmsKeyId pulumi.StringPtrInput
	// The amount of time in days to retain Performance Insights data. Either 7 (7 days) or 731 (2 years). When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'.
	PerformanceInsightsRetentionPeriod pulumi.IntPtrInput
	// The port on which the DB accepts connections.
	Port pulumi.IntPtrInput
	// Bool to control if instance is publicly
	// accessible. Default is `false`.
	PubliclyAccessible pulumi.BoolPtrInput
	Replicas           pulumi.StringArrayInput
	// Specifies that this resource is a Replicate
	// database, and to use this value as the source database. This correlates to the
	// `identifier` of another Amazon RDS Database to replicate (if replicating within
	// a single region) or ARN of the Amazon RDS Database to replicate (if replicating
	// cross-region). Note that if you are
	// creating a cross-region replica of an encrypted database you will also need to
	// specify a `kmsKeyId`. See [DB Instance Replication][1] and [Working with
	// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
	// for more information on using Replication.
	ReplicateSourceDb pulumi.StringPtrInput
	// The RDS Resource ID of this instance.
	ResourceId pulumi.StringPtrInput
	// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.
	RestoreToPointInTime InstanceRestoreToPointInTimePtrInput
	// Restore from a Percona Xtrabackup in S3.  See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
	S3Import InstanceS3ImportPtrInput
	// List of DB Security Groups to
	// associate. Only used for [DB Instances on the _EC2-Classic_
	// Platform](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html#USER_VPC.FindDefaultVPC).
	SecurityGroupNames pulumi.StringArrayInput
	// Determines whether a final DB snapshot is
	// created before the DB instance is deleted. If true is specified, no DBSnapshot
	// is created. If false is specified, a DB snapshot is created before the DB
	// instance is deleted, using the value from `finalSnapshotIdentifier`. Default
	// is `false`.
	SkipFinalSnapshot pulumi.BoolPtrInput
	// Specifies whether or not to create this
	// database from a snapshot. This correlates to the snapshot ID you'd find in the
	// RDS console, e.g: rds:production-2015-06-26-06-05.
	SnapshotIdentifier pulumi.StringPtrInput
	// The RDS instance status.
	Status pulumi.StringPtrInput
	// Specifies whether the DB instance is
	// encrypted. Note that if you are creating a cross-region read replica this field
	// is ignored and you should instead declare `kmsKeyId` with a valid ARN. The
	// default is `false` if not specified.
	StorageEncrypted pulumi.BoolPtrInput
	// One of "standard" (magnetic), "gp2" (general
	// purpose SSD), or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is
	// specified, "gp2" if not.
	StorageType pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Time zone of the DB instance. `timezone` is currently
	// only supported by Microsoft SQL Server. The `timezone` can only be set on
	// creation. See [MSSQL User
	// Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone)
	// for more information.
	Timezone pulumi.StringPtrInput
	// (Required unless a `snapshotIdentifier` or `replicateSourceDb`
	// is provided) Username for the master DB user.
	Username pulumi.StringPtrInput
	// List of VPC security groups to
	// associate.
	VpcSecurityGroupIds pulumi.StringArrayInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type InstanceType added in v3.18.0

type InstanceType pulumi.String

func (InstanceType) ElementType added in v3.18.0

func (InstanceType) ElementType() reflect.Type

func (InstanceType) ToStringOutput added in v3.18.0

func (e InstanceType) ToStringOutput() pulumi.StringOutput

func (InstanceType) ToStringOutputWithContext added in v3.18.0

func (e InstanceType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (InstanceType) ToStringPtrOutput added in v3.18.0

func (e InstanceType) ToStringPtrOutput() pulumi.StringPtrOutput

func (InstanceType) ToStringPtrOutputWithContext added in v3.18.0

func (e InstanceType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type LookupClusterArgs

type LookupClusterArgs struct {
	// The cluster identifier of the RDS cluster.
	ClusterIdentifier string            `pulumi:"clusterIdentifier"`
	Tags              map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getCluster.

type LookupClusterResult

type LookupClusterResult struct {
	Arn                              string   `pulumi:"arn"`
	AvailabilityZones                []string `pulumi:"availabilityZones"`
	BacktrackWindow                  int      `pulumi:"backtrackWindow"`
	BackupRetentionPeriod            int      `pulumi:"backupRetentionPeriod"`
	ClusterIdentifier                string   `pulumi:"clusterIdentifier"`
	ClusterMembers                   []string `pulumi:"clusterMembers"`
	ClusterResourceId                string   `pulumi:"clusterResourceId"`
	DatabaseName                     string   `pulumi:"databaseName"`
	DbClusterParameterGroupName      string   `pulumi:"dbClusterParameterGroupName"`
	DbSubnetGroupName                string   `pulumi:"dbSubnetGroupName"`
	EnabledCloudwatchLogsExports     []string `pulumi:"enabledCloudwatchLogsExports"`
	Endpoint                         string   `pulumi:"endpoint"`
	Engine                           string   `pulumi:"engine"`
	EngineVersion                    string   `pulumi:"engineVersion"`
	FinalSnapshotIdentifier          string   `pulumi:"finalSnapshotIdentifier"`
	HostedZoneId                     string   `pulumi:"hostedZoneId"`
	IamDatabaseAuthenticationEnabled bool     `pulumi:"iamDatabaseAuthenticationEnabled"`
	IamRoles                         []string `pulumi:"iamRoles"`
	// The provider-assigned unique ID for this managed resource.
	Id                          string            `pulumi:"id"`
	KmsKeyId                    string            `pulumi:"kmsKeyId"`
	MasterUsername              string            `pulumi:"masterUsername"`
	Port                        int               `pulumi:"port"`
	PreferredBackupWindow       string            `pulumi:"preferredBackupWindow"`
	PreferredMaintenanceWindow  string            `pulumi:"preferredMaintenanceWindow"`
	ReaderEndpoint              string            `pulumi:"readerEndpoint"`
	ReplicationSourceIdentifier string            `pulumi:"replicationSourceIdentifier"`
	StorageEncrypted            bool              `pulumi:"storageEncrypted"`
	Tags                        map[string]string `pulumi:"tags"`
	VpcSecurityGroupIds         []string          `pulumi:"vpcSecurityGroupIds"`
}

A collection of values returned by getCluster.

func LookupCluster

func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)

Provides information about an RDS cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.LookupCluster(ctx, &rds.LookupClusterArgs{
			ClusterIdentifier: "clusterName",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterSnapshotArgs

type LookupClusterSnapshotArgs struct {
	// Returns the list of snapshots created by the specific db_cluster
	DbClusterIdentifier *string `pulumi:"dbClusterIdentifier"`
	// Returns information on a specific snapshot_id.
	DbClusterSnapshotIdentifier *string `pulumi:"dbClusterSnapshotIdentifier"`
	// Set this value to true to include manual DB Cluster Snapshots that are public and can be
	// copied or restored by any AWS account, otherwise set this value to false. The default is `false`.
	IncludePublic *bool `pulumi:"includePublic"`
	// Set this value to true to include shared manual DB Cluster Snapshots from other
	// AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to false.
	// The default is `false`.
	IncludeShared *bool `pulumi:"includeShared"`
	// If more than one result is returned, use the most recent Snapshot.
	MostRecent *bool `pulumi:"mostRecent"`
	// The type of snapshots to be returned. If you don't specify a SnapshotType
	// value, then both automated and manual DB cluster snapshots are returned. Shared and public DB Cluster Snapshots are not
	// included in the returned results by default. Possible values are, `automated`, `manual`, `shared` and `public`.
	SnapshotType *string `pulumi:"snapshotType"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getClusterSnapshot.

type LookupClusterSnapshotResult

type LookupClusterSnapshotResult struct {
	// Specifies the allocated storage size in gigabytes (GB).
	AllocatedStorage int `pulumi:"allocatedStorage"`
	// List of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
	AvailabilityZones []string `pulumi:"availabilityZones"`
	// Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.
	DbClusterIdentifier *string `pulumi:"dbClusterIdentifier"`
	// The Amazon Resource Name (ARN) for the DB Cluster Snapshot.
	DbClusterSnapshotArn        string  `pulumi:"dbClusterSnapshotArn"`
	DbClusterSnapshotIdentifier *string `pulumi:"dbClusterSnapshotIdentifier"`
	// Specifies the name of the database engine.
	Engine string `pulumi:"engine"`
	// Version of the database engine for this DB cluster snapshot.
	EngineVersion string `pulumi:"engineVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	IncludePublic *bool  `pulumi:"includePublic"`
	IncludeShared *bool  `pulumi:"includeShared"`
	// If storageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.
	KmsKeyId string `pulumi:"kmsKeyId"`
	// License model information for the restored DB cluster.
	LicenseModel string `pulumi:"licenseModel"`
	MostRecent   *bool  `pulumi:"mostRecent"`
	// Port that the DB cluster was listening on at the time of the snapshot.
	Port int `pulumi:"port"`
	// Time when the snapshot was taken, in Universal Coordinated Time (UTC).
	SnapshotCreateTime         string  `pulumi:"snapshotCreateTime"`
	SnapshotType               *string `pulumi:"snapshotType"`
	SourceDbClusterSnapshotArn string  `pulumi:"sourceDbClusterSnapshotArn"`
	// The status of this DB Cluster Snapshot.
	Status string `pulumi:"status"`
	// Specifies whether the DB cluster snapshot is encrypted.
	StorageEncrypted bool `pulumi:"storageEncrypted"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// The VPC ID associated with the DB cluster snapshot.
	VpcId string `pulumi:"vpcId"`
}

A collection of values returned by getClusterSnapshot.

func LookupClusterSnapshot

func LookupClusterSnapshot(ctx *pulumi.Context, args *LookupClusterSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupClusterSnapshotResult, error)

Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters.

> **NOTE:** This data source does not apply to snapshots created on DB Instances. See the `rds.Snapshot` data source for DB Instance snapshots.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "development_cluster"
		opt1 := true
		developmentFinalSnapshot, err := rds.LookupClusterSnapshot(ctx, &rds.LookupClusterSnapshotArgs{
			DbClusterIdentifier: &opt0,
			MostRecent:          &opt1,
		}, nil)
		if err != nil {
			return err
		}
		auroraCluster, err := rds.NewCluster(ctx, "auroraCluster", &rds.ClusterArgs{
			SnapshotIdentifier: pulumi.String(developmentFinalSnapshot.Id),
			DbSubnetGroupName:  pulumi.String("my_db_subnet_group"),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewClusterInstance(ctx, "auroraClusterInstance", &rds.ClusterInstanceArgs{
			ClusterIdentifier: auroraCluster.ID(),
			InstanceClass:     pulumi.String("db.t2.small"),
			DbSubnetGroupName: pulumi.String("my_db_subnet_group"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupInstanceArgs

type LookupInstanceArgs struct {
	// The name of the RDS instance
	DbInstanceIdentifier string            `pulumi:"dbInstanceIdentifier"`
	Tags                 map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getInstance.

type LookupInstanceResult

type LookupInstanceResult struct {
	// The hostname of the RDS instance. See also `endpoint` and `port`.
	Address string `pulumi:"address"`
	// Specifies the allocated storage size specified in gigabytes.
	AllocatedStorage int `pulumi:"allocatedStorage"`
	// Indicates that minor version patches are applied automatically.
	AutoMinorVersionUpgrade bool `pulumi:"autoMinorVersionUpgrade"`
	// Specifies the name of the Availability Zone the DB instance is located in.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Specifies the number of days for which automatic DB snapshots are retained.
	BackupRetentionPeriod int `pulumi:"backupRetentionPeriod"`
	// Specifies the identifier of the CA certificate for the DB instance.
	CaCertIdentifier string `pulumi:"caCertIdentifier"`
	// If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
	DbClusterIdentifier string `pulumi:"dbClusterIdentifier"`
	// The Amazon Resource Name (ARN) for the DB instance.
	DbInstanceArn string `pulumi:"dbInstanceArn"`
	// Contains the name of the compute and memory capacity class of the DB instance.
	DbInstanceClass      string `pulumi:"dbInstanceClass"`
	DbInstanceIdentifier string `pulumi:"dbInstanceIdentifier"`
	// Specifies the port that the DB instance listens on.
	DbInstancePort int `pulumi:"dbInstancePort"`
	// Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.
	DbName string `pulumi:"dbName"`
	// Provides the list of DB parameter groups applied to this DB instance.
	DbParameterGroups []string `pulumi:"dbParameterGroups"`
	// Provides List of DB security groups associated to this DB instance.
	DbSecurityGroups []string `pulumi:"dbSecurityGroups"`
	// Specifies the name of the subnet group associated with the DB instance.
	DbSubnetGroup string `pulumi:"dbSubnetGroup"`
	// List of log types to export to cloudwatch.
	EnabledCloudwatchLogsExports []string `pulumi:"enabledCloudwatchLogsExports"`
	// The connection endpoint in `address:port` format.
	Endpoint string `pulumi:"endpoint"`
	// Provides the name of the database engine to be used for this DB instance.
	Engine string `pulumi:"engine"`
	// Indicates the database engine version.
	EngineVersion string `pulumi:"engineVersion"`
	// The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record).
	HostedZoneId string `pulumi:"hostedZoneId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Specifies the Provisioned IOPS (I/O operations per second) value.
	Iops int `pulumi:"iops"`
	// If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance.
	KmsKeyId string `pulumi:"kmsKeyId"`
	// License model information for this DB instance.
	LicenseModel string `pulumi:"licenseModel"`
	// Contains the master username for the DB instance.
	MasterUsername string `pulumi:"masterUsername"`
	// The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
	MonitoringInterval int `pulumi:"monitoringInterval"`
	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.
	MonitoringRoleArn string `pulumi:"monitoringRoleArn"`
	// Specifies if the DB instance is a Multi-AZ deployment.
	MultiAz bool `pulumi:"multiAz"`
	// Provides the list of option group memberships for this DB instance.
	OptionGroupMemberships []string `pulumi:"optionGroupMemberships"`
	// The database port.
	Port int `pulumi:"port"`
	// Specifies the daily time range during which automated backups are created.
	PreferredBackupWindow string `pulumi:"preferredBackupWindow"`
	// Specifies the weekly time range during which system maintenance can occur in UTC.
	PreferredMaintenanceWindow string `pulumi:"preferredMaintenanceWindow"`
	// Specifies the accessibility options for the DB instance.
	PubliclyAccessible bool `pulumi:"publiclyAccessible"`
	// The identifier of the source DB that this is a replica of.
	ReplicateSourceDb string `pulumi:"replicateSourceDb"`
	// The RDS Resource ID of this instance.
	ResourceId string `pulumi:"resourceId"`
	// Specifies whether the DB instance is encrypted.
	StorageEncrypted bool `pulumi:"storageEncrypted"`
	// Specifies the storage type associated with DB instance.
	StorageType string            `pulumi:"storageType"`
	Tags        map[string]string `pulumi:"tags"`
	// The time zone of the DB instance.
	Timezone string `pulumi:"timezone"`
	// Provides a list of VPC security group elements that the DB instance belongs to.
	VpcSecurityGroups []string `pulumi:"vpcSecurityGroups"`
}

A collection of values returned by getInstance.

func LookupInstance

func LookupInstance(ctx *pulumi.Context, args *LookupInstanceArgs, opts ...pulumi.InvokeOption) (*LookupInstanceResult, error)

Use this data source to get information about an RDS instance

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.LookupInstance(ctx, &rds.LookupInstanceArgs{
			DbInstanceIdentifier: "my-test-database",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSnapshotArgs

type LookupSnapshotArgs struct {
	// Returns the list of snapshots created by the specific db_instance
	DbInstanceIdentifier *string `pulumi:"dbInstanceIdentifier"`
	// Returns information on a specific snapshot_id.
	DbSnapshotIdentifier *string `pulumi:"dbSnapshotIdentifier"`
	// Set this value to true to include manual DB snapshots that are public and can be
	// copied or restored by any AWS account, otherwise set this value to false. The default is `false`.
	IncludePublic *bool `pulumi:"includePublic"`
	// Set this value to true to include shared manual DB snapshots from other
	// AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to false.
	// The default is `false`.
	IncludeShared *bool `pulumi:"includeShared"`
	// If more than one result is returned, use the most
	// recent Snapshot.
	MostRecent *bool `pulumi:"mostRecent"`
	// The type of snapshots to be returned. If you don't specify a SnapshotType
	// value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not
	// included in the returned results by default. Possible values are, `automated`, `manual`, `shared` and `public`.
	SnapshotType *string `pulumi:"snapshotType"`
}

A collection of arguments for invoking getSnapshot.

type LookupSnapshotResult

type LookupSnapshotResult struct {
	// Specifies the allocated storage size in gigabytes (GB).
	AllocatedStorage int `pulumi:"allocatedStorage"`
	// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
	AvailabilityZone     string  `pulumi:"availabilityZone"`
	DbInstanceIdentifier *string `pulumi:"dbInstanceIdentifier"`
	// The Amazon Resource Name (ARN) for the DB snapshot.
	DbSnapshotArn        string  `pulumi:"dbSnapshotArn"`
	DbSnapshotIdentifier *string `pulumi:"dbSnapshotIdentifier"`
	// Specifies whether the DB snapshot is encrypted.
	Encrypted bool `pulumi:"encrypted"`
	// Specifies the name of the database engine.
	Engine string `pulumi:"engine"`
	// Specifies the version of the database engine.
	EngineVersion string `pulumi:"engineVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	IncludePublic *bool  `pulumi:"includePublic"`
	IncludeShared *bool  `pulumi:"includeShared"`
	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
	Iops int `pulumi:"iops"`
	// The ARN for the KMS encryption key.
	KmsKeyId string `pulumi:"kmsKeyId"`
	// License model information for the restored DB instance.
	LicenseModel string `pulumi:"licenseModel"`
	MostRecent   *bool  `pulumi:"mostRecent"`
	// Provides the option group name for the DB snapshot.
	OptionGroupName string `pulumi:"optionGroupName"`
	Port            int    `pulumi:"port"`
	// Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
	SnapshotCreateTime string  `pulumi:"snapshotCreateTime"`
	SnapshotType       *string `pulumi:"snapshotType"`
	// The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.
	SourceDbSnapshotIdentifier string `pulumi:"sourceDbSnapshotIdentifier"`
	// The region that the DB snapshot was created in or copied from.
	SourceRegion string `pulumi:"sourceRegion"`
	// Specifies the status of this DB snapshot.
	Status string `pulumi:"status"`
	// Specifies the storage type associated with DB snapshot.
	StorageType string `pulumi:"storageType"`
	// Specifies the ID of the VPC associated with the DB snapshot.
	VpcId string `pulumi:"vpcId"`
}

A collection of values returned by getSnapshot.

func LookupSnapshot

func LookupSnapshot(ctx *pulumi.Context, args *LookupSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupSnapshotResult, error)

Use this data source to get information about a DB Snapshot for use when provisioning DB instances

> **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters. See the `rds.ClusterSnapshot` data source for DB Cluster snapshots.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		prod, err := rds.NewInstance(ctx, "prod", &rds.InstanceArgs{
			AllocatedStorage:   pulumi.Int(10),
			Engine:             pulumi.String("mysql"),
			EngineVersion:      pulumi.String("5.6.17"),
			InstanceClass:      pulumi.String("db.t2.micro"),
			Name:               pulumi.String("mydb"),
			Username:           pulumi.String("foo"),
			Password:           pulumi.String("bar"),
			DbSubnetGroupName:  pulumi.String("my_database_subnet_group"),
			ParameterGroupName: pulumi.String("default.mysql5.6"),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewInstance(ctx, "dev", &rds.InstanceArgs{
			InstanceClass: pulumi.String("db.t2.micro"),
			Name:          pulumi.String("mydbdev"),
			SnapshotIdentifier: latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.LookupSnapshotResult) (string, error) {
				return latestProdSnapshot.Id, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSubnetGroupArgs added in v3.3.0

type LookupSubnetGroupArgs struct {
	// The name of the RDS database subnet group.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getSubnetGroup.

type LookupSubnetGroupResult added in v3.3.0

type LookupSubnetGroupResult struct {
	// The Amazon Resource Name (ARN) for the DB subnet group.
	Arn string `pulumi:"arn"`
	// Provides the description of the DB subnet group.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// Provides the status of the DB subnet group.
	Status string `pulumi:"status"`
	// Contains a list of subnet identifiers.
	SubnetIds []string `pulumi:"subnetIds"`
	// Provides the VPC ID of the subnet group.
	VpcId string `pulumi:"vpcId"`
}

A collection of values returned by getSubnetGroup.

func LookupSubnetGroup added in v3.3.0

func LookupSubnetGroup(ctx *pulumi.Context, args *LookupSubnetGroupArgs, opts ...pulumi.InvokeOption) (*LookupSubnetGroupResult, error)

Use this data source to get information about an RDS subnet group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.LookupSubnetGroup(ctx, &rds.LookupSubnetGroupArgs{
			Name: "my-test-database-subnet-group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type OptionGroup

type OptionGroup struct {
	pulumi.CustomResourceState

	// The ARN of the db option group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Specifies the name of the engine that this option group should be associated with.
	EngineName pulumi.StringOutput `pulumi:"engineName"`
	// Specifies the major version of the engine that this option group should be associated with.
	MajorEngineVersion pulumi.StringOutput `pulumi:"majorEngineVersion"`
	// The Name of the setting.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`. Must be lowercase, to match as it is stored in AWS.
	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
	// The description of the option group. Defaults to "Managed by Pulumi".
	OptionGroupDescription pulumi.StringOutput `pulumi:"optionGroupDescription"`
	// A list of Options to apply.
	Options OptionGroupOptionArrayOutput `pulumi:"options"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an RDS DB option group resource. Documentation of the available options for various RDS engines can be found at:

* [MariaDB Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Options.html) * [Microsoft SQL Server Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html) * [MySQL Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.html) * [Oracle Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewOptionGroup(ctx, "example", &rds.OptionGroupArgs{
			OptionGroupDescription: pulumi.String("Option Group"),
			EngineName:             pulumi.String("sqlserver-ee"),
			MajorEngineVersion:     pulumi.String("11.00"),
			Options: rds.OptionGroupOptionArray{
				&rds.OptionGroupOptionArgs{
					OptionName: pulumi.String("Timezone"),
					OptionSettings: rds.OptionGroupOptionOptionSettingArray{
						&rds.OptionGroupOptionOptionSettingArgs{
							Name:  pulumi.String("TIME_ZONE"),
							Value: pulumi.String("UTC"),
						},
					},
				},
				&rds.OptionGroupOptionArgs{
					OptionName: pulumi.String("SQLSERVER_BACKUP_RESTORE"),
					OptionSettings: rds.OptionGroupOptionOptionSettingArray{
						&rds.OptionGroupOptionOptionSettingArgs{
							Name:  pulumi.String("IAM_ROLE_ARN"),
							Value: pulumi.Any(aws_iam_role.Example.Arn),
						},
					},
				},
				&rds.OptionGroupOptionArgs{
					OptionName: pulumi.String("TDE"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **Note**: Any modifications to the `dbOptionGroup` are set to happen immediately as we default to applying immediately.

## Import

DB Option groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/optionGroup:OptionGroup bar mysql-option-group

```

func GetOptionGroup

func GetOptionGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OptionGroupState, opts ...pulumi.ResourceOption) (*OptionGroup, error)

GetOptionGroup gets an existing OptionGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOptionGroup

func NewOptionGroup(ctx *pulumi.Context,
	name string, args *OptionGroupArgs, opts ...pulumi.ResourceOption) (*OptionGroup, error)

NewOptionGroup registers a new resource with the given unique name, arguments, and options.

func (OptionGroup) ElementType added in v3.13.0

func (OptionGroup) ElementType() reflect.Type

func (OptionGroup) ToOptionGroupOutput added in v3.13.0

func (i OptionGroup) ToOptionGroupOutput() OptionGroupOutput

func (OptionGroup) ToOptionGroupOutputWithContext added in v3.13.0

func (i OptionGroup) ToOptionGroupOutputWithContext(ctx context.Context) OptionGroupOutput

type OptionGroupArgs

type OptionGroupArgs struct {
	// Specifies the name of the engine that this option group should be associated with.
	EngineName pulumi.StringInput
	// Specifies the major version of the engine that this option group should be associated with.
	MajorEngineVersion pulumi.StringInput
	// The Name of the setting.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`. Must be lowercase, to match as it is stored in AWS.
	NamePrefix pulumi.StringPtrInput
	// The description of the option group. Defaults to "Managed by Pulumi".
	OptionGroupDescription pulumi.StringPtrInput
	// A list of Options to apply.
	Options OptionGroupOptionArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a OptionGroup resource.

func (OptionGroupArgs) ElementType

func (OptionGroupArgs) ElementType() reflect.Type

type OptionGroupInput added in v3.13.0

type OptionGroupInput interface {
	pulumi.Input

	ToOptionGroupOutput() OptionGroupOutput
	ToOptionGroupOutputWithContext(ctx context.Context) OptionGroupOutput
}

type OptionGroupOption

type OptionGroupOption struct {
	// A list of DB Security Groups for which the option is enabled.
	DbSecurityGroupMemberships []string `pulumi:"dbSecurityGroupMemberships"`
	// The Name of the Option (e.g. MEMCACHED).
	OptionName string `pulumi:"optionName"`
	// A list of option settings to apply.
	OptionSettings []OptionGroupOptionOptionSetting `pulumi:"optionSettings"`
	// The Port number when connecting to the Option (e.g. 11211).
	Port *int `pulumi:"port"`
	// The version of the option (e.g. 13.1.0.0).
	Version *string `pulumi:"version"`
	// A list of VPC Security Groups for which the option is enabled.
	VpcSecurityGroupMemberships []string `pulumi:"vpcSecurityGroupMemberships"`
}

type OptionGroupOptionArgs

type OptionGroupOptionArgs struct {
	// A list of DB Security Groups for which the option is enabled.
	DbSecurityGroupMemberships pulumi.StringArrayInput `pulumi:"dbSecurityGroupMemberships"`
	// The Name of the Option (e.g. MEMCACHED).
	OptionName pulumi.StringInput `pulumi:"optionName"`
	// A list of option settings to apply.
	OptionSettings OptionGroupOptionOptionSettingArrayInput `pulumi:"optionSettings"`
	// The Port number when connecting to the Option (e.g. 11211).
	Port pulumi.IntPtrInput `pulumi:"port"`
	// The version of the option (e.g. 13.1.0.0).
	Version pulumi.StringPtrInput `pulumi:"version"`
	// A list of VPC Security Groups for which the option is enabled.
	VpcSecurityGroupMemberships pulumi.StringArrayInput `pulumi:"vpcSecurityGroupMemberships"`
}

func (OptionGroupOptionArgs) ElementType

func (OptionGroupOptionArgs) ElementType() reflect.Type

func (OptionGroupOptionArgs) ToOptionGroupOptionOutput

func (i OptionGroupOptionArgs) ToOptionGroupOptionOutput() OptionGroupOptionOutput

func (OptionGroupOptionArgs) ToOptionGroupOptionOutputWithContext

func (i OptionGroupOptionArgs) ToOptionGroupOptionOutputWithContext(ctx context.Context) OptionGroupOptionOutput

type OptionGroupOptionArray

type OptionGroupOptionArray []OptionGroupOptionInput

func (OptionGroupOptionArray) ElementType

func (OptionGroupOptionArray) ElementType() reflect.Type

func (OptionGroupOptionArray) ToOptionGroupOptionArrayOutput

func (i OptionGroupOptionArray) ToOptionGroupOptionArrayOutput() OptionGroupOptionArrayOutput

func (OptionGroupOptionArray) ToOptionGroupOptionArrayOutputWithContext

func (i OptionGroupOptionArray) ToOptionGroupOptionArrayOutputWithContext(ctx context.Context) OptionGroupOptionArrayOutput

type OptionGroupOptionArrayInput

type OptionGroupOptionArrayInput interface {
	pulumi.Input

	ToOptionGroupOptionArrayOutput() OptionGroupOptionArrayOutput
	ToOptionGroupOptionArrayOutputWithContext(context.Context) OptionGroupOptionArrayOutput
}

OptionGroupOptionArrayInput is an input type that accepts OptionGroupOptionArray and OptionGroupOptionArrayOutput values. You can construct a concrete instance of `OptionGroupOptionArrayInput` via:

OptionGroupOptionArray{ OptionGroupOptionArgs{...} }

type OptionGroupOptionArrayOutput

type OptionGroupOptionArrayOutput struct{ *pulumi.OutputState }

func (OptionGroupOptionArrayOutput) ElementType

func (OptionGroupOptionArrayOutput) Index

func (OptionGroupOptionArrayOutput) ToOptionGroupOptionArrayOutput

func (o OptionGroupOptionArrayOutput) ToOptionGroupOptionArrayOutput() OptionGroupOptionArrayOutput

func (OptionGroupOptionArrayOutput) ToOptionGroupOptionArrayOutputWithContext

func (o OptionGroupOptionArrayOutput) ToOptionGroupOptionArrayOutputWithContext(ctx context.Context) OptionGroupOptionArrayOutput

type OptionGroupOptionInput

type OptionGroupOptionInput interface {
	pulumi.Input

	ToOptionGroupOptionOutput() OptionGroupOptionOutput
	ToOptionGroupOptionOutputWithContext(context.Context) OptionGroupOptionOutput
}

OptionGroupOptionInput is an input type that accepts OptionGroupOptionArgs and OptionGroupOptionOutput values. You can construct a concrete instance of `OptionGroupOptionInput` via:

OptionGroupOptionArgs{...}

type OptionGroupOptionOptionSetting

type OptionGroupOptionOptionSetting struct {
	// The Name of the setting.
	Name string `pulumi:"name"`
	// The Value of the setting.
	Value string `pulumi:"value"`
}

type OptionGroupOptionOptionSettingArgs

type OptionGroupOptionOptionSettingArgs struct {
	// The Name of the setting.
	Name pulumi.StringInput `pulumi:"name"`
	// The Value of the setting.
	Value pulumi.StringInput `pulumi:"value"`
}

func (OptionGroupOptionOptionSettingArgs) ElementType

func (OptionGroupOptionOptionSettingArgs) ToOptionGroupOptionOptionSettingOutput

func (i OptionGroupOptionOptionSettingArgs) ToOptionGroupOptionOptionSettingOutput() OptionGroupOptionOptionSettingOutput

func (OptionGroupOptionOptionSettingArgs) ToOptionGroupOptionOptionSettingOutputWithContext

func (i OptionGroupOptionOptionSettingArgs) ToOptionGroupOptionOptionSettingOutputWithContext(ctx context.Context) OptionGroupOptionOptionSettingOutput

type OptionGroupOptionOptionSettingArray

type OptionGroupOptionOptionSettingArray []OptionGroupOptionOptionSettingInput

func (OptionGroupOptionOptionSettingArray) ElementType

func (OptionGroupOptionOptionSettingArray) ToOptionGroupOptionOptionSettingArrayOutput

func (i OptionGroupOptionOptionSettingArray) ToOptionGroupOptionOptionSettingArrayOutput() OptionGroupOptionOptionSettingArrayOutput

func (OptionGroupOptionOptionSettingArray) ToOptionGroupOptionOptionSettingArrayOutputWithContext

func (i OptionGroupOptionOptionSettingArray) ToOptionGroupOptionOptionSettingArrayOutputWithContext(ctx context.Context) OptionGroupOptionOptionSettingArrayOutput

type OptionGroupOptionOptionSettingArrayInput

type OptionGroupOptionOptionSettingArrayInput interface {
	pulumi.Input

	ToOptionGroupOptionOptionSettingArrayOutput() OptionGroupOptionOptionSettingArrayOutput
	ToOptionGroupOptionOptionSettingArrayOutputWithContext(context.Context) OptionGroupOptionOptionSettingArrayOutput
}

OptionGroupOptionOptionSettingArrayInput is an input type that accepts OptionGroupOptionOptionSettingArray and OptionGroupOptionOptionSettingArrayOutput values. You can construct a concrete instance of `OptionGroupOptionOptionSettingArrayInput` via:

OptionGroupOptionOptionSettingArray{ OptionGroupOptionOptionSettingArgs{...} }

type OptionGroupOptionOptionSettingArrayOutput

type OptionGroupOptionOptionSettingArrayOutput struct{ *pulumi.OutputState }

func (OptionGroupOptionOptionSettingArrayOutput) ElementType

func (OptionGroupOptionOptionSettingArrayOutput) Index

func (OptionGroupOptionOptionSettingArrayOutput) ToOptionGroupOptionOptionSettingArrayOutput

func (o OptionGroupOptionOptionSettingArrayOutput) ToOptionGroupOptionOptionSettingArrayOutput() OptionGroupOptionOptionSettingArrayOutput

func (OptionGroupOptionOptionSettingArrayOutput) ToOptionGroupOptionOptionSettingArrayOutputWithContext

func (o OptionGroupOptionOptionSettingArrayOutput) ToOptionGroupOptionOptionSettingArrayOutputWithContext(ctx context.Context) OptionGroupOptionOptionSettingArrayOutput

type OptionGroupOptionOptionSettingInput

type OptionGroupOptionOptionSettingInput interface {
	pulumi.Input

	ToOptionGroupOptionOptionSettingOutput() OptionGroupOptionOptionSettingOutput
	ToOptionGroupOptionOptionSettingOutputWithContext(context.Context) OptionGroupOptionOptionSettingOutput
}

OptionGroupOptionOptionSettingInput is an input type that accepts OptionGroupOptionOptionSettingArgs and OptionGroupOptionOptionSettingOutput values. You can construct a concrete instance of `OptionGroupOptionOptionSettingInput` via:

OptionGroupOptionOptionSettingArgs{...}

type OptionGroupOptionOptionSettingOutput

type OptionGroupOptionOptionSettingOutput struct{ *pulumi.OutputState }

func (OptionGroupOptionOptionSettingOutput) ElementType

func (OptionGroupOptionOptionSettingOutput) Name

The Name of the setting.

func (OptionGroupOptionOptionSettingOutput) ToOptionGroupOptionOptionSettingOutput

func (o OptionGroupOptionOptionSettingOutput) ToOptionGroupOptionOptionSettingOutput() OptionGroupOptionOptionSettingOutput

func (OptionGroupOptionOptionSettingOutput) ToOptionGroupOptionOptionSettingOutputWithContext

func (o OptionGroupOptionOptionSettingOutput) ToOptionGroupOptionOptionSettingOutputWithContext(ctx context.Context) OptionGroupOptionOptionSettingOutput

func (OptionGroupOptionOptionSettingOutput) Value

The Value of the setting.

type OptionGroupOptionOutput

type OptionGroupOptionOutput struct{ *pulumi.OutputState }

func (OptionGroupOptionOutput) DbSecurityGroupMemberships

func (o OptionGroupOptionOutput) DbSecurityGroupMemberships() pulumi.StringArrayOutput

A list of DB Security Groups for which the option is enabled.

func (OptionGroupOptionOutput) ElementType

func (OptionGroupOptionOutput) ElementType() reflect.Type

func (OptionGroupOptionOutput) OptionName

The Name of the Option (e.g. MEMCACHED).

func (OptionGroupOptionOutput) OptionSettings

A list of option settings to apply.

func (OptionGroupOptionOutput) Port

The Port number when connecting to the Option (e.g. 11211).

func (OptionGroupOptionOutput) ToOptionGroupOptionOutput

func (o OptionGroupOptionOutput) ToOptionGroupOptionOutput() OptionGroupOptionOutput

func (OptionGroupOptionOutput) ToOptionGroupOptionOutputWithContext

func (o OptionGroupOptionOutput) ToOptionGroupOptionOutputWithContext(ctx context.Context) OptionGroupOptionOutput

func (OptionGroupOptionOutput) Version

The version of the option (e.g. 13.1.0.0).

func (OptionGroupOptionOutput) VpcSecurityGroupMemberships

func (o OptionGroupOptionOutput) VpcSecurityGroupMemberships() pulumi.StringArrayOutput

A list of VPC Security Groups for which the option is enabled.

type OptionGroupOutput added in v3.13.0

type OptionGroupOutput struct {
	*pulumi.OutputState
}

func (OptionGroupOutput) ElementType added in v3.13.0

func (OptionGroupOutput) ElementType() reflect.Type

func (OptionGroupOutput) ToOptionGroupOutput added in v3.13.0

func (o OptionGroupOutput) ToOptionGroupOutput() OptionGroupOutput

func (OptionGroupOutput) ToOptionGroupOutputWithContext added in v3.13.0

func (o OptionGroupOutput) ToOptionGroupOutputWithContext(ctx context.Context) OptionGroupOutput

type OptionGroupState

type OptionGroupState struct {
	// The ARN of the db option group.
	Arn pulumi.StringPtrInput
	// Specifies the name of the engine that this option group should be associated with.
	EngineName pulumi.StringPtrInput
	// Specifies the major version of the engine that this option group should be associated with.
	MajorEngineVersion pulumi.StringPtrInput
	// The Name of the setting.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`. Must be lowercase, to match as it is stored in AWS.
	NamePrefix pulumi.StringPtrInput
	// The description of the option group. Defaults to "Managed by Pulumi".
	OptionGroupDescription pulumi.StringPtrInput
	// A list of Options to apply.
	Options OptionGroupOptionArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (OptionGroupState) ElementType

func (OptionGroupState) ElementType() reflect.Type

type ParameterGroup

type ParameterGroup struct {
	pulumi.CustomResourceState

	// The ARN of the db parameter group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the DB parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The family of the DB parameter group.
	Family pulumi.StringOutput `pulumi:"family"`
	// The name of the DB parameter.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
	// A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) after initial creation of the group.
	Parameters ParameterGroupParameterArrayOutput `pulumi:"parameters"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an RDS DB parameter group resource .Documentation of the available parameters for various RDS engines can be found at:

* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewParameterGroup(ctx, "_default", &rds.ParameterGroupArgs{
			Family: pulumi.String("mysql5.6"),
			Parameters: rds.ParameterGroupParameterArray{
				&rds.ParameterGroupParameterArgs{
					Name:  pulumi.String("character_set_server"),
					Value: pulumi.String("utf8"),
				},
				&rds.ParameterGroupParameterArgs{
					Name:  pulumi.String("character_set_client"),
					Value: pulumi.String("utf8"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DB Parameter groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/parameterGroup:ParameterGroup rds_pg rds-pg

```

func GetParameterGroup

func GetParameterGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ParameterGroupState, opts ...pulumi.ResourceOption) (*ParameterGroup, error)

GetParameterGroup gets an existing ParameterGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewParameterGroup

func NewParameterGroup(ctx *pulumi.Context,
	name string, args *ParameterGroupArgs, opts ...pulumi.ResourceOption) (*ParameterGroup, error)

NewParameterGroup registers a new resource with the given unique name, arguments, and options.

func (ParameterGroup) ElementType added in v3.13.0

func (ParameterGroup) ElementType() reflect.Type

func (ParameterGroup) ToParameterGroupOutput added in v3.13.0

func (i ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput

func (ParameterGroup) ToParameterGroupOutputWithContext added in v3.13.0

func (i ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput

type ParameterGroupArgs

type ParameterGroupArgs struct {
	// The description of the DB parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the DB parameter group.
	Family pulumi.StringInput
	// The name of the DB parameter.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) after initial creation of the group.
	Parameters ParameterGroupParameterArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupInput added in v3.13.0

type ParameterGroupInput interface {
	pulumi.Input

	ToParameterGroupOutput() ParameterGroupOutput
	ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
}

type ParameterGroupOutput added in v3.13.0

type ParameterGroupOutput struct {
	*pulumi.OutputState
}

func (ParameterGroupOutput) ElementType added in v3.13.0

func (ParameterGroupOutput) ElementType() reflect.Type

func (ParameterGroupOutput) ToParameterGroupOutput added in v3.13.0

func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput

func (ParameterGroupOutput) ToParameterGroupOutputWithContext added in v3.13.0

func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput

type ParameterGroupParameter

type ParameterGroupParameter struct {
	// "immediate" (default), or "pending-reboot". Some
	// engines can't apply some parameters without a reboot, and you will need to
	// specify "pending-reboot" here.
	ApplyMethod *string `pulumi:"applyMethod"`
	// The name of the DB parameter.
	Name string `pulumi:"name"`
	// The value of the DB parameter.
	Value string `pulumi:"value"`
}

type ParameterGroupParameterArgs

type ParameterGroupParameterArgs struct {
	// "immediate" (default), or "pending-reboot". Some
	// engines can't apply some parameters without a reboot, and you will need to
	// specify "pending-reboot" here.
	ApplyMethod pulumi.StringPtrInput `pulumi:"applyMethod"`
	// The name of the DB parameter.
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the DB parameter.
	Value pulumi.StringInput `pulumi:"value"`
}

func (ParameterGroupParameterArgs) ElementType

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutput

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput

type ParameterGroupParameterArray

type ParameterGroupParameterArray []ParameterGroupParameterInput

func (ParameterGroupParameterArray) ElementType

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput

type ParameterGroupParameterArrayInput

type ParameterGroupParameterArrayInput interface {
	pulumi.Input

	ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
	ToParameterGroupParameterArrayOutputWithContext(context.Context) ParameterGroupParameterArrayOutput
}

ParameterGroupParameterArrayInput is an input type that accepts ParameterGroupParameterArray and ParameterGroupParameterArrayOutput values. You can construct a concrete instance of `ParameterGroupParameterArrayInput` via:

ParameterGroupParameterArray{ ParameterGroupParameterArgs{...} }

type ParameterGroupParameterArrayOutput

type ParameterGroupParameterArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupParameterArrayOutput) ElementType

func (ParameterGroupParameterArrayOutput) Index

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput

type ParameterGroupParameterInput

type ParameterGroupParameterInput interface {
	pulumi.Input

	ToParameterGroupParameterOutput() ParameterGroupParameterOutput
	ToParameterGroupParameterOutputWithContext(context.Context) ParameterGroupParameterOutput
}

ParameterGroupParameterInput is an input type that accepts ParameterGroupParameterArgs and ParameterGroupParameterOutput values. You can construct a concrete instance of `ParameterGroupParameterInput` via:

ParameterGroupParameterArgs{...}

type ParameterGroupParameterOutput

type ParameterGroupParameterOutput struct{ *pulumi.OutputState }

func (ParameterGroupParameterOutput) ApplyMethod

"immediate" (default), or "pending-reboot". Some engines can't apply some parameters without a reboot, and you will need to specify "pending-reboot" here.

func (ParameterGroupParameterOutput) ElementType

func (ParameterGroupParameterOutput) Name

The name of the DB parameter.

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutput

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) Value

The value of the DB parameter.

type ParameterGroupState

type ParameterGroupState struct {
	// The ARN of the db parameter group.
	Arn pulumi.StringPtrInput
	// The description of the DB parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the DB parameter group.
	Family pulumi.StringPtrInput
	// The name of the DB parameter.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) after initial creation of the group.
	Parameters ParameterGroupParameterArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ParameterGroupState) ElementType

func (ParameterGroupState) ElementType() reflect.Type

type Proxy added in v3.3.0

type Proxy struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) for the proxy.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.
	Auths ProxyAuthArrayOutput `pulumi:"auths"`
	// Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.
	DebugLogging pulumi.BoolPtrOutput `pulumi:"debugLogging"`
	// The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. The engine family applies to MySQL and PostgreSQL for both RDS and Aurora. Valid values are `MYSQL` and `POSTGRESQL`.
	EngineFamily pulumi.StringOutput `pulumi:"engineFamily"`
	// The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.
	IdleClientTimeout pulumi.IntOutput `pulumi:"idleClientTimeout"`
	// The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.
	Name pulumi.StringOutput `pulumi:"name"`
	// A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.
	RequireTls pulumi.BoolPtrOutput `pulumi:"requireTls"`
	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// One or more VPC security group IDs to associate with the new proxy.
	VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"`
	// One or more VPC subnet IDs to associate with the new proxy.
	VpcSubnetIds pulumi.StringArrayOutput `pulumi:"vpcSubnetIds"`
}

Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html).

## Import

DB proxies can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/proxy:Proxy example example

```

func GetProxy added in v3.3.0

func GetProxy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProxyState, opts ...pulumi.ResourceOption) (*Proxy, error)

GetProxy gets an existing Proxy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProxy added in v3.3.0

func NewProxy(ctx *pulumi.Context,
	name string, args *ProxyArgs, opts ...pulumi.ResourceOption) (*Proxy, error)

NewProxy registers a new resource with the given unique name, arguments, and options.

func (Proxy) ElementType added in v3.13.0

func (Proxy) ElementType() reflect.Type

func (Proxy) ToProxyOutput added in v3.13.0

func (i Proxy) ToProxyOutput() ProxyOutput

func (Proxy) ToProxyOutputWithContext added in v3.13.0

func (i Proxy) ToProxyOutputWithContext(ctx context.Context) ProxyOutput

type ProxyArgs added in v3.3.0

type ProxyArgs struct {
	// Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.
	Auths ProxyAuthArrayInput
	// Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.
	DebugLogging pulumi.BoolPtrInput
	// The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. The engine family applies to MySQL and PostgreSQL for both RDS and Aurora. Valid values are `MYSQL` and `POSTGRESQL`.
	EngineFamily pulumi.StringInput
	// The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.
	IdleClientTimeout pulumi.IntPtrInput
	// The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.
	Name pulumi.StringPtrInput
	// A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.
	RequireTls pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.
	RoleArn pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// One or more VPC security group IDs to associate with the new proxy.
	VpcSecurityGroupIds pulumi.StringArrayInput
	// One or more VPC subnet IDs to associate with the new proxy.
	VpcSubnetIds pulumi.StringArrayInput
}

The set of arguments for constructing a Proxy resource.

func (ProxyArgs) ElementType added in v3.3.0

func (ProxyArgs) ElementType() reflect.Type

type ProxyAuth added in v3.3.0

type ProxyAuth struct {
	// The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of `SECRETS`.
	AuthScheme *string `pulumi:"authScheme"`
	// A user-specified description about the authentication used by a proxy to log in as a specific database user.
	Description *string `pulumi:"description"`
	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of `DISABLED`, `REQUIRED`.
	IamAuth *string `pulumi:"iamAuth"`
	// The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.
	SecretArn *string `pulumi:"secretArn"`
}

type ProxyAuthArgs added in v3.3.0

type ProxyAuthArgs struct {
	// The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of `SECRETS`.
	AuthScheme pulumi.StringPtrInput `pulumi:"authScheme"`
	// A user-specified description about the authentication used by a proxy to log in as a specific database user.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of `DISABLED`, `REQUIRED`.
	IamAuth pulumi.StringPtrInput `pulumi:"iamAuth"`
	// The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.
	SecretArn pulumi.StringPtrInput `pulumi:"secretArn"`
}

func (ProxyAuthArgs) ElementType added in v3.3.0

func (ProxyAuthArgs) ElementType() reflect.Type

func (ProxyAuthArgs) ToProxyAuthOutput added in v3.3.0

func (i ProxyAuthArgs) ToProxyAuthOutput() ProxyAuthOutput

func (ProxyAuthArgs) ToProxyAuthOutputWithContext added in v3.3.0

func (i ProxyAuthArgs) ToProxyAuthOutputWithContext(ctx context.Context) ProxyAuthOutput

type ProxyAuthArray added in v3.3.0

type ProxyAuthArray []ProxyAuthInput

func (ProxyAuthArray) ElementType added in v3.3.0

func (ProxyAuthArray) ElementType() reflect.Type

func (ProxyAuthArray) ToProxyAuthArrayOutput added in v3.3.0

func (i ProxyAuthArray) ToProxyAuthArrayOutput() ProxyAuthArrayOutput

func (ProxyAuthArray) ToProxyAuthArrayOutputWithContext added in v3.3.0

func (i ProxyAuthArray) ToProxyAuthArrayOutputWithContext(ctx context.Context) ProxyAuthArrayOutput

type ProxyAuthArrayInput added in v3.3.0

type ProxyAuthArrayInput interface {
	pulumi.Input

	ToProxyAuthArrayOutput() ProxyAuthArrayOutput
	ToProxyAuthArrayOutputWithContext(context.Context) ProxyAuthArrayOutput
}

ProxyAuthArrayInput is an input type that accepts ProxyAuthArray and ProxyAuthArrayOutput values. You can construct a concrete instance of `ProxyAuthArrayInput` via:

ProxyAuthArray{ ProxyAuthArgs{...} }

type ProxyAuthArrayOutput added in v3.3.0

type ProxyAuthArrayOutput struct{ *pulumi.OutputState }

func (ProxyAuthArrayOutput) ElementType added in v3.3.0

func (ProxyAuthArrayOutput) ElementType() reflect.Type

func (ProxyAuthArrayOutput) Index added in v3.3.0

func (ProxyAuthArrayOutput) ToProxyAuthArrayOutput added in v3.3.0

func (o ProxyAuthArrayOutput) ToProxyAuthArrayOutput() ProxyAuthArrayOutput

func (ProxyAuthArrayOutput) ToProxyAuthArrayOutputWithContext added in v3.3.0

func (o ProxyAuthArrayOutput) ToProxyAuthArrayOutputWithContext(ctx context.Context) ProxyAuthArrayOutput

type ProxyAuthInput added in v3.3.0

type ProxyAuthInput interface {
	pulumi.Input

	ToProxyAuthOutput() ProxyAuthOutput
	ToProxyAuthOutputWithContext(context.Context) ProxyAuthOutput
}

ProxyAuthInput is an input type that accepts ProxyAuthArgs and ProxyAuthOutput values. You can construct a concrete instance of `ProxyAuthInput` via:

ProxyAuthArgs{...}

type ProxyAuthOutput added in v3.3.0

type ProxyAuthOutput struct{ *pulumi.OutputState }

func (ProxyAuthOutput) AuthScheme added in v3.3.0

func (o ProxyAuthOutput) AuthScheme() pulumi.StringPtrOutput

The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of `SECRETS`.

func (ProxyAuthOutput) Description added in v3.3.0

func (o ProxyAuthOutput) Description() pulumi.StringPtrOutput

A user-specified description about the authentication used by a proxy to log in as a specific database user.

func (ProxyAuthOutput) ElementType added in v3.3.0

func (ProxyAuthOutput) ElementType() reflect.Type

func (ProxyAuthOutput) IamAuth added in v3.3.0

Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of `DISABLED`, `REQUIRED`.

func (ProxyAuthOutput) SecretArn added in v3.3.0

func (o ProxyAuthOutput) SecretArn() pulumi.StringPtrOutput

The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

func (ProxyAuthOutput) ToProxyAuthOutput added in v3.3.0

func (o ProxyAuthOutput) ToProxyAuthOutput() ProxyAuthOutput

func (ProxyAuthOutput) ToProxyAuthOutputWithContext added in v3.3.0

func (o ProxyAuthOutput) ToProxyAuthOutputWithContext(ctx context.Context) ProxyAuthOutput

type ProxyDefaultTargetGroup added in v3.3.0

type ProxyDefaultTargetGroup struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) representing the target group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The settings that determine the size and behavior of the connection pool for the target group.
	ConnectionPoolConfig ProxyDefaultTargetGroupConnectionPoolConfigOutput `pulumi:"connectionPoolConfig"`
	// Name of the RDS DB Proxy.
	DbProxyName pulumi.StringOutput `pulumi:"dbProxyName"`
	// The name of the default target group.
	Name pulumi.StringOutput `pulumi:"name"`
}

## Import

DB proxy default target groups can be imported using the `db_proxy_name`, e.g.

```sh

$ pulumi import aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup example example

```

func GetProxyDefaultTargetGroup added in v3.3.0

func GetProxyDefaultTargetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProxyDefaultTargetGroupState, opts ...pulumi.ResourceOption) (*ProxyDefaultTargetGroup, error)

GetProxyDefaultTargetGroup gets an existing ProxyDefaultTargetGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProxyDefaultTargetGroup added in v3.3.0

func NewProxyDefaultTargetGroup(ctx *pulumi.Context,
	name string, args *ProxyDefaultTargetGroupArgs, opts ...pulumi.ResourceOption) (*ProxyDefaultTargetGroup, error)

NewProxyDefaultTargetGroup registers a new resource with the given unique name, arguments, and options.

func (ProxyDefaultTargetGroup) ElementType added in v3.13.0

func (ProxyDefaultTargetGroup) ElementType() reflect.Type

func (ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutput added in v3.13.0

func (i ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutput() ProxyDefaultTargetGroupOutput

func (ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutputWithContext added in v3.13.0

func (i ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupOutput

type ProxyDefaultTargetGroupArgs added in v3.3.0

type ProxyDefaultTargetGroupArgs struct {
	// The settings that determine the size and behavior of the connection pool for the target group.
	ConnectionPoolConfig ProxyDefaultTargetGroupConnectionPoolConfigPtrInput
	// Name of the RDS DB Proxy.
	DbProxyName pulumi.StringInput
}

The set of arguments for constructing a ProxyDefaultTargetGroup resource.

func (ProxyDefaultTargetGroupArgs) ElementType added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfig added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfig struct {
	// The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.
	ConnectionBorrowTimeout *int `pulumi:"connectionBorrowTimeout"`
	// One or more SQL statements for the proxy to run when opening each new database connection. Typically used with `SET` statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single `SET` statement, such as `SET x=1, y=2`.
	InitQuery *string `pulumi:"initQuery"`
	// The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.
	MaxConnectionsPercent *int `pulumi:"maxConnectionsPercent"`
	// Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.
	MaxIdleConnectionsPercent *int `pulumi:"maxIdleConnectionsPercent"`
	// Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is `EXCLUDE_VARIABLE_SETS`.
	SessionPinningFilters []string `pulumi:"sessionPinningFilters"`
}

type ProxyDefaultTargetGroupConnectionPoolConfigArgs added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfigArgs struct {
	// The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.
	ConnectionBorrowTimeout pulumi.IntPtrInput `pulumi:"connectionBorrowTimeout"`
	// One or more SQL statements for the proxy to run when opening each new database connection. Typically used with `SET` statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single `SET` statement, such as `SET x=1, y=2`.
	InitQuery pulumi.StringPtrInput `pulumi:"initQuery"`
	// The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.
	MaxConnectionsPercent pulumi.IntPtrInput `pulumi:"maxConnectionsPercent"`
	// Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.
	MaxIdleConnectionsPercent pulumi.IntPtrInput `pulumi:"maxIdleConnectionsPercent"`
	// Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is `EXCLUDE_VARIABLE_SETS`.
	SessionPinningFilters pulumi.StringArrayInput `pulumi:"sessionPinningFilters"`
}

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ElementType added in v3.3.0

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutput added in v3.3.0

func (i ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutput() ProxyDefaultTargetGroupConnectionPoolConfigOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext added in v3.3.0

func (i ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupConnectionPoolConfigOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput added in v3.3.0

func (i ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput() ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext added in v3.3.0

func (i ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

type ProxyDefaultTargetGroupConnectionPoolConfigInput added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfigInput interface {
	pulumi.Input

	ToProxyDefaultTargetGroupConnectionPoolConfigOutput() ProxyDefaultTargetGroupConnectionPoolConfigOutput
	ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext(context.Context) ProxyDefaultTargetGroupConnectionPoolConfigOutput
}

ProxyDefaultTargetGroupConnectionPoolConfigInput is an input type that accepts ProxyDefaultTargetGroupConnectionPoolConfigArgs and ProxyDefaultTargetGroupConnectionPoolConfigOutput values. You can construct a concrete instance of `ProxyDefaultTargetGroupConnectionPoolConfigInput` via:

ProxyDefaultTargetGroupConnectionPoolConfigArgs{...}

type ProxyDefaultTargetGroupConnectionPoolConfigOutput added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfigOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ConnectionBorrowTimeout added in v3.3.0

The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ElementType added in v3.3.0

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) InitQuery added in v3.3.0

One or more SQL statements for the proxy to run when opening each new database connection. Typically used with `SET` statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single `SET` statement, such as `SET x=1, y=2`.

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) MaxConnectionsPercent added in v3.3.0

The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) MaxIdleConnectionsPercent added in v3.3.0

Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) SessionPinningFilters added in v3.3.0

Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is `EXCLUDE_VARIABLE_SETS`.

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigOutput added in v3.3.0

func (o ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigOutput() ProxyDefaultTargetGroupConnectionPoolConfigOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext added in v3.3.0

func (o ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupConnectionPoolConfigOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput added in v3.3.0

func (o ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput() ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext added in v3.3.0

func (o ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

type ProxyDefaultTargetGroupConnectionPoolConfigPtrInput added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfigPtrInput interface {
	pulumi.Input

	ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput() ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput
	ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext(context.Context) ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput
}

ProxyDefaultTargetGroupConnectionPoolConfigPtrInput is an input type that accepts ProxyDefaultTargetGroupConnectionPoolConfigArgs, ProxyDefaultTargetGroupConnectionPoolConfigPtr and ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput values. You can construct a concrete instance of `ProxyDefaultTargetGroupConnectionPoolConfigPtrInput` via:

        ProxyDefaultTargetGroupConnectionPoolConfigArgs{...}

or:

        nil

type ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput added in v3.3.0

type ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ConnectionBorrowTimeout added in v3.3.0

The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) Elem added in v3.3.0

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ElementType added in v3.3.0

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) InitQuery added in v3.3.0

One or more SQL statements for the proxy to run when opening each new database connection. Typically used with `SET` statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single `SET` statement, such as `SET x=1, y=2`.

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) MaxConnectionsPercent added in v3.3.0

The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) MaxIdleConnectionsPercent added in v3.3.0

Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the maxConnections setting for the RDS DB instance or Aurora DB cluster used by the target group.

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) SessionPinningFilters added in v3.3.0

Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is `EXCLUDE_VARIABLE_SETS`.

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput added in v3.3.0

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext added in v3.3.0

func (o ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

type ProxyDefaultTargetGroupInput added in v3.13.0

type ProxyDefaultTargetGroupInput interface {
	pulumi.Input

	ToProxyDefaultTargetGroupOutput() ProxyDefaultTargetGroupOutput
	ToProxyDefaultTargetGroupOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupOutput
}

type ProxyDefaultTargetGroupOutput added in v3.13.0

type ProxyDefaultTargetGroupOutput struct {
	*pulumi.OutputState
}

func (ProxyDefaultTargetGroupOutput) ElementType added in v3.13.0

func (ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutput added in v3.13.0

func (o ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutput() ProxyDefaultTargetGroupOutput

func (ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutputWithContext added in v3.13.0

func (o ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupOutput

type ProxyDefaultTargetGroupState added in v3.3.0

type ProxyDefaultTargetGroupState struct {
	// The Amazon Resource Name (ARN) representing the target group.
	Arn pulumi.StringPtrInput
	// The settings that determine the size and behavior of the connection pool for the target group.
	ConnectionPoolConfig ProxyDefaultTargetGroupConnectionPoolConfigPtrInput
	// Name of the RDS DB Proxy.
	DbProxyName pulumi.StringPtrInput
	// The name of the default target group.
	Name pulumi.StringPtrInput
}

func (ProxyDefaultTargetGroupState) ElementType added in v3.3.0

type ProxyInput added in v3.13.0

type ProxyInput interface {
	pulumi.Input

	ToProxyOutput() ProxyOutput
	ToProxyOutputWithContext(ctx context.Context) ProxyOutput
}

type ProxyOutput added in v3.13.0

type ProxyOutput struct {
	*pulumi.OutputState
}

func (ProxyOutput) ElementType added in v3.13.0

func (ProxyOutput) ElementType() reflect.Type

func (ProxyOutput) ToProxyOutput added in v3.13.0

func (o ProxyOutput) ToProxyOutput() ProxyOutput

func (ProxyOutput) ToProxyOutputWithContext added in v3.13.0

func (o ProxyOutput) ToProxyOutputWithContext(ctx context.Context) ProxyOutput

type ProxyState added in v3.3.0

type ProxyState struct {
	// The Amazon Resource Name (ARN) for the proxy.
	Arn pulumi.StringPtrInput
	// Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.
	Auths ProxyAuthArrayInput
	// Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.
	DebugLogging pulumi.BoolPtrInput
	// The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.
	Endpoint pulumi.StringPtrInput
	// The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. The engine family applies to MySQL and PostgreSQL for both RDS and Aurora. Valid values are `MYSQL` and `POSTGRESQL`.
	EngineFamily pulumi.StringPtrInput
	// The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.
	IdleClientTimeout pulumi.IntPtrInput
	// The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.
	Name pulumi.StringPtrInput
	// A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.
	RequireTls pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.
	RoleArn pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// One or more VPC security group IDs to associate with the new proxy.
	VpcSecurityGroupIds pulumi.StringArrayInput
	// One or more VPC subnet IDs to associate with the new proxy.
	VpcSubnetIds pulumi.StringArrayInput
}

func (ProxyState) ElementType added in v3.3.0

func (ProxyState) ElementType() reflect.Type

type ProxyTarget added in v3.6.0

type ProxyTarget struct {
	pulumi.CustomResourceState

	// DB cluster identifier.
	DbClusterIdentifier pulumi.StringPtrOutput `pulumi:"dbClusterIdentifier"`
	// DB instance identifier.
	DbInstanceIdentifier pulumi.StringPtrOutput `pulumi:"dbInstanceIdentifier"`
	// The name of the DB proxy.
	DbProxyName pulumi.StringOutput `pulumi:"dbProxyName"`
	// Hostname for the target RDS DB Instance. Only returned for `RDS_INSTANCE` type.
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// Port for the target RDS DB Instance or Aurora DB Cluster.
	Port pulumi.IntOutput `pulumi:"port"`
	// Identifier representing the DB Instance or DB Cluster target.
	RdsResourceId pulumi.StringOutput `pulumi:"rdsResourceId"`
	// Amazon Resource Name (ARN) for the DB instance or DB cluster. Currently not returned by the RDS API.
	TargetArn pulumi.StringOutput `pulumi:"targetArn"`
	// The name of the target group.
	TargetGroupName pulumi.StringOutput `pulumi:"targetGroupName"`
	// DB Cluster identifier for the DB Instance target. Not returned unless manually importing an `RDS_INSTANCE` target that is part of a DB Cluster.
	TrackedClusterId pulumi.StringOutput `pulumi:"trackedClusterId"`
	// Type of target. e.g. `RDS_INSTANCE` or `TRACKED_CLUSTER`
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides an RDS DB proxy target resource.

## Import

RDS DB Proxy Targets can be imported using the `db_proxy_name`, `target_group_name`, target type (e.g. `RDS_INSTANCE` or `TRACKED_CLUSTER`), and resource identifier separated by forward slashes (`/`), e.g. Instances

```sh

$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/RDS_INSTANCE/example-instance

```

Provisioned Clusters

```sh

$ pulumi import aws:rds/proxyTarget:ProxyTarget example example-proxy/default/TRACKED_CLUSTER/example-cluster

```

func GetProxyTarget added in v3.6.0

func GetProxyTarget(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProxyTargetState, opts ...pulumi.ResourceOption) (*ProxyTarget, error)

GetProxyTarget gets an existing ProxyTarget resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProxyTarget added in v3.6.0

func NewProxyTarget(ctx *pulumi.Context,
	name string, args *ProxyTargetArgs, opts ...pulumi.ResourceOption) (*ProxyTarget, error)

NewProxyTarget registers a new resource with the given unique name, arguments, and options.

func (ProxyTarget) ElementType added in v3.13.0

func (ProxyTarget) ElementType() reflect.Type

func (ProxyTarget) ToProxyTargetOutput added in v3.13.0

func (i ProxyTarget) ToProxyTargetOutput() ProxyTargetOutput

func (ProxyTarget) ToProxyTargetOutputWithContext added in v3.13.0

func (i ProxyTarget) ToProxyTargetOutputWithContext(ctx context.Context) ProxyTargetOutput

type ProxyTargetArgs added in v3.6.0

type ProxyTargetArgs struct {
	// DB cluster identifier.
	DbClusterIdentifier pulumi.StringPtrInput
	// DB instance identifier.
	DbInstanceIdentifier pulumi.StringPtrInput
	// The name of the DB proxy.
	DbProxyName pulumi.StringInput
	// The name of the target group.
	TargetGroupName pulumi.StringInput
}

The set of arguments for constructing a ProxyTarget resource.

func (ProxyTargetArgs) ElementType added in v3.6.0

func (ProxyTargetArgs) ElementType() reflect.Type

type ProxyTargetInput added in v3.13.0

type ProxyTargetInput interface {
	pulumi.Input

	ToProxyTargetOutput() ProxyTargetOutput
	ToProxyTargetOutputWithContext(ctx context.Context) ProxyTargetOutput
}

type ProxyTargetOutput added in v3.13.0

type ProxyTargetOutput struct {
	*pulumi.OutputState
}

func (ProxyTargetOutput) ElementType added in v3.13.0

func (ProxyTargetOutput) ElementType() reflect.Type

func (ProxyTargetOutput) ToProxyTargetOutput added in v3.13.0

func (o ProxyTargetOutput) ToProxyTargetOutput() ProxyTargetOutput

func (ProxyTargetOutput) ToProxyTargetOutputWithContext added in v3.13.0

func (o ProxyTargetOutput) ToProxyTargetOutputWithContext(ctx context.Context) ProxyTargetOutput

type ProxyTargetState added in v3.6.0

type ProxyTargetState struct {
	// DB cluster identifier.
	DbClusterIdentifier pulumi.StringPtrInput
	// DB instance identifier.
	DbInstanceIdentifier pulumi.StringPtrInput
	// The name of the DB proxy.
	DbProxyName pulumi.StringPtrInput
	// Hostname for the target RDS DB Instance. Only returned for `RDS_INSTANCE` type.
	Endpoint pulumi.StringPtrInput
	// Port for the target RDS DB Instance or Aurora DB Cluster.
	Port pulumi.IntPtrInput
	// Identifier representing the DB Instance or DB Cluster target.
	RdsResourceId pulumi.StringPtrInput
	// Amazon Resource Name (ARN) for the DB instance or DB cluster. Currently not returned by the RDS API.
	TargetArn pulumi.StringPtrInput
	// The name of the target group.
	TargetGroupName pulumi.StringPtrInput
	// DB Cluster identifier for the DB Instance target. Not returned unless manually importing an `RDS_INSTANCE` target that is part of a DB Cluster.
	TrackedClusterId pulumi.StringPtrInput
	// Type of target. e.g. `RDS_INSTANCE` or `TRACKED_CLUSTER`
	Type pulumi.StringPtrInput
}

func (ProxyTargetState) ElementType added in v3.6.0

func (ProxyTargetState) ElementType() reflect.Type

type RoleAssociation

type RoleAssociation struct {
	pulumi.CustomResourceState

	// DB Instance Identifier to associate with the IAM Role.
	DbInstanceIdentifier pulumi.StringOutput `pulumi:"dbInstanceIdentifier"`
	// Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the `SupportedFeatureNames` list returned by [AWS CLI rds describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html).
	FeatureName pulumi.StringOutput `pulumi:"featureName"`
	// Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
}

Manages an RDS DB Instance association with an IAM Role. Example use cases:

* [Amazon RDS Oracle integration with Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html) * [Importing Amazon S3 Data into an RDS PostgreSQL DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)

> To manage the RDS DB Instance IAM Role for [Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html), see the `rds.Instance` resource `monitoringRoleArn` argument instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewRoleAssociation(ctx, "example", &rds.RoleAssociationArgs{
			DbInstanceIdentifier: pulumi.Any(aws_db_instance.Example.Id),
			FeatureName:          pulumi.String("S3_INTEGRATION"),
			RoleArn:              pulumi.Any(aws_iam_role.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_db_instance_role_association` can be imported using the DB Instance Identifier and IAM Role ARN separated by a comma (`,`), e.g.

```sh

$ pulumi import aws:rds/roleAssociation:RoleAssociation example my-db-instance,arn:aws:iam::123456789012:role/my-role

```

func GetRoleAssociation

func GetRoleAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RoleAssociationState, opts ...pulumi.ResourceOption) (*RoleAssociation, error)

GetRoleAssociation gets an existing RoleAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRoleAssociation

func NewRoleAssociation(ctx *pulumi.Context,
	name string, args *RoleAssociationArgs, opts ...pulumi.ResourceOption) (*RoleAssociation, error)

NewRoleAssociation registers a new resource with the given unique name, arguments, and options.

func (RoleAssociation) ElementType added in v3.13.0

func (RoleAssociation) ElementType() reflect.Type

func (RoleAssociation) ToRoleAssociationOutput added in v3.13.0

func (i RoleAssociation) ToRoleAssociationOutput() RoleAssociationOutput

func (RoleAssociation) ToRoleAssociationOutputWithContext added in v3.13.0

func (i RoleAssociation) ToRoleAssociationOutputWithContext(ctx context.Context) RoleAssociationOutput

type RoleAssociationArgs

type RoleAssociationArgs struct {
	// DB Instance Identifier to associate with the IAM Role.
	DbInstanceIdentifier pulumi.StringInput
	// Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the `SupportedFeatureNames` list returned by [AWS CLI rds describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html).
	FeatureName pulumi.StringInput
	// Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.
	RoleArn pulumi.StringInput
}

The set of arguments for constructing a RoleAssociation resource.

func (RoleAssociationArgs) ElementType

func (RoleAssociationArgs) ElementType() reflect.Type

type RoleAssociationInput added in v3.13.0

type RoleAssociationInput interface {
	pulumi.Input

	ToRoleAssociationOutput() RoleAssociationOutput
	ToRoleAssociationOutputWithContext(ctx context.Context) RoleAssociationOutput
}

type RoleAssociationOutput added in v3.13.0

type RoleAssociationOutput struct {
	*pulumi.OutputState
}

func (RoleAssociationOutput) ElementType added in v3.13.0

func (RoleAssociationOutput) ElementType() reflect.Type

func (RoleAssociationOutput) ToRoleAssociationOutput added in v3.13.0

func (o RoleAssociationOutput) ToRoleAssociationOutput() RoleAssociationOutput

func (RoleAssociationOutput) ToRoleAssociationOutputWithContext added in v3.13.0

func (o RoleAssociationOutput) ToRoleAssociationOutputWithContext(ctx context.Context) RoleAssociationOutput

type RoleAssociationState

type RoleAssociationState struct {
	// DB Instance Identifier to associate with the IAM Role.
	DbInstanceIdentifier pulumi.StringPtrInput
	// Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the `SupportedFeatureNames` list returned by [AWS CLI rds describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html).
	FeatureName pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.
	RoleArn pulumi.StringPtrInput
}

func (RoleAssociationState) ElementType

func (RoleAssociationState) ElementType() reflect.Type

type SecurityGroup

type SecurityGroup struct {
	pulumi.CustomResourceState

	// The arn of the DB security group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the DB security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// A list of ingress rules.
	Ingress SecurityGroupIngressArrayOutput `pulumi:"ingress"`
	// The name of the DB security group.
	Name pulumi.StringOutput `pulumi:"name"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an RDS security group resource. This is only for DB instances in the EC2-Classic Platform. For instances inside a VPC, use the `aws_db_instance.vpc_security_group_ids` attribute instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewSecurityGroup(ctx, "_default", &rds.SecurityGroupArgs{
			Ingress: rds.SecurityGroupIngressArray{
				&rds.SecurityGroupIngressArgs{
					Cidr: pulumi.String("10.0.0.0/24"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DB Security groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/securityGroup:SecurityGroup default aws_rds_sg-1

```

func GetSecurityGroup

func GetSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityGroupState, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

GetSecurityGroup gets an existing SecurityGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroup

func NewSecurityGroup(ctx *pulumi.Context,
	name string, args *SecurityGroupArgs, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

NewSecurityGroup registers a new resource with the given unique name, arguments, and options.

func (SecurityGroup) ElementType added in v3.13.0

func (SecurityGroup) ElementType() reflect.Type

func (SecurityGroup) ToSecurityGroupOutput added in v3.13.0

func (i SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroup) ToSecurityGroupOutputWithContext added in v3.13.0

func (i SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

type SecurityGroupArgs

type SecurityGroupArgs struct {
	// The description of the DB security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// A list of ingress rules.
	Ingress SecurityGroupIngressArrayInput
	// The name of the DB security group.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SecurityGroup resource.

func (SecurityGroupArgs) ElementType

func (SecurityGroupArgs) ElementType() reflect.Type

type SecurityGroupIngress

type SecurityGroupIngress struct {
	// The CIDR block to accept
	Cidr *string `pulumi:"cidr"`
	// The ID of the security group to authorize
	SecurityGroupId *string `pulumi:"securityGroupId"`
	// The name of the security group to authorize
	SecurityGroupName *string `pulumi:"securityGroupName"`
	// The owner Id of the security group provided
	// by `securityGroupName`.
	SecurityGroupOwnerId *string `pulumi:"securityGroupOwnerId"`
}

type SecurityGroupIngressArgs

type SecurityGroupIngressArgs struct {
	// The CIDR block to accept
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// The ID of the security group to authorize
	SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"`
	// The name of the security group to authorize
	SecurityGroupName pulumi.StringPtrInput `pulumi:"securityGroupName"`
	// The owner Id of the security group provided
	// by `securityGroupName`.
	SecurityGroupOwnerId pulumi.StringPtrInput `pulumi:"securityGroupOwnerId"`
}

func (SecurityGroupIngressArgs) ElementType

func (SecurityGroupIngressArgs) ElementType() reflect.Type

func (SecurityGroupIngressArgs) ToSecurityGroupIngressOutput

func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput

func (SecurityGroupIngressArgs) ToSecurityGroupIngressOutputWithContext

func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput

type SecurityGroupIngressArray

type SecurityGroupIngressArray []SecurityGroupIngressInput

func (SecurityGroupIngressArray) ElementType

func (SecurityGroupIngressArray) ElementType() reflect.Type

func (SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutput

func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput

func (SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutputWithContext

func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput

type SecurityGroupIngressArrayInput

type SecurityGroupIngressArrayInput interface {
	pulumi.Input

	ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput
	ToSecurityGroupIngressArrayOutputWithContext(context.Context) SecurityGroupIngressArrayOutput
}

SecurityGroupIngressArrayInput is an input type that accepts SecurityGroupIngressArray and SecurityGroupIngressArrayOutput values. You can construct a concrete instance of `SecurityGroupIngressArrayInput` via:

SecurityGroupIngressArray{ SecurityGroupIngressArgs{...} }

type SecurityGroupIngressArrayOutput

type SecurityGroupIngressArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupIngressArrayOutput) ElementType

func (SecurityGroupIngressArrayOutput) Index

func (SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutput

func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput

func (SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutputWithContext

func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput

type SecurityGroupIngressInput

type SecurityGroupIngressInput interface {
	pulumi.Input

	ToSecurityGroupIngressOutput() SecurityGroupIngressOutput
	ToSecurityGroupIngressOutputWithContext(context.Context) SecurityGroupIngressOutput
}

SecurityGroupIngressInput is an input type that accepts SecurityGroupIngressArgs and SecurityGroupIngressOutput values. You can construct a concrete instance of `SecurityGroupIngressInput` via:

SecurityGroupIngressArgs{...}

type SecurityGroupIngressOutput

type SecurityGroupIngressOutput struct{ *pulumi.OutputState }

func (SecurityGroupIngressOutput) Cidr

The CIDR block to accept

func (SecurityGroupIngressOutput) ElementType

func (SecurityGroupIngressOutput) ElementType() reflect.Type

func (SecurityGroupIngressOutput) SecurityGroupId

The ID of the security group to authorize

func (SecurityGroupIngressOutput) SecurityGroupName

func (o SecurityGroupIngressOutput) SecurityGroupName() pulumi.StringPtrOutput

The name of the security group to authorize

func (SecurityGroupIngressOutput) SecurityGroupOwnerId

func (o SecurityGroupIngressOutput) SecurityGroupOwnerId() pulumi.StringPtrOutput

The owner Id of the security group provided by `securityGroupName`.

func (SecurityGroupIngressOutput) ToSecurityGroupIngressOutput

func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput

func (SecurityGroupIngressOutput) ToSecurityGroupIngressOutputWithContext

func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput

type SecurityGroupInput added in v3.13.0

type SecurityGroupInput interface {
	pulumi.Input

	ToSecurityGroupOutput() SecurityGroupOutput
	ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
}

type SecurityGroupOutput added in v3.13.0

type SecurityGroupOutput struct {
	*pulumi.OutputState
}

func (SecurityGroupOutput) ElementType added in v3.13.0

func (SecurityGroupOutput) ElementType() reflect.Type

func (SecurityGroupOutput) ToSecurityGroupOutput added in v3.13.0

func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupOutputWithContext added in v3.13.0

func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

type SecurityGroupState

type SecurityGroupState struct {
	// The arn of the DB security group.
	Arn pulumi.StringPtrInput
	// The description of the DB security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// A list of ingress rules.
	Ingress SecurityGroupIngressArrayInput
	// The name of the DB security group.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (SecurityGroupState) ElementType

func (SecurityGroupState) ElementType() reflect.Type

type Snapshot

type Snapshot struct {
	pulumi.CustomResourceState

	// Specifies the allocated storage size in gigabytes (GB).
	AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"`
	// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The DB Instance Identifier from which to take the snapshot.
	DbInstanceIdentifier pulumi.StringOutput `pulumi:"dbInstanceIdentifier"`
	// The Amazon Resource Name (ARN) for the DB snapshot.
	DbSnapshotArn pulumi.StringOutput `pulumi:"dbSnapshotArn"`
	// The Identifier for the snapshot.
	DbSnapshotIdentifier pulumi.StringOutput `pulumi:"dbSnapshotIdentifier"`
	// Specifies whether the DB snapshot is encrypted.
	Encrypted pulumi.BoolOutput `pulumi:"encrypted"`
	// Specifies the name of the database engine.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Specifies the version of the database engine.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
	Iops pulumi.IntOutput `pulumi:"iops"`
	// The ARN for the KMS encryption key.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// License model information for the restored DB instance.
	LicenseModel pulumi.StringOutput `pulumi:"licenseModel"`
	// Provides the option group name for the DB snapshot.
	OptionGroupName pulumi.StringOutput `pulumi:"optionGroupName"`
	Port            pulumi.IntOutput    `pulumi:"port"`
	SnapshotType    pulumi.StringOutput `pulumi:"snapshotType"`
	// The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.
	SourceDbSnapshotIdentifier pulumi.StringOutput `pulumi:"sourceDbSnapshotIdentifier"`
	// The region that the DB snapshot was created in or copied from.
	SourceRegion pulumi.StringOutput `pulumi:"sourceRegion"`
	// Specifies the status of this DB snapshot.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the storage type associated with DB snapshot.
	StorageType pulumi.StringOutput `pulumi:"storageType"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the storage type associated with DB snapshot.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages an RDS database instance snapshot. For managing RDS database cluster snapshots, see the `rds.ClusterSnapshot` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bar, err := rds.NewInstance(ctx, "bar", &rds.InstanceArgs{
			AllocatedStorage:      pulumi.Int(10),
			Engine:                pulumi.String("MySQL"),
			EngineVersion:         pulumi.String("5.6.21"),
			InstanceClass:         pulumi.String("db.t2.micro"),
			Name:                  pulumi.String("baz"),
			Password:              pulumi.String("barbarbarbar"),
			Username:              pulumi.String("foo"),
			MaintenanceWindow:     pulumi.String("Fri:09:00-Fri:09:30"),
			BackupRetentionPeriod: pulumi.Int(0),
			ParameterGroupName:    pulumi.String("default.mysql5.6"),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewSnapshot(ctx, "test", &rds.SnapshotArgs{
			DbInstanceIdentifier: bar.ID(),
			DbSnapshotIdentifier: pulumi.String("testsnapshot1234"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_db_snapshot` can be imported by using the snapshot identifier, e.g.

```sh

$ pulumi import aws:rds/snapshot:Snapshot example my-snapshot

```

func GetSnapshot

func GetSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotState, opts ...pulumi.ResourceOption) (*Snapshot, error)

GetSnapshot gets an existing Snapshot resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshot

func NewSnapshot(ctx *pulumi.Context,
	name string, args *SnapshotArgs, opts ...pulumi.ResourceOption) (*Snapshot, error)

NewSnapshot registers a new resource with the given unique name, arguments, and options.

func (Snapshot) ElementType added in v3.13.0

func (Snapshot) ElementType() reflect.Type

func (Snapshot) ToSnapshotOutput added in v3.13.0

func (i Snapshot) ToSnapshotOutput() SnapshotOutput

func (Snapshot) ToSnapshotOutputWithContext added in v3.13.0

func (i Snapshot) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotArgs

type SnapshotArgs struct {
	// The DB Instance Identifier from which to take the snapshot.
	DbInstanceIdentifier pulumi.StringInput
	// The Identifier for the snapshot.
	DbSnapshotIdentifier pulumi.StringInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Snapshot resource.

func (SnapshotArgs) ElementType

func (SnapshotArgs) ElementType() reflect.Type

type SnapshotInput added in v3.13.0

type SnapshotInput interface {
	pulumi.Input

	ToSnapshotOutput() SnapshotOutput
	ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput
}

type SnapshotOutput added in v3.13.0

type SnapshotOutput struct {
	*pulumi.OutputState
}

func (SnapshotOutput) ElementType added in v3.13.0

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) ToSnapshotOutput added in v3.13.0

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext added in v3.13.0

func (o SnapshotOutput) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotState

type SnapshotState struct {
	// Specifies the allocated storage size in gigabytes (GB).
	AllocatedStorage pulumi.IntPtrInput
	// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
	AvailabilityZone pulumi.StringPtrInput
	// The DB Instance Identifier from which to take the snapshot.
	DbInstanceIdentifier pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the DB snapshot.
	DbSnapshotArn pulumi.StringPtrInput
	// The Identifier for the snapshot.
	DbSnapshotIdentifier pulumi.StringPtrInput
	// Specifies whether the DB snapshot is encrypted.
	Encrypted pulumi.BoolPtrInput
	// Specifies the name of the database engine.
	Engine pulumi.StringPtrInput
	// Specifies the version of the database engine.
	EngineVersion pulumi.StringPtrInput
	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
	Iops pulumi.IntPtrInput
	// The ARN for the KMS encryption key.
	KmsKeyId pulumi.StringPtrInput
	// License model information for the restored DB instance.
	LicenseModel pulumi.StringPtrInput
	// Provides the option group name for the DB snapshot.
	OptionGroupName pulumi.StringPtrInput
	Port            pulumi.IntPtrInput
	SnapshotType    pulumi.StringPtrInput
	// The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.
	SourceDbSnapshotIdentifier pulumi.StringPtrInput
	// The region that the DB snapshot was created in or copied from.
	SourceRegion pulumi.StringPtrInput
	// Specifies the status of this DB snapshot.
	Status pulumi.StringPtrInput
	// Specifies the storage type associated with DB snapshot.
	StorageType pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// Specifies the storage type associated with DB snapshot.
	VpcId pulumi.StringPtrInput
}

func (SnapshotState) ElementType

func (SnapshotState) ElementType() reflect.Type

type StorageType added in v3.18.0

type StorageType pulumi.String

func (StorageType) ElementType added in v3.18.0

func (StorageType) ElementType() reflect.Type

func (StorageType) ToStringOutput added in v3.18.0

func (e StorageType) ToStringOutput() pulumi.StringOutput

func (StorageType) ToStringOutputWithContext added in v3.18.0

func (e StorageType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (StorageType) ToStringPtrOutput added in v3.18.0

func (e StorageType) ToStringPtrOutput() pulumi.StringPtrOutput

func (StorageType) ToStringPtrOutputWithContext added in v3.18.0

func (e StorageType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type SubnetGroup

type SubnetGroup struct {
	pulumi.CustomResourceState

	// The ARN of the db subnet group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the DB subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The name of the DB subnet group. If omitted, this provider will assign a random, unique name.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
	// A list of VPC subnet IDs.
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an RDS DB subnet group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewSubnetGroup(ctx, "_default", &rds.SubnetGroupArgs{
			SubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Frontend.Id),
				pulumi.Any(aws_subnet.Backend.Id),
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("My DB subnet group"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DB Subnet groups can be imported using the `name`, e.g.

```sh

$ pulumi import aws:rds/subnetGroup:SubnetGroup default production-subnet-group

```

func GetSubnetGroup

func GetSubnetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetGroupState, opts ...pulumi.ResourceOption) (*SubnetGroup, error)

GetSubnetGroup gets an existing SubnetGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetGroup

func NewSubnetGroup(ctx *pulumi.Context,
	name string, args *SubnetGroupArgs, opts ...pulumi.ResourceOption) (*SubnetGroup, error)

NewSubnetGroup registers a new resource with the given unique name, arguments, and options.

func (SubnetGroup) ElementType added in v3.13.0

func (SubnetGroup) ElementType() reflect.Type

func (SubnetGroup) ToSubnetGroupOutput added in v3.13.0

func (i SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput

func (SubnetGroup) ToSubnetGroupOutputWithContext added in v3.13.0

func (i SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput

type SubnetGroupArgs

type SubnetGroupArgs struct {
	// The description of the DB subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The name of the DB subnet group. If omitted, this provider will assign a random, unique name.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of VPC subnet IDs.
	SubnetIds pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupInput added in v3.13.0

type SubnetGroupInput interface {
	pulumi.Input

	ToSubnetGroupOutput() SubnetGroupOutput
	ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
}

type SubnetGroupOutput added in v3.13.0

type SubnetGroupOutput struct {
	*pulumi.OutputState
}

func (SubnetGroupOutput) ElementType added in v3.13.0

func (SubnetGroupOutput) ElementType() reflect.Type

func (SubnetGroupOutput) ToSubnetGroupOutput added in v3.13.0

func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput

func (SubnetGroupOutput) ToSubnetGroupOutputWithContext added in v3.13.0

func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput

type SubnetGroupState

type SubnetGroupState struct {
	// The ARN of the db subnet group.
	Arn pulumi.StringPtrInput
	// The description of the DB subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The name of the DB subnet group. If omitted, this provider will assign a random, unique name.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of VPC subnet IDs.
	SubnetIds pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (SubnetGroupState) ElementType

func (SubnetGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL