rds

package
v4.38.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2022 License: Apache-2.0 Imports: 11 Imported by: 3

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_T4G_Micro    = InstanceType("db.t4g.micro")
	InstanceType_T4G_Small    = InstanceType("db.t4g.small")
	InstanceType_T4G_Medium   = InstanceType("db.t4g.medium")
	InstanceType_T4G_Large    = InstanceType("db.t4g.large")
	InstanceType_T4G_XLarge   = InstanceType("db.t4g.xlarge")
	InstanceType_T4G_2XLarge  = InstanceType("db.t4g.2xlarge")
	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_M6G_Large    = InstanceType("db.m6g.large")
	InstanceType_M6G_XLarge   = InstanceType("db.m6g.xlarge")
	InstanceType_M6G_2XLarge  = InstanceType("db.m6g.2xlarge")
	InstanceType_M6G_4XLarge  = InstanceType("db.m6g.4xlarge")
	InstanceType_M6G_8XLarge  = InstanceType("db.m6g.8xlarge")
	InstanceType_M6G_12XLarge = InstanceType("db.m6g.12xlarge")
	InstanceType_M6G_16XLarge = InstanceType("db.m6g.16xlarge")
	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_R6G_Large    = InstanceType("db.r6g.large")
	InstanceType_R6G_XLarge   = InstanceType("db.r6g.xlarge")
	InstanceType_R6G_2XLarge  = InstanceType("db.r6g.2xlarge")
	InstanceType_R6G_4XLarge  = InstanceType("db.r6g.4xlarge")
	InstanceType_R6G_8XLarge  = InstanceType("db.r6g.8xlarge")
	InstanceType_R6G_12XLarge = InstanceType("db.r6g.12xlarge")
	InstanceType_R6G_16XLarge = InstanceType("db.r6g.16xlarge")
	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

func PkgVersion added in v4.37.2

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package.

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 apply. It is recommended to specify 3 AZs.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// The target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines 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"`
	// Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter.
	DbInstanceParameterGroupName pulumi.StringPtrOutput `pulumi:"dbInstanceParameterGroupName"`
	// 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"`
	// Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information.
	EnableGlobalWriteForwarding pulumi.BoolPtrOutput `pulumi:"enableGlobalWriteForwarding"`
	// 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`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, defined below.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// The running version of the database.
	EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"`
	// 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 a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use `ignoreChanges`.
	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. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided.
	StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"`
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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.

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

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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),
			ClusterIdentifier:     pulumi.String("aurora-cluster-demo"),
			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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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),
			ClusterIdentifier:     pulumi.String("aurora-cluster-demo"),
			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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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),
			ClusterIdentifier:     pulumi.String("aurora-cluster-demo"),
			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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "example", &rds.ClusterArgs{
			ClusterIdentifier: pulumi.String("example"),
			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

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

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 apply. It is recommended to specify 3 AZs.
	AvailabilityZones pulumi.StringArrayInput
	// The target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines 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
	// Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter.
	DbInstanceParameterGroupName 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
	// Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information.
	EnableGlobalWriteForwarding 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`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, defined below.
	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 a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use `ignoreChanges`.
	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. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided.
	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 ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "default", &rds.ClusterArgs{
			ClusterIdentifier: pulumi.String("aurora-cluster-demo"),
			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

func (*ClusterEndpoint) ElementType() reflect.Type

func (*ClusterEndpoint) ToClusterEndpointOutput

func (i *ClusterEndpoint) ToClusterEndpointOutput() ClusterEndpointOutput

func (*ClusterEndpoint) ToClusterEndpointOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterEndpoint resource.

func (ClusterEndpointArgs) ElementType

func (ClusterEndpointArgs) ElementType() reflect.Type

type ClusterEndpointArray

type ClusterEndpointArray []ClusterEndpointInput

func (ClusterEndpointArray) ElementType

func (ClusterEndpointArray) ElementType() reflect.Type

func (ClusterEndpointArray) ToClusterEndpointArrayOutput

func (i ClusterEndpointArray) ToClusterEndpointArrayOutput() ClusterEndpointArrayOutput

func (ClusterEndpointArray) ToClusterEndpointArrayOutputWithContext

func (i ClusterEndpointArray) ToClusterEndpointArrayOutputWithContext(ctx context.Context) ClusterEndpointArrayOutput

type ClusterEndpointArrayInput

type ClusterEndpointArrayInput interface {
	pulumi.Input

	ToClusterEndpointArrayOutput() ClusterEndpointArrayOutput
	ToClusterEndpointArrayOutputWithContext(context.Context) ClusterEndpointArrayOutput
}

ClusterEndpointArrayInput is an input type that accepts ClusterEndpointArray and ClusterEndpointArrayOutput values. You can construct a concrete instance of `ClusterEndpointArrayInput` via:

ClusterEndpointArray{ ClusterEndpointArgs{...} }

type ClusterEndpointArrayOutput

type ClusterEndpointArrayOutput struct{ *pulumi.OutputState }

func (ClusterEndpointArrayOutput) ElementType

func (ClusterEndpointArrayOutput) ElementType() reflect.Type

func (ClusterEndpointArrayOutput) Index

func (ClusterEndpointArrayOutput) ToClusterEndpointArrayOutput

func (o ClusterEndpointArrayOutput) ToClusterEndpointArrayOutput() ClusterEndpointArrayOutput

func (ClusterEndpointArrayOutput) ToClusterEndpointArrayOutputWithContext

func (o ClusterEndpointArrayOutput) ToClusterEndpointArrayOutputWithContext(ctx context.Context) ClusterEndpointArrayOutput

type ClusterEndpointInput

type ClusterEndpointInput interface {
	pulumi.Input

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

type ClusterEndpointMap

type ClusterEndpointMap map[string]ClusterEndpointInput

func (ClusterEndpointMap) ElementType

func (ClusterEndpointMap) ElementType() reflect.Type

func (ClusterEndpointMap) ToClusterEndpointMapOutput

func (i ClusterEndpointMap) ToClusterEndpointMapOutput() ClusterEndpointMapOutput

func (ClusterEndpointMap) ToClusterEndpointMapOutputWithContext

func (i ClusterEndpointMap) ToClusterEndpointMapOutputWithContext(ctx context.Context) ClusterEndpointMapOutput

type ClusterEndpointMapInput

type ClusterEndpointMapInput interface {
	pulumi.Input

	ToClusterEndpointMapOutput() ClusterEndpointMapOutput
	ToClusterEndpointMapOutputWithContext(context.Context) ClusterEndpointMapOutput
}

ClusterEndpointMapInput is an input type that accepts ClusterEndpointMap and ClusterEndpointMapOutput values. You can construct a concrete instance of `ClusterEndpointMapInput` via:

ClusterEndpointMap{ "key": ClusterEndpointArgs{...} }

type ClusterEndpointMapOutput

type ClusterEndpointMapOutput struct{ *pulumi.OutputState }

func (ClusterEndpointMapOutput) ElementType

func (ClusterEndpointMapOutput) ElementType() reflect.Type

func (ClusterEndpointMapOutput) MapIndex

func (ClusterEndpointMapOutput) ToClusterEndpointMapOutput

func (o ClusterEndpointMapOutput) ToClusterEndpointMapOutput() ClusterEndpointMapOutput

func (ClusterEndpointMapOutput) ToClusterEndpointMapOutputWithContext

func (o ClusterEndpointMapOutput) ToClusterEndpointMapOutputWithContext(ctx context.Context) ClusterEndpointMapOutput

type ClusterEndpointOutput

type ClusterEndpointOutput struct{ *pulumi.OutputState }

func (ClusterEndpointOutput) ElementType

func (ClusterEndpointOutput) ElementType() reflect.Type

func (ClusterEndpointOutput) ToClusterEndpointOutput

func (o ClusterEndpointOutput) ToClusterEndpointOutput() ClusterEndpointOutput

func (ClusterEndpointOutput) ToClusterEndpointOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (ClusterEndpointState) ElementType

func (ClusterEndpointState) ElementType() reflect.Type

type ClusterInput

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 database engine version
	EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"`
	// 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"`
	// 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"`
	// 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 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/meta-arguments/count.html) 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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewCluster(ctx, "default", &rds.ClusterArgs{
			ClusterIdentifier: pulumi.String("aurora-cluster-demo"),
			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

func (*ClusterInstance) ElementType() reflect.Type

func (*ClusterInstance) ToClusterInstanceOutput

func (i *ClusterInstance) ToClusterInstanceOutput() ClusterInstanceOutput

func (*ClusterInstance) ToClusterInstanceOutputWithContext

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
	// ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true.
	PerformanceInsightsKmsKeyId pulumi.StringPtrInput
	// 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 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterInstance resource.

func (ClusterInstanceArgs) ElementType

func (ClusterInstanceArgs) ElementType() reflect.Type

type ClusterInstanceArray

type ClusterInstanceArray []ClusterInstanceInput

func (ClusterInstanceArray) ElementType

func (ClusterInstanceArray) ElementType() reflect.Type

func (ClusterInstanceArray) ToClusterInstanceArrayOutput

func (i ClusterInstanceArray) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput

func (ClusterInstanceArray) ToClusterInstanceArrayOutputWithContext

func (i ClusterInstanceArray) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput

type ClusterInstanceArrayInput

type ClusterInstanceArrayInput interface {
	pulumi.Input

	ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput
	ToClusterInstanceArrayOutputWithContext(context.Context) ClusterInstanceArrayOutput
}

ClusterInstanceArrayInput is an input type that accepts ClusterInstanceArray and ClusterInstanceArrayOutput values. You can construct a concrete instance of `ClusterInstanceArrayInput` via:

ClusterInstanceArray{ ClusterInstanceArgs{...} }

type ClusterInstanceArrayOutput

type ClusterInstanceArrayOutput struct{ *pulumi.OutputState }

func (ClusterInstanceArrayOutput) ElementType

func (ClusterInstanceArrayOutput) ElementType() reflect.Type

func (ClusterInstanceArrayOutput) Index

func (ClusterInstanceArrayOutput) ToClusterInstanceArrayOutput

func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput

func (ClusterInstanceArrayOutput) ToClusterInstanceArrayOutputWithContext

func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput

type ClusterInstanceInput

type ClusterInstanceInput interface {
	pulumi.Input

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

type ClusterInstanceMap

type ClusterInstanceMap map[string]ClusterInstanceInput

func (ClusterInstanceMap) ElementType

func (ClusterInstanceMap) ElementType() reflect.Type

func (ClusterInstanceMap) ToClusterInstanceMapOutput

func (i ClusterInstanceMap) ToClusterInstanceMapOutput() ClusterInstanceMapOutput

func (ClusterInstanceMap) ToClusterInstanceMapOutputWithContext

func (i ClusterInstanceMap) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput

type ClusterInstanceMapInput

type ClusterInstanceMapInput interface {
	pulumi.Input

	ToClusterInstanceMapOutput() ClusterInstanceMapOutput
	ToClusterInstanceMapOutputWithContext(context.Context) ClusterInstanceMapOutput
}

ClusterInstanceMapInput is an input type that accepts ClusterInstanceMap and ClusterInstanceMapOutput values. You can construct a concrete instance of `ClusterInstanceMapInput` via:

ClusterInstanceMap{ "key": ClusterInstanceArgs{...} }

type ClusterInstanceMapOutput

type ClusterInstanceMapOutput struct{ *pulumi.OutputState }

func (ClusterInstanceMapOutput) ElementType

func (ClusterInstanceMapOutput) ElementType() reflect.Type

func (ClusterInstanceMapOutput) MapIndex

func (ClusterInstanceMapOutput) ToClusterInstanceMapOutput

func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutput() ClusterInstanceMapOutput

func (ClusterInstanceMapOutput) ToClusterInstanceMapOutputWithContext

func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput

type ClusterInstanceOutput

type ClusterInstanceOutput struct{ *pulumi.OutputState }

func (ClusterInstanceOutput) ElementType

func (ClusterInstanceOutput) ElementType() reflect.Type

func (ClusterInstanceOutput) ToClusterInstanceOutput

func (o ClusterInstanceOutput) ToClusterInstanceOutput() ClusterInstanceOutput

func (ClusterInstanceOutput) ToClusterInstanceOutputWithContext

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 database engine version
	EngineVersionActual 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
	// ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true.
	PerformanceInsightsKmsKeyId pulumi.StringPtrInput
	// 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 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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 ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*ClusterParameterGroup) ElementType() reflect.Type

func (*ClusterParameterGroup) ToClusterParameterGroupOutput

func (i *ClusterParameterGroup) ToClusterParameterGroupOutput() ClusterParameterGroupOutput

func (*ClusterParameterGroup) ToClusterParameterGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterParameterGroup resource.

func (ClusterParameterGroupArgs) ElementType

func (ClusterParameterGroupArgs) ElementType() reflect.Type

type ClusterParameterGroupArray

type ClusterParameterGroupArray []ClusterParameterGroupInput

func (ClusterParameterGroupArray) ElementType

func (ClusterParameterGroupArray) ElementType() reflect.Type

func (ClusterParameterGroupArray) ToClusterParameterGroupArrayOutput

func (i ClusterParameterGroupArray) ToClusterParameterGroupArrayOutput() ClusterParameterGroupArrayOutput

func (ClusterParameterGroupArray) ToClusterParameterGroupArrayOutputWithContext

func (i ClusterParameterGroupArray) ToClusterParameterGroupArrayOutputWithContext(ctx context.Context) ClusterParameterGroupArrayOutput

type ClusterParameterGroupArrayInput

type ClusterParameterGroupArrayInput interface {
	pulumi.Input

	ToClusterParameterGroupArrayOutput() ClusterParameterGroupArrayOutput
	ToClusterParameterGroupArrayOutputWithContext(context.Context) ClusterParameterGroupArrayOutput
}

ClusterParameterGroupArrayInput is an input type that accepts ClusterParameterGroupArray and ClusterParameterGroupArrayOutput values. You can construct a concrete instance of `ClusterParameterGroupArrayInput` via:

ClusterParameterGroupArray{ ClusterParameterGroupArgs{...} }

type ClusterParameterGroupArrayOutput

type ClusterParameterGroupArrayOutput struct{ *pulumi.OutputState }

func (ClusterParameterGroupArrayOutput) ElementType

func (ClusterParameterGroupArrayOutput) Index

func (ClusterParameterGroupArrayOutput) ToClusterParameterGroupArrayOutput

func (o ClusterParameterGroupArrayOutput) ToClusterParameterGroupArrayOutput() ClusterParameterGroupArrayOutput

func (ClusterParameterGroupArrayOutput) ToClusterParameterGroupArrayOutputWithContext

func (o ClusterParameterGroupArrayOutput) ToClusterParameterGroupArrayOutputWithContext(ctx context.Context) ClusterParameterGroupArrayOutput

type ClusterParameterGroupInput

type ClusterParameterGroupInput interface {
	pulumi.Input

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

type ClusterParameterGroupMap

type ClusterParameterGroupMap map[string]ClusterParameterGroupInput

func (ClusterParameterGroupMap) ElementType

func (ClusterParameterGroupMap) ElementType() reflect.Type

func (ClusterParameterGroupMap) ToClusterParameterGroupMapOutput

func (i ClusterParameterGroupMap) ToClusterParameterGroupMapOutput() ClusterParameterGroupMapOutput

func (ClusterParameterGroupMap) ToClusterParameterGroupMapOutputWithContext

func (i ClusterParameterGroupMap) ToClusterParameterGroupMapOutputWithContext(ctx context.Context) ClusterParameterGroupMapOutput

type ClusterParameterGroupMapInput

type ClusterParameterGroupMapInput interface {
	pulumi.Input

	ToClusterParameterGroupMapOutput() ClusterParameterGroupMapOutput
	ToClusterParameterGroupMapOutputWithContext(context.Context) ClusterParameterGroupMapOutput
}

ClusterParameterGroupMapInput is an input type that accepts ClusterParameterGroupMap and ClusterParameterGroupMapOutput values. You can construct a concrete instance of `ClusterParameterGroupMapInput` via:

ClusterParameterGroupMap{ "key": ClusterParameterGroupArgs{...} }

type ClusterParameterGroupMapOutput

type ClusterParameterGroupMapOutput struct{ *pulumi.OutputState }

func (ClusterParameterGroupMapOutput) ElementType

func (ClusterParameterGroupMapOutput) MapIndex

func (ClusterParameterGroupMapOutput) ToClusterParameterGroupMapOutput

func (o ClusterParameterGroupMapOutput) ToClusterParameterGroupMapOutput() ClusterParameterGroupMapOutput

func (ClusterParameterGroupMapOutput) ToClusterParameterGroupMapOutputWithContext

func (o ClusterParameterGroupMapOutput) ToClusterParameterGroupMapOutputWithContext(ctx context.Context) ClusterParameterGroupMapOutput

type ClusterParameterGroupOutput

type ClusterParameterGroupOutput struct{ *pulumi.OutputState }

func (ClusterParameterGroupOutput) ElementType

func (ClusterParameterGroupOutput) ToClusterParameterGroupOutput

func (o ClusterParameterGroupOutput) ToClusterParameterGroupOutput() ClusterParameterGroupOutput

func (ClusterParameterGroupOutput) ToClusterParameterGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (ClusterParameterGroupState) ElementType

func (ClusterParameterGroupState) ElementType() reflect.Type

type ClusterRestoreToPointInTime

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

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

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutput

func (i ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutput() ClusterRestoreToPointInTimeOutput

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimeOutputWithContext

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

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutput

func (i ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimeArgs) ToClusterRestoreToPointInTimePtrOutputWithContext

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

type ClusterRestoreToPointInTimeInput

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

type ClusterRestoreToPointInTimeOutput struct{ *pulumi.OutputState }

func (ClusterRestoreToPointInTimeOutput) ElementType

func (ClusterRestoreToPointInTimeOutput) RestoreToTime

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

func (ClusterRestoreToPointInTimeOutput) RestoreType

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

func (ClusterRestoreToPointInTimeOutput) SourceClusterIdentifier

func (o ClusterRestoreToPointInTimeOutput) SourceClusterIdentifier() pulumi.StringOutput

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

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutput

func (o ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutput() ClusterRestoreToPointInTimeOutput

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimeOutputWithContext

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

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutput

func (o ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimeOutput) ToClusterRestoreToPointInTimePtrOutputWithContext

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

func (ClusterRestoreToPointInTimeOutput) UseLatestRestorableTime

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

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

type ClusterRestoreToPointInTimePtrOutput

type ClusterRestoreToPointInTimePtrOutput struct{ *pulumi.OutputState }

func (ClusterRestoreToPointInTimePtrOutput) Elem

func (ClusterRestoreToPointInTimePtrOutput) ElementType

func (ClusterRestoreToPointInTimePtrOutput) RestoreToTime

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

func (ClusterRestoreToPointInTimePtrOutput) RestoreType

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

func (ClusterRestoreToPointInTimePtrOutput) SourceClusterIdentifier

func (o ClusterRestoreToPointInTimePtrOutput) SourceClusterIdentifier() pulumi.StringPtrOutput

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

func (ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutput

func (o ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutput() ClusterRestoreToPointInTimePtrOutput

func (ClusterRestoreToPointInTimePtrOutput) ToClusterRestoreToPointInTimePtrOutputWithContext

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

func (ClusterRestoreToPointInTimePtrOutput) UseLatestRestorableTime

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 ClusterRoleAssociation added in v4.12.0

type ClusterRoleAssociation struct {
	pulumi.CustomResourceState

	// DB Cluster Identifier to associate with the IAM Role.
	DbClusterIdentifier pulumi.StringOutput `pulumi:"dbClusterIdentifier"`
	// 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 Cluster.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
}

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

* [Creating an IAM Role to Allow Amazon Aurora to Access AWS Services](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.html) * [Importing Amazon S3 Data into an RDS PostgreSQL DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewClusterRoleAssociation(ctx, "example", &rds.ClusterRoleAssociationArgs{
			DbClusterIdentifier: pulumi.Any(aws_rds_cluster.Example.Id),
			FeatureName:         pulumi.String("S3_INTEGRATION"),
			RoleArn:             pulumi.Any(aws_iam_role.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import aws:rds/clusterRoleAssociation:ClusterRoleAssociation example my-db-cluster,arn:aws:iam::123456789012:role/my-role

```

func GetClusterRoleAssociation added in v4.12.0

func GetClusterRoleAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterRoleAssociationState, opts ...pulumi.ResourceOption) (*ClusterRoleAssociation, error)

GetClusterRoleAssociation gets an existing ClusterRoleAssociation 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 NewClusterRoleAssociation added in v4.12.0

func NewClusterRoleAssociation(ctx *pulumi.Context,
	name string, args *ClusterRoleAssociationArgs, opts ...pulumi.ResourceOption) (*ClusterRoleAssociation, error)

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

func (*ClusterRoleAssociation) ElementType added in v4.12.0

func (*ClusterRoleAssociation) ElementType() reflect.Type

func (*ClusterRoleAssociation) ToClusterRoleAssociationOutput added in v4.12.0

func (i *ClusterRoleAssociation) ToClusterRoleAssociationOutput() ClusterRoleAssociationOutput

func (*ClusterRoleAssociation) ToClusterRoleAssociationOutputWithContext added in v4.12.0

func (i *ClusterRoleAssociation) ToClusterRoleAssociationOutputWithContext(ctx context.Context) ClusterRoleAssociationOutput

type ClusterRoleAssociationArgs added in v4.12.0

type ClusterRoleAssociationArgs struct {
	// DB Cluster Identifier to associate with the IAM Role.
	DbClusterIdentifier 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 Cluster.
	RoleArn pulumi.StringInput
}

The set of arguments for constructing a ClusterRoleAssociation resource.

func (ClusterRoleAssociationArgs) ElementType added in v4.12.0

func (ClusterRoleAssociationArgs) ElementType() reflect.Type

type ClusterRoleAssociationArray added in v4.12.0

type ClusterRoleAssociationArray []ClusterRoleAssociationInput

func (ClusterRoleAssociationArray) ElementType added in v4.12.0

func (ClusterRoleAssociationArray) ToClusterRoleAssociationArrayOutput added in v4.12.0

func (i ClusterRoleAssociationArray) ToClusterRoleAssociationArrayOutput() ClusterRoleAssociationArrayOutput

func (ClusterRoleAssociationArray) ToClusterRoleAssociationArrayOutputWithContext added in v4.12.0

func (i ClusterRoleAssociationArray) ToClusterRoleAssociationArrayOutputWithContext(ctx context.Context) ClusterRoleAssociationArrayOutput

type ClusterRoleAssociationArrayInput added in v4.12.0

type ClusterRoleAssociationArrayInput interface {
	pulumi.Input

	ToClusterRoleAssociationArrayOutput() ClusterRoleAssociationArrayOutput
	ToClusterRoleAssociationArrayOutputWithContext(context.Context) ClusterRoleAssociationArrayOutput
}

ClusterRoleAssociationArrayInput is an input type that accepts ClusterRoleAssociationArray and ClusterRoleAssociationArrayOutput values. You can construct a concrete instance of `ClusterRoleAssociationArrayInput` via:

ClusterRoleAssociationArray{ ClusterRoleAssociationArgs{...} }

type ClusterRoleAssociationArrayOutput added in v4.12.0

type ClusterRoleAssociationArrayOutput struct{ *pulumi.OutputState }

func (ClusterRoleAssociationArrayOutput) ElementType added in v4.12.0

func (ClusterRoleAssociationArrayOutput) Index added in v4.12.0

func (ClusterRoleAssociationArrayOutput) ToClusterRoleAssociationArrayOutput added in v4.12.0

func (o ClusterRoleAssociationArrayOutput) ToClusterRoleAssociationArrayOutput() ClusterRoleAssociationArrayOutput

func (ClusterRoleAssociationArrayOutput) ToClusterRoleAssociationArrayOutputWithContext added in v4.12.0

func (o ClusterRoleAssociationArrayOutput) ToClusterRoleAssociationArrayOutputWithContext(ctx context.Context) ClusterRoleAssociationArrayOutput

type ClusterRoleAssociationInput added in v4.12.0

type ClusterRoleAssociationInput interface {
	pulumi.Input

	ToClusterRoleAssociationOutput() ClusterRoleAssociationOutput
	ToClusterRoleAssociationOutputWithContext(ctx context.Context) ClusterRoleAssociationOutput
}

type ClusterRoleAssociationMap added in v4.12.0

type ClusterRoleAssociationMap map[string]ClusterRoleAssociationInput

func (ClusterRoleAssociationMap) ElementType added in v4.12.0

func (ClusterRoleAssociationMap) ElementType() reflect.Type

func (ClusterRoleAssociationMap) ToClusterRoleAssociationMapOutput added in v4.12.0

func (i ClusterRoleAssociationMap) ToClusterRoleAssociationMapOutput() ClusterRoleAssociationMapOutput

func (ClusterRoleAssociationMap) ToClusterRoleAssociationMapOutputWithContext added in v4.12.0

func (i ClusterRoleAssociationMap) ToClusterRoleAssociationMapOutputWithContext(ctx context.Context) ClusterRoleAssociationMapOutput

type ClusterRoleAssociationMapInput added in v4.12.0

type ClusterRoleAssociationMapInput interface {
	pulumi.Input

	ToClusterRoleAssociationMapOutput() ClusterRoleAssociationMapOutput
	ToClusterRoleAssociationMapOutputWithContext(context.Context) ClusterRoleAssociationMapOutput
}

ClusterRoleAssociationMapInput is an input type that accepts ClusterRoleAssociationMap and ClusterRoleAssociationMapOutput values. You can construct a concrete instance of `ClusterRoleAssociationMapInput` via:

ClusterRoleAssociationMap{ "key": ClusterRoleAssociationArgs{...} }

type ClusterRoleAssociationMapOutput added in v4.12.0

type ClusterRoleAssociationMapOutput struct{ *pulumi.OutputState }

func (ClusterRoleAssociationMapOutput) ElementType added in v4.12.0

func (ClusterRoleAssociationMapOutput) MapIndex added in v4.12.0

func (ClusterRoleAssociationMapOutput) ToClusterRoleAssociationMapOutput added in v4.12.0

func (o ClusterRoleAssociationMapOutput) ToClusterRoleAssociationMapOutput() ClusterRoleAssociationMapOutput

func (ClusterRoleAssociationMapOutput) ToClusterRoleAssociationMapOutputWithContext added in v4.12.0

func (o ClusterRoleAssociationMapOutput) ToClusterRoleAssociationMapOutputWithContext(ctx context.Context) ClusterRoleAssociationMapOutput

type ClusterRoleAssociationOutput added in v4.12.0

type ClusterRoleAssociationOutput struct{ *pulumi.OutputState }

func (ClusterRoleAssociationOutput) ElementType added in v4.12.0

func (ClusterRoleAssociationOutput) ToClusterRoleAssociationOutput added in v4.12.0

func (o ClusterRoleAssociationOutput) ToClusterRoleAssociationOutput() ClusterRoleAssociationOutput

func (ClusterRoleAssociationOutput) ToClusterRoleAssociationOutputWithContext added in v4.12.0

func (o ClusterRoleAssociationOutput) ToClusterRoleAssociationOutputWithContext(ctx context.Context) ClusterRoleAssociationOutput

type ClusterRoleAssociationState added in v4.12.0

type ClusterRoleAssociationState struct {
	// DB Cluster Identifier to associate with the IAM Role.
	DbClusterIdentifier 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 Cluster.
	RoleArn pulumi.StringPtrInput
}

func (ClusterRoleAssociationState) ElementType added in v4.12.0

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 for an Aurora DB cluster in `serverless` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `16`.
	MaxCapacity *int `pulumi:"maxCapacity"`
	// The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). 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 for an Aurora DB cluster in `serverless` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `16`.
	MaxCapacity pulumi.IntPtrInput `pulumi:"maxCapacity"`
	// The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). 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 for an Aurora DB cluster in `serverless` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `16`.

func (ClusterScalingConfigurationOutput) MinCapacity

The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). 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 for an Aurora DB cluster in `serverless` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `16`.

func (ClusterScalingConfigurationPtrOutput) MinCapacity

The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*ClusterSnapshot) ElementType() reflect.Type

func (*ClusterSnapshot) ToClusterSnapshotOutput

func (i *ClusterSnapshot) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (*ClusterSnapshot) ToClusterSnapshotOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClusterSnapshot resource.

func (ClusterSnapshotArgs) ElementType

func (ClusterSnapshotArgs) ElementType() reflect.Type

type ClusterSnapshotArray

type ClusterSnapshotArray []ClusterSnapshotInput

func (ClusterSnapshotArray) ElementType

func (ClusterSnapshotArray) ElementType() reflect.Type

func (ClusterSnapshotArray) ToClusterSnapshotArrayOutput

func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput

func (ClusterSnapshotArray) ToClusterSnapshotArrayOutputWithContext

func (i ClusterSnapshotArray) ToClusterSnapshotArrayOutputWithContext(ctx context.Context) ClusterSnapshotArrayOutput

type ClusterSnapshotArrayInput

type ClusterSnapshotArrayInput interface {
	pulumi.Input

	ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput
	ToClusterSnapshotArrayOutputWithContext(context.Context) ClusterSnapshotArrayOutput
}

ClusterSnapshotArrayInput is an input type that accepts ClusterSnapshotArray and ClusterSnapshotArrayOutput values. You can construct a concrete instance of `ClusterSnapshotArrayInput` via:

ClusterSnapshotArray{ ClusterSnapshotArgs{...} }

type ClusterSnapshotArrayOutput

type ClusterSnapshotArrayOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotArrayOutput) ElementType

func (ClusterSnapshotArrayOutput) ElementType() reflect.Type

func (ClusterSnapshotArrayOutput) Index

func (ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput

func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutput() ClusterSnapshotArrayOutput

func (ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutputWithContext

func (o ClusterSnapshotArrayOutput) ToClusterSnapshotArrayOutputWithContext(ctx context.Context) ClusterSnapshotArrayOutput

type ClusterSnapshotInput

type ClusterSnapshotInput interface {
	pulumi.Input

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

type ClusterSnapshotMap

type ClusterSnapshotMap map[string]ClusterSnapshotInput

func (ClusterSnapshotMap) ElementType

func (ClusterSnapshotMap) ElementType() reflect.Type

func (ClusterSnapshotMap) ToClusterSnapshotMapOutput

func (i ClusterSnapshotMap) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput

func (ClusterSnapshotMap) ToClusterSnapshotMapOutputWithContext

func (i ClusterSnapshotMap) ToClusterSnapshotMapOutputWithContext(ctx context.Context) ClusterSnapshotMapOutput

type ClusterSnapshotMapInput

type ClusterSnapshotMapInput interface {
	pulumi.Input

	ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput
	ToClusterSnapshotMapOutputWithContext(context.Context) ClusterSnapshotMapOutput
}

ClusterSnapshotMapInput is an input type that accepts ClusterSnapshotMap and ClusterSnapshotMapOutput values. You can construct a concrete instance of `ClusterSnapshotMapInput` via:

ClusterSnapshotMap{ "key": ClusterSnapshotArgs{...} }

type ClusterSnapshotMapOutput

type ClusterSnapshotMapOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotMapOutput) ElementType

func (ClusterSnapshotMapOutput) ElementType() reflect.Type

func (ClusterSnapshotMapOutput) MapIndex

func (ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput

func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutput() ClusterSnapshotMapOutput

func (ClusterSnapshotMapOutput) ToClusterSnapshotMapOutputWithContext

func (o ClusterSnapshotMapOutput) ToClusterSnapshotMapOutputWithContext(ctx context.Context) ClusterSnapshotMapOutput

type ClusterSnapshotOutput

type ClusterSnapshotOutput struct{ *pulumi.OutputState }

func (ClusterSnapshotOutput) ElementType

func (ClusterSnapshotOutput) ElementType() reflect.Type

func (ClusterSnapshotOutput) ToClusterSnapshotOutput

func (o ClusterSnapshotOutput) ToClusterSnapshotOutput() ClusterSnapshotOutput

func (ClusterSnapshotOutput) ToClusterSnapshotOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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 apply. It is recommended to specify 3 AZs.
	AvailabilityZones pulumi.StringArrayInput
	// The target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines 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
	// Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter.
	DbInstanceParameterGroupName 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
	// Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information.
	EnableGlobalWriteForwarding 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`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, defined below.
	EngineVersion pulumi.StringPtrInput
	// The running version of the database.
	EngineVersionActual 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 a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use `ignoreChanges`.
	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. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided.
	StorageEncrypted pulumi.BoolPtrInput
	// A map of tags to assign to the DB cluster.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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

type EngineMode string

func (EngineMode) ElementType

func (EngineMode) ElementType() reflect.Type

func (EngineMode) ToEngineModeOutput added in v4.13.0

func (e EngineMode) ToEngineModeOutput() EngineModeOutput

func (EngineMode) ToEngineModeOutputWithContext added in v4.13.0

func (e EngineMode) ToEngineModeOutputWithContext(ctx context.Context) EngineModeOutput

func (EngineMode) ToEngineModePtrOutput added in v4.13.0

func (e EngineMode) ToEngineModePtrOutput() EngineModePtrOutput

func (EngineMode) ToEngineModePtrOutputWithContext added in v4.13.0

func (e EngineMode) ToEngineModePtrOutputWithContext(ctx context.Context) EngineModePtrOutput

func (EngineMode) ToStringOutput

func (e EngineMode) ToStringOutput() pulumi.StringOutput

func (EngineMode) ToStringOutputWithContext

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

func (EngineMode) ToStringPtrOutput

func (e EngineMode) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineMode) ToStringPtrOutputWithContext

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

type EngineModeInput added in v4.13.0

type EngineModeInput interface {
	pulumi.Input

	ToEngineModeOutput() EngineModeOutput
	ToEngineModeOutputWithContext(context.Context) EngineModeOutput
}

EngineModeInput is an input type that accepts EngineModeArgs and EngineModeOutput values. You can construct a concrete instance of `EngineModeInput` via:

EngineModeArgs{...}

type EngineModeOutput added in v4.13.0

type EngineModeOutput struct{ *pulumi.OutputState }

func (EngineModeOutput) ElementType added in v4.13.0

func (EngineModeOutput) ElementType() reflect.Type

func (EngineModeOutput) ToEngineModeOutput added in v4.13.0

func (o EngineModeOutput) ToEngineModeOutput() EngineModeOutput

func (EngineModeOutput) ToEngineModeOutputWithContext added in v4.13.0

func (o EngineModeOutput) ToEngineModeOutputWithContext(ctx context.Context) EngineModeOutput

func (EngineModeOutput) ToEngineModePtrOutput added in v4.13.0

func (o EngineModeOutput) ToEngineModePtrOutput() EngineModePtrOutput

func (EngineModeOutput) ToEngineModePtrOutputWithContext added in v4.13.0

func (o EngineModeOutput) ToEngineModePtrOutputWithContext(ctx context.Context) EngineModePtrOutput

func (EngineModeOutput) ToStringOutput added in v4.13.0

func (o EngineModeOutput) ToStringOutput() pulumi.StringOutput

func (EngineModeOutput) ToStringOutputWithContext added in v4.13.0

func (o EngineModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (EngineModeOutput) ToStringPtrOutput added in v4.13.0

func (o EngineModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineModeOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o EngineModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type EngineModePtrInput added in v4.13.0

type EngineModePtrInput interface {
	pulumi.Input

	ToEngineModePtrOutput() EngineModePtrOutput
	ToEngineModePtrOutputWithContext(context.Context) EngineModePtrOutput
}

func EngineModePtr added in v4.13.0

func EngineModePtr(v string) EngineModePtrInput

type EngineModePtrOutput added in v4.13.0

type EngineModePtrOutput struct{ *pulumi.OutputState }

func (EngineModePtrOutput) Elem added in v4.13.0

func (EngineModePtrOutput) ElementType added in v4.13.0

func (EngineModePtrOutput) ElementType() reflect.Type

func (EngineModePtrOutput) ToEngineModePtrOutput added in v4.13.0

func (o EngineModePtrOutput) ToEngineModePtrOutput() EngineModePtrOutput

func (EngineModePtrOutput) ToEngineModePtrOutputWithContext added in v4.13.0

func (o EngineModePtrOutput) ToEngineModePtrOutputWithContext(ctx context.Context) EngineModePtrOutput

func (EngineModePtrOutput) ToStringPtrOutput added in v4.13.0

func (o EngineModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineModePtrOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o EngineModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type EngineType

type EngineType string

func (EngineType) ElementType

func (EngineType) ElementType() reflect.Type

func (EngineType) ToEngineTypeOutput added in v4.13.0

func (e EngineType) ToEngineTypeOutput() EngineTypeOutput

func (EngineType) ToEngineTypeOutputWithContext added in v4.13.0

func (e EngineType) ToEngineTypeOutputWithContext(ctx context.Context) EngineTypeOutput

func (EngineType) ToEngineTypePtrOutput added in v4.13.0

func (e EngineType) ToEngineTypePtrOutput() EngineTypePtrOutput

func (EngineType) ToEngineTypePtrOutputWithContext added in v4.13.0

func (e EngineType) ToEngineTypePtrOutputWithContext(ctx context.Context) EngineTypePtrOutput

func (EngineType) ToStringOutput

func (e EngineType) ToStringOutput() pulumi.StringOutput

func (EngineType) ToStringOutputWithContext

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

func (EngineType) ToStringPtrOutput

func (e EngineType) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineType) ToStringPtrOutputWithContext

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

type EngineTypeInput added in v4.13.0

type EngineTypeInput interface {
	pulumi.Input

	ToEngineTypeOutput() EngineTypeOutput
	ToEngineTypeOutputWithContext(context.Context) EngineTypeOutput
}

EngineTypeInput is an input type that accepts EngineTypeArgs and EngineTypeOutput values. You can construct a concrete instance of `EngineTypeInput` via:

EngineTypeArgs{...}

type EngineTypeOutput added in v4.13.0

type EngineTypeOutput struct{ *pulumi.OutputState }

func (EngineTypeOutput) ElementType added in v4.13.0

func (EngineTypeOutput) ElementType() reflect.Type

func (EngineTypeOutput) ToEngineTypeOutput added in v4.13.0

func (o EngineTypeOutput) ToEngineTypeOutput() EngineTypeOutput

func (EngineTypeOutput) ToEngineTypeOutputWithContext added in v4.13.0

func (o EngineTypeOutput) ToEngineTypeOutputWithContext(ctx context.Context) EngineTypeOutput

func (EngineTypeOutput) ToEngineTypePtrOutput added in v4.13.0

func (o EngineTypeOutput) ToEngineTypePtrOutput() EngineTypePtrOutput

func (EngineTypeOutput) ToEngineTypePtrOutputWithContext added in v4.13.0

func (o EngineTypeOutput) ToEngineTypePtrOutputWithContext(ctx context.Context) EngineTypePtrOutput

func (EngineTypeOutput) ToStringOutput added in v4.13.0

func (o EngineTypeOutput) ToStringOutput() pulumi.StringOutput

func (EngineTypeOutput) ToStringOutputWithContext added in v4.13.0

func (o EngineTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (EngineTypeOutput) ToStringPtrOutput added in v4.13.0

func (o EngineTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineTypeOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o EngineTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type EngineTypePtrInput added in v4.13.0

type EngineTypePtrInput interface {
	pulumi.Input

	ToEngineTypePtrOutput() EngineTypePtrOutput
	ToEngineTypePtrOutputWithContext(context.Context) EngineTypePtrOutput
}

func EngineTypePtr added in v4.13.0

func EngineTypePtr(v string) EngineTypePtrInput

type EngineTypePtrOutput added in v4.13.0

type EngineTypePtrOutput struct{ *pulumi.OutputState }

func (EngineTypePtrOutput) Elem added in v4.13.0

func (EngineTypePtrOutput) ElementType added in v4.13.0

func (EngineTypePtrOutput) ElementType() reflect.Type

func (EngineTypePtrOutput) ToEngineTypePtrOutput added in v4.13.0

func (o EngineTypePtrOutput) ToEngineTypePtrOutput() EngineTypePtrOutput

func (EngineTypePtrOutput) ToEngineTypePtrOutputWithContext added in v4.13.0

func (o EngineTypePtrOutput) ToEngineTypePtrOutputWithContext(ctx context.Context) EngineTypePtrOutput

func (EngineTypePtrOutput) ToStringPtrOutput added in v4.13.0

func (o EngineTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (EngineTypePtrOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o EngineTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type EventSubscription

type EventSubscription struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name of the RDS event notification subscription
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The AWS customer account associated with the RDS event notification subscription
	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.StringOutput `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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a DB event subscription resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/rds"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

```

## 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

func (*EventSubscription) ElementType() reflect.Type

func (*EventSubscription) ToEventSubscriptionOutput

func (i *EventSubscription) ToEventSubscriptionOutput() EventSubscriptionOutput

func (*EventSubscription) ToEventSubscriptionOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a EventSubscription resource.

func (EventSubscriptionArgs) ElementType

func (EventSubscriptionArgs) ElementType() reflect.Type

type EventSubscriptionArray

type EventSubscriptionArray []EventSubscriptionInput

func (EventSubscriptionArray) ElementType

func (EventSubscriptionArray) ElementType() reflect.Type

func (EventSubscriptionArray) ToEventSubscriptionArrayOutput

func (i EventSubscriptionArray) ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput

func (EventSubscriptionArray) ToEventSubscriptionArrayOutputWithContext

func (i EventSubscriptionArray) ToEventSubscriptionArrayOutputWithContext(ctx context.Context) EventSubscriptionArrayOutput

type EventSubscriptionArrayInput

type EventSubscriptionArrayInput interface {
	pulumi.Input

	ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput
	ToEventSubscriptionArrayOutputWithContext(context.Context) EventSubscriptionArrayOutput
}

EventSubscriptionArrayInput is an input type that accepts EventSubscriptionArray and EventSubscriptionArrayOutput values. You can construct a concrete instance of `EventSubscriptionArrayInput` via:

EventSubscriptionArray{ EventSubscriptionArgs{...} }

type EventSubscriptionArrayOutput

type EventSubscriptionArrayOutput struct{ *pulumi.OutputState }

func (EventSubscriptionArrayOutput) ElementType

func (EventSubscriptionArrayOutput) Index

func (EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutput

func (o EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutput() EventSubscriptionArrayOutput

func (EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutputWithContext

func (o EventSubscriptionArrayOutput) ToEventSubscriptionArrayOutputWithContext(ctx context.Context) EventSubscriptionArrayOutput

type EventSubscriptionInput

type EventSubscriptionInput interface {
	pulumi.Input

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

type EventSubscriptionMap

type EventSubscriptionMap map[string]EventSubscriptionInput

func (EventSubscriptionMap) ElementType

func (EventSubscriptionMap) ElementType() reflect.Type

func (EventSubscriptionMap) ToEventSubscriptionMapOutput

func (i EventSubscriptionMap) ToEventSubscriptionMapOutput() EventSubscriptionMapOutput

func (EventSubscriptionMap) ToEventSubscriptionMapOutputWithContext

func (i EventSubscriptionMap) ToEventSubscriptionMapOutputWithContext(ctx context.Context) EventSubscriptionMapOutput

type EventSubscriptionMapInput

type EventSubscriptionMapInput interface {
	pulumi.Input

	ToEventSubscriptionMapOutput() EventSubscriptionMapOutput
	ToEventSubscriptionMapOutputWithContext(context.Context) EventSubscriptionMapOutput
}

EventSubscriptionMapInput is an input type that accepts EventSubscriptionMap and EventSubscriptionMapOutput values. You can construct a concrete instance of `EventSubscriptionMapInput` via:

EventSubscriptionMap{ "key": EventSubscriptionArgs{...} }

type EventSubscriptionMapOutput

type EventSubscriptionMapOutput struct{ *pulumi.OutputState }

func (EventSubscriptionMapOutput) ElementType

func (EventSubscriptionMapOutput) ElementType() reflect.Type

func (EventSubscriptionMapOutput) MapIndex

func (EventSubscriptionMapOutput) ToEventSubscriptionMapOutput

func (o EventSubscriptionMapOutput) ToEventSubscriptionMapOutput() EventSubscriptionMapOutput

func (EventSubscriptionMapOutput) ToEventSubscriptionMapOutputWithContext

func (o EventSubscriptionMapOutput) ToEventSubscriptionMapOutputWithContext(ctx context.Context) EventSubscriptionMapOutput

type EventSubscriptionOutput

type EventSubscriptionOutput struct{ *pulumi.OutputState }

func (EventSubscriptionOutput) ElementType

func (EventSubscriptionOutput) ElementType() reflect.Type

func (EventSubscriptionOutput) ToEventSubscriptionOutput

func (o EventSubscriptionOutput) ToEventSubscriptionOutput() EventSubscriptionOutput

func (EventSubscriptionOutput) ToEventSubscriptionOutputWithContext

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

type EventSubscriptionState

type EventSubscriptionState struct {
	// The Amazon Resource Name of the RDS event notification subscription
	Arn pulumi.StringPtrInput
	// The AWS customer account associated with the RDS event notification subscription
	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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (EventSubscriptionState) ElementType

func (EventSubscriptionState) ElementType() reflect.Type

type GetCertificateArgs

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 GetCertificateOutputArgs added in v4.21.0

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

A collection of arguments for invoking getCertificate.

func (GetCertificateOutputArgs) ElementType added in v4.21.0

func (GetCertificateOutputArgs) ElementType() reflect.Type

type GetCertificateResult

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

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type GetCertificateResultOutput added in v4.21.0

type GetCertificateResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCertificate.

func GetCertificateOutput added in v4.21.0

func GetCertificateOutput(ctx *pulumi.Context, args GetCertificateOutputArgs, opts ...pulumi.InvokeOption) GetCertificateResultOutput

func (GetCertificateResultOutput) Arn added in v4.21.0

Amazon Resource Name (ARN) of the certificate.

func (GetCertificateResultOutput) CertificateType added in v4.21.0

func (o GetCertificateResultOutput) CertificateType() pulumi.StringOutput

Type of certificate. For example, `CA`.

func (GetCertificateResultOutput) CustomerOverride added in v4.21.0

func (o GetCertificateResultOutput) CustomerOverride() pulumi.BoolOutput

Boolean whether there is an override for the default certificate identifier.

func (GetCertificateResultOutput) CustomerOverrideValidTill added in v4.21.0

func (o GetCertificateResultOutput) CustomerOverrideValidTill() pulumi.StringOutput

If there is an override for the default certificate identifier, when the override expires.

func (GetCertificateResultOutput) ElementType added in v4.21.0

func (GetCertificateResultOutput) ElementType() reflect.Type

func (GetCertificateResultOutput) Id added in v4.21.0

func (GetCertificateResultOutput) LatestValidTill added in v4.21.0

func (o GetCertificateResultOutput) LatestValidTill() pulumi.BoolPtrOutput

func (GetCertificateResultOutput) Thumbprint added in v4.21.0

Thumbprint of the certificate.

func (GetCertificateResultOutput) ToGetCertificateResultOutput added in v4.21.0

func (o GetCertificateResultOutput) ToGetCertificateResultOutput() GetCertificateResultOutput

func (GetCertificateResultOutput) ToGetCertificateResultOutputWithContext added in v4.21.0

func (o GetCertificateResultOutput) ToGetCertificateResultOutputWithContext(ctx context.Context) GetCertificateResultOutput

func (GetCertificateResultOutput) ValidFrom added in v4.21.0

[RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of certificate starting validity date.

func (GetCertificateResultOutput) ValidTill added in v4.21.0

[RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of certificate ending validity date.

type GetEngineVersionArgs

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 GetEngineVersionOutputArgs added in v4.21.0

type GetEngineVersionOutputArgs 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 pulumi.StringInput `pulumi:"engine"`
	// The name of a specific DB parameter group family. Examples of parameter group families are `mysql8.0`, `mariadb10.4`, and `postgres12`.
	ParameterGroupFamily pulumi.StringPtrInput `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 pulumi.StringArrayInput `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 pulumi.StringPtrInput `pulumi:"version"`
}

A collection of arguments for invoking getEngineVersion.

func (GetEngineVersionOutputArgs) ElementType added in v4.21.0

func (GetEngineVersionOutputArgs) ElementType() reflect.Type

type GetEngineVersionResult

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

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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 GetEngineVersionResultOutput added in v4.21.0

type GetEngineVersionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEngineVersion.

func GetEngineVersionOutput added in v4.21.0

func (GetEngineVersionResultOutput) DefaultCharacterSet added in v4.21.0

func (o GetEngineVersionResultOutput) DefaultCharacterSet() pulumi.StringOutput

The default character set for new instances of this engine version.

func (GetEngineVersionResultOutput) ElementType added in v4.21.0

func (GetEngineVersionResultOutput) Engine added in v4.21.0

func (GetEngineVersionResultOutput) EngineDescription added in v4.21.0

func (o GetEngineVersionResultOutput) EngineDescription() pulumi.StringOutput

The description of the database engine.

func (GetEngineVersionResultOutput) ExportableLogTypes added in v4.21.0

func (o GetEngineVersionResultOutput) ExportableLogTypes() pulumi.StringArrayOutput

Set of log types that the database engine has available for export to CloudWatch Logs.

func (GetEngineVersionResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (GetEngineVersionResultOutput) ParameterGroupFamily added in v4.21.0

func (o GetEngineVersionResultOutput) ParameterGroupFamily() pulumi.StringOutput

func (GetEngineVersionResultOutput) PreferredVersions added in v4.21.0

func (GetEngineVersionResultOutput) Status added in v4.21.0

The status of the DB engine version, either available or deprecated.

func (GetEngineVersionResultOutput) SupportedCharacterSets added in v4.21.0

func (o GetEngineVersionResultOutput) SupportedCharacterSets() pulumi.StringArrayOutput

Set of the character sets supported by this engine.

func (GetEngineVersionResultOutput) SupportedFeatureNames added in v4.21.0

func (o GetEngineVersionResultOutput) SupportedFeatureNames() pulumi.StringArrayOutput

Set of features supported by the DB engine.

func (GetEngineVersionResultOutput) SupportedModes added in v4.21.0

Set of the supported DB engine modes.

func (GetEngineVersionResultOutput) SupportedTimezones added in v4.21.0

func (o GetEngineVersionResultOutput) SupportedTimezones() pulumi.StringArrayOutput

Set of the time zones supported by this engine.

func (GetEngineVersionResultOutput) SupportsGlobalDatabases added in v4.21.0

func (o GetEngineVersionResultOutput) SupportsGlobalDatabases() pulumi.BoolOutput

Indicates whether you can use Aurora global databases with a specific DB engine version.

func (GetEngineVersionResultOutput) SupportsLogExportsToCloudwatch added in v4.21.0

func (o GetEngineVersionResultOutput) SupportsLogExportsToCloudwatch() pulumi.BoolOutput

Indicates whether the engine version supports exporting the log types specified by `exportableLogTypes` to CloudWatch Logs.

func (GetEngineVersionResultOutput) SupportsParallelQuery added in v4.21.0

func (o GetEngineVersionResultOutput) SupportsParallelQuery() pulumi.BoolOutput

Indicates whether you can use Aurora parallel query with a specific DB engine version.

func (GetEngineVersionResultOutput) SupportsReadReplica added in v4.21.0

func (o GetEngineVersionResultOutput) SupportsReadReplica() pulumi.BoolOutput

Indicates whether the database engine version supports read replicas.

func (GetEngineVersionResultOutput) ToGetEngineVersionResultOutput added in v4.21.0

func (o GetEngineVersionResultOutput) ToGetEngineVersionResultOutput() GetEngineVersionResultOutput

func (GetEngineVersionResultOutput) ToGetEngineVersionResultOutputWithContext added in v4.21.0

func (o GetEngineVersionResultOutput) ToGetEngineVersionResultOutputWithContext(ctx context.Context) GetEngineVersionResultOutput

func (GetEngineVersionResultOutput) ValidUpgradeTargets added in v4.21.0

func (o GetEngineVersionResultOutput) ValidUpgradeTargets() pulumi.StringArrayOutput

Set of engine versions that this database engine version can be upgraded to.

func (GetEngineVersionResultOutput) Version added in v4.21.0

func (GetEngineVersionResultOutput) VersionDescription added in v4.21.0

func (o GetEngineVersionResultOutput) VersionDescription() pulumi.StringOutput

The description of the database engine version.

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 GetEventCategoriesOutputArgs added in v4.21.0

type GetEventCategoriesOutputArgs 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 pulumi.StringPtrInput `pulumi:"sourceType"`
}

A collection of arguments for invoking getEventCategories.

func (GetEventCategoriesOutputArgs) ElementType added in v4.21.0

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type GetEventCategoriesResultOutput added in v4.21.0

type GetEventCategoriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEventCategories.

func GetEventCategoriesOutput added in v4.21.0

func (GetEventCategoriesResultOutput) ElementType added in v4.21.0

func (GetEventCategoriesResultOutput) EventCategories added in v4.21.0

A list of the event categories.

func (GetEventCategoriesResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (GetEventCategoriesResultOutput) SourceType added in v4.21.0

func (GetEventCategoriesResultOutput) ToGetEventCategoriesResultOutput added in v4.21.0

func (o GetEventCategoriesResultOutput) ToGetEventCategoriesResultOutput() GetEventCategoriesResultOutput

func (GetEventCategoriesResultOutput) ToGetEventCategoriesResultOutputWithContext added in v4.21.0

func (o GetEventCategoriesResultOutput) ToGetEventCategoriesResultOutputWithContext(ctx context.Context) GetEventCategoriesResultOutput

type GetOrderableDbInstanceArgs

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 GetOrderableDbInstanceOutputArgs added in v4.21.0

type GetOrderableDbInstanceOutputArgs struct {
	// Availability zone group.
	AvailabilityZoneGroup pulumi.StringPtrInput `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 pulumi.StringInput `pulumi:"engine"`
	// Version of the DB engine. If none is provided, the AWS-defined default version will be used.
	EngineVersion pulumi.StringPtrInput `pulumi:"engineVersion"`
	// DB instance class. Examples of classes are `db.m3.2xlarge`, `db.t2.small`, and `db.m3.medium`.
	InstanceClass pulumi.StringPtrInput `pulumi:"instanceClass"`
	// License model. Examples of license models are `general-public-license`, `bring-your-own-license`, and `amazon-license`.
	LicenseModel pulumi.StringPtrInput `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 pulumi.StringArrayInput `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 pulumi.StringArrayInput `pulumi:"preferredInstanceClasses"`
	// Storage types. Examples of storage types are `standard`, `io1`, `gp2`, and `aurora`.
	StorageType pulumi.StringPtrInput `pulumi:"storageType"`
	// Enable this to ensure a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.
	SupportsEnhancedMonitoring pulumi.BoolPtrInput `pulumi:"supportsEnhancedMonitoring"`
	// Enable this to ensure a DB instance supports Aurora global databases with a specific combination of other DB engine attributes.
	SupportsGlobalDatabases pulumi.BoolPtrInput `pulumi:"supportsGlobalDatabases"`
	// Enable this to ensure a DB instance supports IAM database authentication.
	SupportsIamDatabaseAuthentication pulumi.BoolPtrInput `pulumi:"supportsIamDatabaseAuthentication"`
	// Enable this to ensure a DB instance supports provisioned IOPS.
	SupportsIops pulumi.BoolPtrInput `pulumi:"supportsIops"`
	// Enable this to ensure a DB instance supports Kerberos Authentication.
	SupportsKerberosAuthentication pulumi.BoolPtrInput `pulumi:"supportsKerberosAuthentication"`
	// Enable this to ensure a DB instance supports Performance Insights.
	SupportsPerformanceInsights pulumi.BoolPtrInput `pulumi:"supportsPerformanceInsights"`
	// Enable this to ensure Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class.
	SupportsStorageAutoscaling pulumi.BoolPtrInput `pulumi:"supportsStorageAutoscaling"`
	// Enable this to ensure a DB instance supports encrypted storage.
	SupportsStorageEncryption pulumi.BoolPtrInput `pulumi:"supportsStorageEncryption"`
	// Boolean that indicates whether to show only VPC or non-VPC offerings.
	Vpc pulumi.BoolPtrInput `pulumi:"vpc"`
}

A collection of arguments for invoking getOrderableDbInstance.

func (GetOrderableDbInstanceOutputArgs) ElementType added in v4.21.0

type GetOrderableDbInstanceResult

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

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{
			Engine:        "mysql",
			EngineVersion: pulumi.StringRef("5.7.22"),
			LicenseModel:  pulumi.StringRef("general-public-license"),
			PreferredInstanceClasses: []string{
				"db.r6.xlarge",
				"db.m4.large",
				"db.t3.small",
			},
			StorageType: pulumi.StringRef("standard"),
		}, 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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{
			Engine:       "mysql",
			LicenseModel: pulumi.StringRef("general-public-license"),
			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 GetOrderableDbInstanceResultOutput added in v4.21.0

type GetOrderableDbInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getOrderableDbInstance.

func GetOrderableDbInstanceOutput added in v4.21.0

func (GetOrderableDbInstanceResultOutput) AvailabilityZoneGroup added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) AvailabilityZoneGroup() pulumi.StringOutput

func (GetOrderableDbInstanceResultOutput) AvailabilityZones added in v4.21.0

Availability zones where the instance is available.

func (GetOrderableDbInstanceResultOutput) ElementType added in v4.21.0

func (GetOrderableDbInstanceResultOutput) Engine added in v4.21.0

func (GetOrderableDbInstanceResultOutput) EngineVersion added in v4.21.0

func (GetOrderableDbInstanceResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (GetOrderableDbInstanceResultOutput) InstanceClass added in v4.21.0

func (GetOrderableDbInstanceResultOutput) LicenseModel added in v4.21.0

func (GetOrderableDbInstanceResultOutput) MaxIopsPerDbInstance added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) MaxIopsPerDbInstance() pulumi.IntOutput

Maximum total provisioned IOPS for a DB instance.

func (GetOrderableDbInstanceResultOutput) MaxIopsPerGib added in v4.21.0

Maximum provisioned IOPS per GiB for a DB instance.

func (GetOrderableDbInstanceResultOutput) MaxStorageSize added in v4.21.0

Maximum storage size for a DB instance.

func (GetOrderableDbInstanceResultOutput) MinIopsPerDbInstance added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) MinIopsPerDbInstance() pulumi.IntOutput

Minimum total provisioned IOPS for a DB instance.

func (GetOrderableDbInstanceResultOutput) MinIopsPerGib added in v4.21.0

Minimum provisioned IOPS per GiB for a DB instance.

func (GetOrderableDbInstanceResultOutput) MinStorageSize added in v4.21.0

Minimum storage size for a DB instance.

func (GetOrderableDbInstanceResultOutput) MultiAzCapable added in v4.21.0

Whether a DB instance is Multi-AZ capable.

func (GetOrderableDbInstanceResultOutput) OutpostCapable added in v4.21.0

Whether a DB instance supports RDS on Outposts.

func (GetOrderableDbInstanceResultOutput) PreferredEngineVersions added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) PreferredEngineVersions() pulumi.StringArrayOutput

func (GetOrderableDbInstanceResultOutput) PreferredInstanceClasses added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) PreferredInstanceClasses() pulumi.StringArrayOutput

func (GetOrderableDbInstanceResultOutput) ReadReplicaCapable added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) ReadReplicaCapable() pulumi.BoolOutput

Whether a DB instance can have a read replica.

func (GetOrderableDbInstanceResultOutput) StorageType added in v4.21.0

func (GetOrderableDbInstanceResultOutput) SupportedEngineModes added in v4.21.0

A list of the supported DB engine modes.

func (GetOrderableDbInstanceResultOutput) SupportsEnhancedMonitoring added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsEnhancedMonitoring() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) SupportsGlobalDatabases added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsGlobalDatabases() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) SupportsIamDatabaseAuthentication added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsIamDatabaseAuthentication() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) SupportsIops added in v4.21.0

func (GetOrderableDbInstanceResultOutput) SupportsKerberosAuthentication added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsKerberosAuthentication() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) SupportsPerformanceInsights added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsPerformanceInsights() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) SupportsStorageAutoscaling added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsStorageAutoscaling() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) SupportsStorageEncryption added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) SupportsStorageEncryption() pulumi.BoolOutput

func (GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutput added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutput() GetOrderableDbInstanceResultOutput

func (GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutputWithContext added in v4.21.0

func (o GetOrderableDbInstanceResultOutput) ToGetOrderableDbInstanceResultOutputWithContext(ctx context.Context) GetOrderableDbInstanceResultOutput

func (GetOrderableDbInstanceResultOutput) Vpc added in v4.21.0

type GetProxyAuth added in v4.23.0

type GetProxyAuth struct {
	AuthScheme  string `pulumi:"authScheme"`
	Description string `pulumi:"description"`
	IamAuth     string `pulumi:"iamAuth"`
	SecretArn   string `pulumi:"secretArn"`
}

type GetProxyAuthArgs added in v4.23.0

type GetProxyAuthArgs struct {
	AuthScheme  pulumi.StringInput `pulumi:"authScheme"`
	Description pulumi.StringInput `pulumi:"description"`
	IamAuth     pulumi.StringInput `pulumi:"iamAuth"`
	SecretArn   pulumi.StringInput `pulumi:"secretArn"`
}

func (GetProxyAuthArgs) ElementType added in v4.23.0

func (GetProxyAuthArgs) ElementType() reflect.Type

func (GetProxyAuthArgs) ToGetProxyAuthOutput added in v4.23.0

func (i GetProxyAuthArgs) ToGetProxyAuthOutput() GetProxyAuthOutput

func (GetProxyAuthArgs) ToGetProxyAuthOutputWithContext added in v4.23.0

func (i GetProxyAuthArgs) ToGetProxyAuthOutputWithContext(ctx context.Context) GetProxyAuthOutput

type GetProxyAuthArray added in v4.23.0

type GetProxyAuthArray []GetProxyAuthInput

func (GetProxyAuthArray) ElementType added in v4.23.0

func (GetProxyAuthArray) ElementType() reflect.Type

func (GetProxyAuthArray) ToGetProxyAuthArrayOutput added in v4.23.0

func (i GetProxyAuthArray) ToGetProxyAuthArrayOutput() GetProxyAuthArrayOutput

func (GetProxyAuthArray) ToGetProxyAuthArrayOutputWithContext added in v4.23.0

func (i GetProxyAuthArray) ToGetProxyAuthArrayOutputWithContext(ctx context.Context) GetProxyAuthArrayOutput

type GetProxyAuthArrayInput added in v4.23.0

type GetProxyAuthArrayInput interface {
	pulumi.Input

	ToGetProxyAuthArrayOutput() GetProxyAuthArrayOutput
	ToGetProxyAuthArrayOutputWithContext(context.Context) GetProxyAuthArrayOutput
}

GetProxyAuthArrayInput is an input type that accepts GetProxyAuthArray and GetProxyAuthArrayOutput values. You can construct a concrete instance of `GetProxyAuthArrayInput` via:

GetProxyAuthArray{ GetProxyAuthArgs{...} }

type GetProxyAuthArrayOutput added in v4.23.0

type GetProxyAuthArrayOutput struct{ *pulumi.OutputState }

func (GetProxyAuthArrayOutput) ElementType added in v4.23.0

func (GetProxyAuthArrayOutput) ElementType() reflect.Type

func (GetProxyAuthArrayOutput) Index added in v4.23.0

func (GetProxyAuthArrayOutput) ToGetProxyAuthArrayOutput added in v4.23.0

func (o GetProxyAuthArrayOutput) ToGetProxyAuthArrayOutput() GetProxyAuthArrayOutput

func (GetProxyAuthArrayOutput) ToGetProxyAuthArrayOutputWithContext added in v4.23.0

func (o GetProxyAuthArrayOutput) ToGetProxyAuthArrayOutputWithContext(ctx context.Context) GetProxyAuthArrayOutput

type GetProxyAuthInput added in v4.23.0

type GetProxyAuthInput interface {
	pulumi.Input

	ToGetProxyAuthOutput() GetProxyAuthOutput
	ToGetProxyAuthOutputWithContext(context.Context) GetProxyAuthOutput
}

GetProxyAuthInput is an input type that accepts GetProxyAuthArgs and GetProxyAuthOutput values. You can construct a concrete instance of `GetProxyAuthInput` via:

GetProxyAuthArgs{...}

type GetProxyAuthOutput added in v4.23.0

type GetProxyAuthOutput struct{ *pulumi.OutputState }

func (GetProxyAuthOutput) AuthScheme added in v4.23.0

func (o GetProxyAuthOutput) AuthScheme() pulumi.StringOutput

func (GetProxyAuthOutput) Description added in v4.23.0

func (o GetProxyAuthOutput) Description() pulumi.StringOutput

func (GetProxyAuthOutput) ElementType added in v4.23.0

func (GetProxyAuthOutput) ElementType() reflect.Type

func (GetProxyAuthOutput) IamAuth added in v4.23.0

func (GetProxyAuthOutput) SecretArn added in v4.23.0

func (o GetProxyAuthOutput) SecretArn() pulumi.StringOutput

func (GetProxyAuthOutput) ToGetProxyAuthOutput added in v4.23.0

func (o GetProxyAuthOutput) ToGetProxyAuthOutput() GetProxyAuthOutput

func (GetProxyAuthOutput) ToGetProxyAuthOutputWithContext added in v4.23.0

func (o GetProxyAuthOutput) ToGetProxyAuthOutputWithContext(ctx context.Context) GetProxyAuthOutput

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"`
	// Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `sourceDbClusterIdentifier`.
	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"`
	// Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value.
	SourceDbClusterIdentifier pulumi.StringOutput `pulumi:"sourceDbClusterIdentifier"`
	// Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided.
	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 MySQL Global Cluster

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := rds.NewGlobalCluster(ctx, "example", &rds.GlobalClusterArgs{
			GlobalClusterIdentifier: pulumi.String("global-test"),
			Engine:                  pulumi.String("aurora"),
			EngineVersion:           pulumi.String("5.6.mysql_aurora.1.22.2"),
			DatabaseName:            pulumi.String("example_db"),
		})
		if err != nil {
			return err
		}
		primaryCluster, err := rds.NewCluster(ctx, "primaryCluster", &rds.ClusterArgs{
			Engine:                  example.Engine,
			EngineVersion:           example.EngineVersion,
			ClusterIdentifier:       pulumi.String("test-primary-cluster"),
			MasterUsername:          pulumi.String("username"),
			MasterPassword:          pulumi.String("somepass123"),
			DatabaseName:            pulumi.String("example_db"),
			GlobalClusterIdentifier: example.ID(),
			DbSubnetGroupName:       pulumi.String("default"),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		primaryClusterInstance, err := rds.NewClusterInstance(ctx, "primaryClusterInstance", &rds.ClusterInstanceArgs{
			Engine:            example.Engine,
			EngineVersion:     example.EngineVersion,
			Identifier:        pulumi.String("test-primary-cluster-instance"),
			ClusterIdentifier: primaryCluster.ID(),
			InstanceClass:     pulumi.String("db.r4.large"),
			DbSubnetGroupName: pulumi.String("default"),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		secondaryCluster, err := rds.NewCluster(ctx, "secondaryCluster", &rds.ClusterArgs{
			Engine:                  example.Engine,
			EngineVersion:           example.EngineVersion,
			ClusterIdentifier:       pulumi.String("test-secondary-cluster"),
			GlobalClusterIdentifier: example.ID(),
			DbSubnetGroupName:       pulumi.String("default"),
		}, pulumi.Provider(aws.Secondary))
		if err != nil {
			return err
		}
		_, err = rds.NewClusterInstance(ctx, "secondaryClusterInstance", &rds.ClusterInstanceArgs{
			Engine:            example.Engine,
			EngineVersion:     example.EngineVersion,
			Identifier:        pulumi.String("test-secondary-cluster-instance"),
			ClusterIdentifier: secondaryCluster.ID(),
			InstanceClass:     pulumi.String("db.r4.large"),
			DbSubnetGroupName: pulumi.String("default"),
		}, pulumi.Provider(aws.Secondary), pulumi.DependsOn([]pulumi.Resource{
			primaryClusterInstance,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### New PostgreSQL Global Cluster

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "primary", &providers.awsArgs{
			Region: "us-east-2",
		})
		if err != nil {
			return err
		}
		_, err = providers.Newaws(ctx, "secondary", &providers.awsArgs{
			Region: "us-east-1",
		})
		if err != nil {
			return err
		}
		example, err := rds.NewGlobalCluster(ctx, "example", &rds.GlobalClusterArgs{
			GlobalClusterIdentifier: pulumi.String("global-test"),
			Engine:                  pulumi.String("aurora-postgresql"),
			EngineVersion:           pulumi.String("11.9"),
			DatabaseName:            pulumi.String("example_db"),
		})
		if err != nil {
			return err
		}
		primaryCluster, err := rds.NewCluster(ctx, "primaryCluster", &rds.ClusterArgs{
			Engine:                  example.Engine,
			EngineVersion:           example.EngineVersion,
			ClusterIdentifier:       pulumi.String("test-primary-cluster"),
			MasterUsername:          pulumi.String("username"),
			MasterPassword:          pulumi.String("somepass123"),
			DatabaseName:            pulumi.String("example_db"),
			GlobalClusterIdentifier: example.ID(),
			DbSubnetGroupName:       pulumi.String("default"),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		primaryClusterInstance, err := rds.NewClusterInstance(ctx, "primaryClusterInstance", &rds.ClusterInstanceArgs{
			Engine:            example.Engine,
			EngineVersion:     example.EngineVersion,
			Identifier:        pulumi.String("test-primary-cluster-instance"),
			ClusterIdentifier: primaryCluster.ID(),
			InstanceClass:     pulumi.String("db.r4.large"),
			DbSubnetGroupName: pulumi.String("default"),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		secondaryCluster, err := rds.NewCluster(ctx, "secondaryCluster", &rds.ClusterArgs{
			Engine:                  example.Engine,
			EngineVersion:           example.EngineVersion,
			ClusterIdentifier:       pulumi.String("test-secondary-cluster"),
			GlobalClusterIdentifier: example.ID(),
			SkipFinalSnapshot:       pulumi.Bool(true),
			DbSubnetGroupName:       pulumi.String("default"),
		}, pulumi.Provider(aws.Secondary), pulumi.DependsOn([]pulumi.Resource{
			primaryClusterInstance,
		}))
		if err != nil {
			return err
		}
		_, err = rds.NewClusterInstance(ctx, "secondaryClusterInstance", &rds.ClusterInstanceArgs{
			Engine:            example.Engine,
			EngineVersion:     example.EngineVersion,
			Identifier:        pulumi.String("test-secondary-cluster-instance"),
			ClusterIdentifier: secondaryCluster.ID(),
			InstanceClass:     pulumi.String("db.r4.large"),
			DbSubnetGroupName: pulumi.String("default"),
		}, 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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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 this provider. If the argument is set in the the provider configuration on an imported resource, This provider 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 provider configuration on an imported resource, the provider will always show a difference. To workaround this behavior, either omit the argument from the the provider configuration or use `ignore_changes` to hide the difference, e.g. terraform 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

func (*GlobalCluster) ElementType() reflect.Type

func (*GlobalCluster) ToGlobalClusterOutput

func (i *GlobalCluster) ToGlobalClusterOutput() GlobalClusterOutput

func (*GlobalCluster) ToGlobalClusterOutputWithContext

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
	// Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `sourceDbClusterIdentifier`.
	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
	// Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value.
	SourceDbClusterIdentifier pulumi.StringPtrInput
	// Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided.
	StorageEncrypted pulumi.BoolPtrInput
}

The set of arguments for constructing a GlobalCluster resource.

func (GlobalClusterArgs) ElementType

func (GlobalClusterArgs) ElementType() reflect.Type

type GlobalClusterArray

type GlobalClusterArray []GlobalClusterInput

func (GlobalClusterArray) ElementType

func (GlobalClusterArray) ElementType() reflect.Type

func (GlobalClusterArray) ToGlobalClusterArrayOutput

func (i GlobalClusterArray) ToGlobalClusterArrayOutput() GlobalClusterArrayOutput

func (GlobalClusterArray) ToGlobalClusterArrayOutputWithContext

func (i GlobalClusterArray) ToGlobalClusterArrayOutputWithContext(ctx context.Context) GlobalClusterArrayOutput

type GlobalClusterArrayInput

type GlobalClusterArrayInput interface {
	pulumi.Input

	ToGlobalClusterArrayOutput() GlobalClusterArrayOutput
	ToGlobalClusterArrayOutputWithContext(context.Context) GlobalClusterArrayOutput
}

GlobalClusterArrayInput is an input type that accepts GlobalClusterArray and GlobalClusterArrayOutput values. You can construct a concrete instance of `GlobalClusterArrayInput` via:

GlobalClusterArray{ GlobalClusterArgs{...} }

type GlobalClusterArrayOutput

type GlobalClusterArrayOutput struct{ *pulumi.OutputState }

func (GlobalClusterArrayOutput) ElementType

func (GlobalClusterArrayOutput) ElementType() reflect.Type

func (GlobalClusterArrayOutput) Index

func (GlobalClusterArrayOutput) ToGlobalClusterArrayOutput

func (o GlobalClusterArrayOutput) ToGlobalClusterArrayOutput() GlobalClusterArrayOutput

func (GlobalClusterArrayOutput) ToGlobalClusterArrayOutputWithContext

func (o GlobalClusterArrayOutput) ToGlobalClusterArrayOutputWithContext(ctx context.Context) GlobalClusterArrayOutput

type GlobalClusterGlobalClusterMember

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

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

func (GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutput

func (i GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutput() GlobalClusterGlobalClusterMemberOutput

func (GlobalClusterGlobalClusterMemberArgs) ToGlobalClusterGlobalClusterMemberOutputWithContext

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

type GlobalClusterGlobalClusterMemberArray

type GlobalClusterGlobalClusterMemberArray []GlobalClusterGlobalClusterMemberInput

func (GlobalClusterGlobalClusterMemberArray) ElementType

func (GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutput

func (i GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutput() GlobalClusterGlobalClusterMemberArrayOutput

func (GlobalClusterGlobalClusterMemberArray) ToGlobalClusterGlobalClusterMemberArrayOutputWithContext

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

type GlobalClusterGlobalClusterMemberArrayInput

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

type GlobalClusterGlobalClusterMemberArrayOutput struct{ *pulumi.OutputState }

func (GlobalClusterGlobalClusterMemberArrayOutput) ElementType

func (GlobalClusterGlobalClusterMemberArrayOutput) Index

func (GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutput

func (o GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutput() GlobalClusterGlobalClusterMemberArrayOutput

func (GlobalClusterGlobalClusterMemberArrayOutput) ToGlobalClusterGlobalClusterMemberArrayOutputWithContext

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

type GlobalClusterGlobalClusterMemberInput

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

type GlobalClusterGlobalClusterMemberOutput struct{ *pulumi.OutputState }

func (GlobalClusterGlobalClusterMemberOutput) DbClusterArn

Amazon Resource Name (ARN) of member DB Cluster

func (GlobalClusterGlobalClusterMemberOutput) ElementType

func (GlobalClusterGlobalClusterMemberOutput) IsWriter

Whether the member is the primary DB Cluster

func (GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutput

func (o GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutput() GlobalClusterGlobalClusterMemberOutput

func (GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemberOutputWithContext

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

type GlobalClusterInput

type GlobalClusterInput interface {
	pulumi.Input

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

type GlobalClusterMap

type GlobalClusterMap map[string]GlobalClusterInput

func (GlobalClusterMap) ElementType

func (GlobalClusterMap) ElementType() reflect.Type

func (GlobalClusterMap) ToGlobalClusterMapOutput

func (i GlobalClusterMap) ToGlobalClusterMapOutput() GlobalClusterMapOutput

func (GlobalClusterMap) ToGlobalClusterMapOutputWithContext

func (i GlobalClusterMap) ToGlobalClusterMapOutputWithContext(ctx context.Context) GlobalClusterMapOutput

type GlobalClusterMapInput

type GlobalClusterMapInput interface {
	pulumi.Input

	ToGlobalClusterMapOutput() GlobalClusterMapOutput
	ToGlobalClusterMapOutputWithContext(context.Context) GlobalClusterMapOutput
}

GlobalClusterMapInput is an input type that accepts GlobalClusterMap and GlobalClusterMapOutput values. You can construct a concrete instance of `GlobalClusterMapInput` via:

GlobalClusterMap{ "key": GlobalClusterArgs{...} }

type GlobalClusterMapOutput

type GlobalClusterMapOutput struct{ *pulumi.OutputState }

func (GlobalClusterMapOutput) ElementType

func (GlobalClusterMapOutput) ElementType() reflect.Type

func (GlobalClusterMapOutput) MapIndex

func (GlobalClusterMapOutput) ToGlobalClusterMapOutput

func (o GlobalClusterMapOutput) ToGlobalClusterMapOutput() GlobalClusterMapOutput

func (GlobalClusterMapOutput) ToGlobalClusterMapOutputWithContext

func (o GlobalClusterMapOutput) ToGlobalClusterMapOutputWithContext(ctx context.Context) GlobalClusterMapOutput

type GlobalClusterOutput

type GlobalClusterOutput struct{ *pulumi.OutputState }

func (GlobalClusterOutput) ElementType

func (GlobalClusterOutput) ElementType() reflect.Type

func (GlobalClusterOutput) ToGlobalClusterOutput

func (o GlobalClusterOutput) ToGlobalClusterOutput() GlobalClusterOutput

func (GlobalClusterOutput) ToGlobalClusterOutputWithContext

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
	// Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `sourceDbClusterIdentifier`.
	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
	// Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value.
	SourceDbClusterIdentifier pulumi.StringPtrInput
	// Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided.
	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. If `replicateSourceDb` is set, the value is ignored during the creation of the instance.
	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"`
	// Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information.
	CustomerOwnedIpEnabled pulumi.BoolPtrOutput `pulumi:"customerOwnedIpEnabled"`
	// 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`).
	// The actual engine version used is returned in the attribute `engineVersionActual`, defined below.
	// 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 running version of the database.
	EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"`
	// The name of your final DB snapshot
	// when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is
	// set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.
	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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case.
	Name pulumi.StringOutput `pulumi:"name"`
	// The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets
	// Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html).
	NcharCharacterSetName pulumi.StringOutput `pulumi:"ncharCharacterSetName"`
	// 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"`
	// Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute
	// is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information.
	ReplicaMode pulumi.StringPtrOutput   `pulumi:"replicaMode"`
	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.StringOutput `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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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.

## 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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{
			AllocatedStorage:   pulumi.Int(10),
			Engine:             pulumi.String("mysql"),
			EngineVersion:      pulumi.String("5.7"),
			InstanceClass:      pulumi.String("db.t3.micro"),
			Name:               pulumi.String("mydb"),
			ParameterGroupName: pulumi.String("default.mysql5.7"),
			Password:           pulumi.String("foobarbaz"),
			SkipFinalSnapshot:  pulumi.Bool(true),
			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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

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. If `replicateSourceDb` is set, the value is ignored during the creation of the instance.
	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
	// Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information.
	CustomerOwnedIpEnabled 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`).
	// The actual engine version used is returned in the attribute `engineVersionActual`, defined below.
	// 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`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.
	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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case.
	Name pulumi.StringPtrInput
	// The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets
	// Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html).
	NcharCharacterSetName 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 whether the replica is in either `mounted` or `open-read-only` mode. This attribute
	// is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information.
	ReplicaMode pulumi.StringPtrInput
	// 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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 InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceInput

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

type InstanceRestoreToPointInTime

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

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

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutput

func (i InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutput() InstanceRestoreToPointInTimeOutput

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimeOutputWithContext

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

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutput

func (i InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimeArgs) ToInstanceRestoreToPointInTimePtrOutputWithContext

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

type InstanceRestoreToPointInTimeInput

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

type InstanceRestoreToPointInTimeOutput struct{ *pulumi.OutputState }

func (InstanceRestoreToPointInTimeOutput) ElementType

func (InstanceRestoreToPointInTimeOutput) RestoreTime

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

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

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

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutput

func (o InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutput() InstanceRestoreToPointInTimeOutput

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimeOutputWithContext

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

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutput

func (o InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimeOutput) ToInstanceRestoreToPointInTimePtrOutputWithContext

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

func (InstanceRestoreToPointInTimeOutput) UseLatestRestorableTime

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

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

type InstanceRestoreToPointInTimePtrOutput

type InstanceRestoreToPointInTimePtrOutput struct{ *pulumi.OutputState }

func (InstanceRestoreToPointInTimePtrOutput) Elem

func (InstanceRestoreToPointInTimePtrOutput) ElementType

func (InstanceRestoreToPointInTimePtrOutput) RestoreTime

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

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

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

func (InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutput

func (o InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutput() InstanceRestoreToPointInTimePtrOutput

func (InstanceRestoreToPointInTimePtrOutput) ToInstanceRestoreToPointInTimePtrOutputWithContext

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

func (InstanceRestoreToPointInTimePtrOutput) UseLatestRestorableTime

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. If `replicateSourceDb` is set, the value is ignored during the creation of the instance.
	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
	// Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information.
	CustomerOwnedIpEnabled 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`).
	// The actual engine version used is returned in the attribute `engineVersionActual`, defined below.
	// 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 running version of the database.
	EngineVersionActual pulumi.StringPtrInput
	// The name of your final DB snapshot
	// when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is
	// set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.
	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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case.
	Name pulumi.StringPtrInput
	// The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets
	// Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html).
	NcharCharacterSetName 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 whether the replica is in either `mounted` or `open-read-only` mode. This attribute
	// is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information.
	ReplicaMode pulumi.StringPtrInput
	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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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

type InstanceType string

func (InstanceType) ElementType

func (InstanceType) ElementType() reflect.Type

func (InstanceType) ToInstanceTypeOutput added in v4.13.0

func (e InstanceType) ToInstanceTypeOutput() InstanceTypeOutput

func (InstanceType) ToInstanceTypeOutputWithContext added in v4.13.0

func (e InstanceType) ToInstanceTypeOutputWithContext(ctx context.Context) InstanceTypeOutput

func (InstanceType) ToInstanceTypePtrOutput added in v4.13.0

func (e InstanceType) ToInstanceTypePtrOutput() InstanceTypePtrOutput

func (InstanceType) ToInstanceTypePtrOutputWithContext added in v4.13.0

func (e InstanceType) ToInstanceTypePtrOutputWithContext(ctx context.Context) InstanceTypePtrOutput

func (InstanceType) ToStringOutput

func (e InstanceType) ToStringOutput() pulumi.StringOutput

func (InstanceType) ToStringOutputWithContext

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

func (InstanceType) ToStringPtrOutput

func (e InstanceType) ToStringPtrOutput() pulumi.StringPtrOutput

func (InstanceType) ToStringPtrOutputWithContext

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

type InstanceTypeInput added in v4.13.0

type InstanceTypeInput interface {
	pulumi.Input

	ToInstanceTypeOutput() InstanceTypeOutput
	ToInstanceTypeOutputWithContext(context.Context) InstanceTypeOutput
}

InstanceTypeInput is an input type that accepts InstanceTypeArgs and InstanceTypeOutput values. You can construct a concrete instance of `InstanceTypeInput` via:

InstanceTypeArgs{...}

type InstanceTypeOutput added in v4.13.0

type InstanceTypeOutput struct{ *pulumi.OutputState }

func (InstanceTypeOutput) ElementType added in v4.13.0

func (InstanceTypeOutput) ElementType() reflect.Type

func (InstanceTypeOutput) ToInstanceTypeOutput added in v4.13.0

func (o InstanceTypeOutput) ToInstanceTypeOutput() InstanceTypeOutput

func (InstanceTypeOutput) ToInstanceTypeOutputWithContext added in v4.13.0

func (o InstanceTypeOutput) ToInstanceTypeOutputWithContext(ctx context.Context) InstanceTypeOutput

func (InstanceTypeOutput) ToInstanceTypePtrOutput added in v4.13.0

func (o InstanceTypeOutput) ToInstanceTypePtrOutput() InstanceTypePtrOutput

func (InstanceTypeOutput) ToInstanceTypePtrOutputWithContext added in v4.13.0

func (o InstanceTypeOutput) ToInstanceTypePtrOutputWithContext(ctx context.Context) InstanceTypePtrOutput

func (InstanceTypeOutput) ToStringOutput added in v4.13.0

func (o InstanceTypeOutput) ToStringOutput() pulumi.StringOutput

func (InstanceTypeOutput) ToStringOutputWithContext added in v4.13.0

func (o InstanceTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (InstanceTypeOutput) ToStringPtrOutput added in v4.13.0

func (o InstanceTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (InstanceTypeOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o InstanceTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type InstanceTypePtrInput added in v4.13.0

type InstanceTypePtrInput interface {
	pulumi.Input

	ToInstanceTypePtrOutput() InstanceTypePtrOutput
	ToInstanceTypePtrOutputWithContext(context.Context) InstanceTypePtrOutput
}

func InstanceTypePtr added in v4.13.0

func InstanceTypePtr(v string) InstanceTypePtrInput

type InstanceTypePtrOutput added in v4.13.0

type InstanceTypePtrOutput struct{ *pulumi.OutputState }

func (InstanceTypePtrOutput) Elem added in v4.13.0

func (InstanceTypePtrOutput) ElementType added in v4.13.0

func (InstanceTypePtrOutput) ElementType() reflect.Type

func (InstanceTypePtrOutput) ToInstanceTypePtrOutput added in v4.13.0

func (o InstanceTypePtrOutput) ToInstanceTypePtrOutput() InstanceTypePtrOutput

func (InstanceTypePtrOutput) ToInstanceTypePtrOutputWithContext added in v4.13.0

func (o InstanceTypePtrOutput) ToInstanceTypePtrOutputWithContext(ctx context.Context) InstanceTypePtrOutput

func (InstanceTypePtrOutput) ToStringPtrOutput added in v4.13.0

func (o InstanceTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (InstanceTypePtrOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o InstanceTypePtrOutput) 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 LookupClusterOutputArgs added in v4.21.0

type LookupClusterOutputArgs struct {
	// The cluster identifier of the RDS cluster.
	ClusterIdentifier pulumi.StringInput    `pulumi:"clusterIdentifier"`
	Tags              pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType added in v4.21.0

func (LookupClusterOutputArgs) ElementType() reflect.Type

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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 LookupClusterResultOutput added in v4.21.0

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func LookupClusterOutput added in v4.21.0

func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput

func (LookupClusterResultOutput) Arn added in v4.21.0

func (LookupClusterResultOutput) AvailabilityZones added in v4.21.0

func (o LookupClusterResultOutput) AvailabilityZones() pulumi.StringArrayOutput

func (LookupClusterResultOutput) BacktrackWindow added in v4.21.0

func (o LookupClusterResultOutput) BacktrackWindow() pulumi.IntOutput

func (LookupClusterResultOutput) BackupRetentionPeriod added in v4.21.0

func (o LookupClusterResultOutput) BackupRetentionPeriod() pulumi.IntOutput

func (LookupClusterResultOutput) ClusterIdentifier added in v4.21.0

func (o LookupClusterResultOutput) ClusterIdentifier() pulumi.StringOutput

func (LookupClusterResultOutput) ClusterMembers added in v4.21.0

func (LookupClusterResultOutput) ClusterResourceId added in v4.21.0

func (o LookupClusterResultOutput) ClusterResourceId() pulumi.StringOutput

func (LookupClusterResultOutput) DatabaseName added in v4.21.0

func (LookupClusterResultOutput) DbClusterParameterGroupName added in v4.21.0

func (o LookupClusterResultOutput) DbClusterParameterGroupName() pulumi.StringOutput

func (LookupClusterResultOutput) DbSubnetGroupName added in v4.21.0

func (o LookupClusterResultOutput) DbSubnetGroupName() pulumi.StringOutput

func (LookupClusterResultOutput) ElementType added in v4.21.0

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) EnabledCloudwatchLogsExports added in v4.21.0

func (o LookupClusterResultOutput) EnabledCloudwatchLogsExports() pulumi.StringArrayOutput

func (LookupClusterResultOutput) Endpoint added in v4.21.0

func (LookupClusterResultOutput) Engine added in v4.21.0

func (LookupClusterResultOutput) EngineVersion added in v4.21.0

func (o LookupClusterResultOutput) EngineVersion() pulumi.StringOutput

func (LookupClusterResultOutput) FinalSnapshotIdentifier added in v4.21.0

func (o LookupClusterResultOutput) FinalSnapshotIdentifier() pulumi.StringOutput

func (LookupClusterResultOutput) HostedZoneId added in v4.21.0

func (LookupClusterResultOutput) IamDatabaseAuthenticationEnabled added in v4.21.0

func (o LookupClusterResultOutput) IamDatabaseAuthenticationEnabled() pulumi.BoolOutput

func (LookupClusterResultOutput) IamRoles added in v4.21.0

func (LookupClusterResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) KmsKeyId added in v4.21.0

func (LookupClusterResultOutput) MasterUsername added in v4.21.0

func (o LookupClusterResultOutput) MasterUsername() pulumi.StringOutput

func (LookupClusterResultOutput) Port added in v4.21.0

func (LookupClusterResultOutput) PreferredBackupWindow added in v4.21.0

func (o LookupClusterResultOutput) PreferredBackupWindow() pulumi.StringOutput

func (LookupClusterResultOutput) PreferredMaintenanceWindow added in v4.21.0

func (o LookupClusterResultOutput) PreferredMaintenanceWindow() pulumi.StringOutput

func (LookupClusterResultOutput) ReaderEndpoint added in v4.21.0

func (o LookupClusterResultOutput) ReaderEndpoint() pulumi.StringOutput

func (LookupClusterResultOutput) ReplicationSourceIdentifier added in v4.21.0

func (o LookupClusterResultOutput) ReplicationSourceIdentifier() pulumi.StringOutput

func (LookupClusterResultOutput) StorageEncrypted added in v4.21.0

func (o LookupClusterResultOutput) StorageEncrypted() pulumi.BoolOutput

func (LookupClusterResultOutput) Tags added in v4.21.0

func (LookupClusterResultOutput) ToLookupClusterResultOutput added in v4.21.0

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext added in v4.21.0

func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput

func (LookupClusterResultOutput) VpcSecurityGroupIds added in v4.21.0

func (o LookupClusterResultOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput

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`, `public` and `awsbackup`.
	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 LookupClusterSnapshotOutputArgs added in v4.21.0

type LookupClusterSnapshotOutputArgs struct {
	// Returns the list of snapshots created by the specific db_cluster
	DbClusterIdentifier pulumi.StringPtrInput `pulumi:"dbClusterIdentifier"`
	// Returns information on a specific snapshot_id.
	DbClusterSnapshotIdentifier pulumi.StringPtrInput `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 pulumi.BoolPtrInput `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 pulumi.BoolPtrInput `pulumi:"includeShared"`
	// If more than one result is returned, use the most recent Snapshot.
	MostRecent pulumi.BoolPtrInput `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`, `public` and `awsbackup`.
	SnapshotType pulumi.StringPtrInput `pulumi:"snapshotType"`
	// A map of tags for the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getClusterSnapshot.

func (LookupClusterSnapshotOutputArgs) ElementType added in v4.21.0

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		developmentFinalSnapshot, err := rds.LookupClusterSnapshot(ctx, &rds.LookupClusterSnapshotArgs{
			DbClusterIdentifier: pulumi.StringRef("development_cluster"),
			MostRecent:          pulumi.BoolRef(true),
		}, nil)
		if err != nil {
			return err
		}
		auroraCluster, err := rds.NewCluster(ctx, "auroraCluster", &rds.ClusterArgs{
			ClusterIdentifier:  pulumi.String("development_cluster"),
			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 LookupClusterSnapshotResultOutput added in v4.21.0

type LookupClusterSnapshotResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClusterSnapshot.

func LookupClusterSnapshotOutput added in v4.21.0

func (LookupClusterSnapshotResultOutput) AllocatedStorage added in v4.21.0

func (o LookupClusterSnapshotResultOutput) AllocatedStorage() pulumi.IntOutput

Specifies the allocated storage size in gigabytes (GB).

func (LookupClusterSnapshotResultOutput) AvailabilityZones added in v4.21.0

List of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

func (LookupClusterSnapshotResultOutput) DbClusterIdentifier added in v4.21.0

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

func (LookupClusterSnapshotResultOutput) DbClusterSnapshotArn added in v4.21.0

func (o LookupClusterSnapshotResultOutput) DbClusterSnapshotArn() pulumi.StringOutput

The Amazon Resource Name (ARN) for the DB Cluster Snapshot.

func (LookupClusterSnapshotResultOutput) DbClusterSnapshotIdentifier added in v4.21.0

func (o LookupClusterSnapshotResultOutput) DbClusterSnapshotIdentifier() pulumi.StringPtrOutput

func (LookupClusterSnapshotResultOutput) ElementType added in v4.21.0

func (LookupClusterSnapshotResultOutput) Engine added in v4.21.0

Specifies the name of the database engine.

func (LookupClusterSnapshotResultOutput) EngineVersion added in v4.21.0

Version of the database engine for this DB cluster snapshot.

func (LookupClusterSnapshotResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupClusterSnapshotResultOutput) IncludePublic added in v4.21.0

func (LookupClusterSnapshotResultOutput) IncludeShared added in v4.21.0

func (LookupClusterSnapshotResultOutput) KmsKeyId added in v4.21.0

If storageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

func (LookupClusterSnapshotResultOutput) LicenseModel added in v4.21.0

License model information for the restored DB cluster.

func (LookupClusterSnapshotResultOutput) MostRecent added in v4.21.0

func (LookupClusterSnapshotResultOutput) Port added in v4.21.0

Port that the DB cluster was listening on at the time of the snapshot.

func (LookupClusterSnapshotResultOutput) SnapshotCreateTime added in v4.21.0

func (o LookupClusterSnapshotResultOutput) SnapshotCreateTime() pulumi.StringOutput

Time when the snapshot was taken, in Universal Coordinated Time (UTC).

func (LookupClusterSnapshotResultOutput) SnapshotType added in v4.21.0

func (LookupClusterSnapshotResultOutput) SourceDbClusterSnapshotArn added in v4.21.0

func (o LookupClusterSnapshotResultOutput) SourceDbClusterSnapshotArn() pulumi.StringOutput

func (LookupClusterSnapshotResultOutput) Status added in v4.21.0

The status of this DB Cluster Snapshot.

func (LookupClusterSnapshotResultOutput) StorageEncrypted added in v4.21.0

Specifies whether the DB cluster snapshot is encrypted.

func (LookupClusterSnapshotResultOutput) Tags added in v4.21.0

A map of tags for the resource.

func (LookupClusterSnapshotResultOutput) ToLookupClusterSnapshotResultOutput added in v4.21.0

func (o LookupClusterSnapshotResultOutput) ToLookupClusterSnapshotResultOutput() LookupClusterSnapshotResultOutput

func (LookupClusterSnapshotResultOutput) ToLookupClusterSnapshotResultOutputWithContext added in v4.21.0

func (o LookupClusterSnapshotResultOutput) ToLookupClusterSnapshotResultOutputWithContext(ctx context.Context) LookupClusterSnapshotResultOutput

func (LookupClusterSnapshotResultOutput) VpcId added in v4.21.0

The VPC ID associated with the DB cluster snapshot.

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 LookupInstanceOutputArgs added in v4.21.0

type LookupInstanceOutputArgs struct {
	// The name of the RDS instance
	DbInstanceIdentifier pulumi.StringInput    `pulumi:"dbInstanceIdentifier"`
	Tags                 pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getInstance.

func (LookupInstanceOutputArgs) ElementType added in v4.21.0

func (LookupInstanceOutputArgs) ElementType() reflect.Type

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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 LookupInstanceResultOutput added in v4.21.0

type LookupInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstance.

func LookupInstanceOutput added in v4.21.0

func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceResultOutput

func (LookupInstanceResultOutput) Address added in v4.21.0

The hostname of the RDS instance. See also `endpoint` and `port`.

func (LookupInstanceResultOutput) AllocatedStorage added in v4.21.0

func (o LookupInstanceResultOutput) AllocatedStorage() pulumi.IntOutput

Specifies the allocated storage size specified in gigabytes.

func (LookupInstanceResultOutput) AutoMinorVersionUpgrade added in v4.21.0

func (o LookupInstanceResultOutput) AutoMinorVersionUpgrade() pulumi.BoolOutput

Indicates that minor version patches are applied automatically.

func (LookupInstanceResultOutput) AvailabilityZone added in v4.21.0

func (o LookupInstanceResultOutput) AvailabilityZone() pulumi.StringOutput

Specifies the name of the Availability Zone the DB instance is located in.

func (LookupInstanceResultOutput) BackupRetentionPeriod added in v4.21.0

func (o LookupInstanceResultOutput) BackupRetentionPeriod() pulumi.IntOutput

Specifies the number of days for which automatic DB snapshots are retained.

func (LookupInstanceResultOutput) CaCertIdentifier added in v4.21.0

func (o LookupInstanceResultOutput) CaCertIdentifier() pulumi.StringOutput

Specifies the identifier of the CA certificate for the DB instance.

func (LookupInstanceResultOutput) DbClusterIdentifier added in v4.21.0

func (o LookupInstanceResultOutput) DbClusterIdentifier() pulumi.StringOutput

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.

func (LookupInstanceResultOutput) DbInstanceArn added in v4.21.0

The Amazon Resource Name (ARN) for the DB instance.

func (LookupInstanceResultOutput) DbInstanceClass added in v4.21.0

func (o LookupInstanceResultOutput) DbInstanceClass() pulumi.StringOutput

Contains the name of the compute and memory capacity class of the DB instance.

func (LookupInstanceResultOutput) DbInstanceIdentifier added in v4.21.0

func (o LookupInstanceResultOutput) DbInstanceIdentifier() pulumi.StringOutput

func (LookupInstanceResultOutput) DbInstancePort added in v4.21.0

func (o LookupInstanceResultOutput) DbInstancePort() pulumi.IntOutput

Specifies the port that the DB instance listens on.

func (LookupInstanceResultOutput) DbName added in v4.21.0

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.

func (LookupInstanceResultOutput) DbParameterGroups added in v4.21.0

func (o LookupInstanceResultOutput) DbParameterGroups() pulumi.StringArrayOutput

Provides the list of DB parameter groups applied to this DB instance.

func (LookupInstanceResultOutput) DbSecurityGroups added in v4.21.0

Provides List of DB security groups associated to this DB instance.

func (LookupInstanceResultOutput) DbSubnetGroup added in v4.21.0

Specifies the name of the subnet group associated with the DB instance.

func (LookupInstanceResultOutput) ElementType added in v4.21.0

func (LookupInstanceResultOutput) ElementType() reflect.Type

func (LookupInstanceResultOutput) EnabledCloudwatchLogsExports added in v4.21.0

func (o LookupInstanceResultOutput) EnabledCloudwatchLogsExports() pulumi.StringArrayOutput

List of log types to export to cloudwatch.

func (LookupInstanceResultOutput) Endpoint added in v4.21.0

The connection endpoint in `address:port` format.

func (LookupInstanceResultOutput) Engine added in v4.21.0

Provides the name of the database engine to be used for this DB instance.

func (LookupInstanceResultOutput) EngineVersion added in v4.21.0

Indicates the database engine version.

func (LookupInstanceResultOutput) HostedZoneId added in v4.21.0

The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record).

func (LookupInstanceResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupInstanceResultOutput) Iops added in v4.21.0

Specifies the Provisioned IOPS (I/O operations per second) value.

func (LookupInstanceResultOutput) KmsKeyId added in v4.21.0

If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance.

func (LookupInstanceResultOutput) LicenseModel added in v4.21.0

License model information for this DB instance.

func (LookupInstanceResultOutput) MasterUsername added in v4.21.0

func (o LookupInstanceResultOutput) MasterUsername() pulumi.StringOutput

Contains the master username for the DB instance.

func (LookupInstanceResultOutput) MonitoringInterval added in v4.21.0

func (o LookupInstanceResultOutput) MonitoringInterval() pulumi.IntOutput

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

func (LookupInstanceResultOutput) MonitoringRoleArn added in v4.21.0

func (o LookupInstanceResultOutput) MonitoringRoleArn() pulumi.StringOutput

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.

func (LookupInstanceResultOutput) MultiAz added in v4.21.0

Specifies if the DB instance is a Multi-AZ deployment.

func (LookupInstanceResultOutput) OptionGroupMemberships added in v4.21.0

func (o LookupInstanceResultOutput) OptionGroupMemberships() pulumi.StringArrayOutput

Provides the list of option group memberships for this DB instance.

func (LookupInstanceResultOutput) Port added in v4.21.0

The database port.

func (LookupInstanceResultOutput) PreferredBackupWindow added in v4.21.0

func (o LookupInstanceResultOutput) PreferredBackupWindow() pulumi.StringOutput

Specifies the daily time range during which automated backups are created.

func (LookupInstanceResultOutput) PreferredMaintenanceWindow added in v4.21.0

func (o LookupInstanceResultOutput) PreferredMaintenanceWindow() pulumi.StringOutput

Specifies the weekly time range during which system maintenance can occur in UTC.

func (LookupInstanceResultOutput) PubliclyAccessible added in v4.21.0

func (o LookupInstanceResultOutput) PubliclyAccessible() pulumi.BoolOutput

Specifies the accessibility options for the DB instance.

func (LookupInstanceResultOutput) ReplicateSourceDb added in v4.21.0

func (o LookupInstanceResultOutput) ReplicateSourceDb() pulumi.StringOutput

The identifier of the source DB that this is a replica of.

func (LookupInstanceResultOutput) ResourceId added in v4.21.0

The RDS Resource ID of this instance.

func (LookupInstanceResultOutput) StorageEncrypted added in v4.21.0

func (o LookupInstanceResultOutput) StorageEncrypted() pulumi.BoolOutput

Specifies whether the DB instance is encrypted.

func (LookupInstanceResultOutput) StorageType added in v4.21.0

Specifies the storage type associated with DB instance.

func (LookupInstanceResultOutput) Tags added in v4.21.0

func (LookupInstanceResultOutput) Timezone added in v4.21.0

The time zone of the DB instance.

func (LookupInstanceResultOutput) ToLookupInstanceResultOutput added in v4.21.0

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutput() LookupInstanceResultOutput

func (LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext added in v4.21.0

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext(ctx context.Context) LookupInstanceResultOutput

func (LookupInstanceResultOutput) VpcSecurityGroups added in v4.21.0

func (o LookupInstanceResultOutput) VpcSecurityGroups() pulumi.StringArrayOutput

Provides a list of VPC security group elements that the DB instance belongs to.

type LookupProxyArgs added in v4.23.0

type LookupProxyArgs struct {
	// The name of the DB proxy.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getProxy.

type LookupProxyOutputArgs added in v4.23.0

type LookupProxyOutputArgs struct {
	// The name of the DB proxy.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getProxy.

func (LookupProxyOutputArgs) ElementType added in v4.23.0

func (LookupProxyOutputArgs) ElementType() reflect.Type

type LookupProxyResult added in v4.23.0

type LookupProxyResult struct {
	// The ARN of the DB Proxy.
	Arn string `pulumi:"arn"`
	// The configuration(s) with authorization mechanisms to connect to the associated instance or cluster.
	Auths []GetProxyAuth `pulumi:"auths"`
	// Whether the proxy includes detailed information about SQL statements in its logs.
	DebugLogging bool `pulumi:"debugLogging"`
	// The endpoint that you can use to connect to the DB proxy.
	Endpoint string `pulumi:"endpoint"`
	// The kinds of databases that the proxy can connect to.
	EngineFamily string `pulumi:"engineFamily"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The number of seconds a connection to the proxy can have no activity before the proxy drops the client connection.
	IdleClientTimeout int    `pulumi:"idleClientTimeout"`
	Name              string `pulumi:"name"`
	// Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.
	RequireTls bool `pulumi:"requireTls"`
	// The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access Amazon Secrets Manager.
	RoleArn string `pulumi:"roleArn"`
	// Provides the VPC ID of the DB proxy.
	VpcId string `pulumi:"vpcId"`
	// Provides a list of VPC security groups that the proxy belongs to.
	VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"`
	// The EC2 subnet IDs for the proxy.
	VpcSubnetIds []string `pulumi:"vpcSubnetIds"`
}

A collection of values returned by getProxy.

func LookupProxy added in v4.23.0

func LookupProxy(ctx *pulumi.Context, args *LookupProxyArgs, opts ...pulumi.InvokeOption) (*LookupProxyResult, error)

Use this data source to get information about a DB Proxy.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.LookupProxy(ctx, &rds.LookupProxyArgs{
			Name: "my-test-db-proxy",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupProxyResultOutput added in v4.23.0

type LookupProxyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProxy.

func LookupProxyOutput added in v4.23.0

func LookupProxyOutput(ctx *pulumi.Context, args LookupProxyOutputArgs, opts ...pulumi.InvokeOption) LookupProxyResultOutput

func (LookupProxyResultOutput) Arn added in v4.23.0

The ARN of the DB Proxy.

func (LookupProxyResultOutput) Auths added in v4.23.0

The configuration(s) with authorization mechanisms to connect to the associated instance or cluster.

func (LookupProxyResultOutput) DebugLogging added in v4.23.0

func (o LookupProxyResultOutput) DebugLogging() pulumi.BoolOutput

Whether the proxy includes detailed information about SQL statements in its logs.

func (LookupProxyResultOutput) ElementType added in v4.23.0

func (LookupProxyResultOutput) ElementType() reflect.Type

func (LookupProxyResultOutput) Endpoint added in v4.23.0

The endpoint that you can use to connect to the DB proxy.

func (LookupProxyResultOutput) EngineFamily added in v4.23.0

func (o LookupProxyResultOutput) EngineFamily() pulumi.StringOutput

The kinds of databases that the proxy can connect to.

func (LookupProxyResultOutput) Id added in v4.23.0

The provider-assigned unique ID for this managed resource.

func (LookupProxyResultOutput) IdleClientTimeout added in v4.23.0

func (o LookupProxyResultOutput) IdleClientTimeout() pulumi.IntOutput

The number of seconds a connection to the proxy can have no activity before the proxy drops the client connection.

func (LookupProxyResultOutput) Name added in v4.23.0

func (LookupProxyResultOutput) RequireTls added in v4.23.0

func (o LookupProxyResultOutput) RequireTls() pulumi.BoolOutput

Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

func (LookupProxyResultOutput) RoleArn added in v4.23.0

The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access Amazon Secrets Manager.

func (LookupProxyResultOutput) ToLookupProxyResultOutput added in v4.23.0

func (o LookupProxyResultOutput) ToLookupProxyResultOutput() LookupProxyResultOutput

func (LookupProxyResultOutput) ToLookupProxyResultOutputWithContext added in v4.23.0

func (o LookupProxyResultOutput) ToLookupProxyResultOutputWithContext(ctx context.Context) LookupProxyResultOutput

func (LookupProxyResultOutput) VpcId added in v4.23.0

Provides the VPC ID of the DB proxy.

func (LookupProxyResultOutput) VpcSecurityGroupIds added in v4.23.0

func (o LookupProxyResultOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput

Provides a list of VPC security groups that the proxy belongs to.

func (LookupProxyResultOutput) VpcSubnetIds added in v4.23.0

The EC2 subnet IDs for the proxy.

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`, `public` and `awsbackup`.
	SnapshotType *string `pulumi:"snapshotType"`
}

A collection of arguments for invoking getSnapshot.

type LookupSnapshotOutputArgs added in v4.21.0

type LookupSnapshotOutputArgs struct {
	// Returns the list of snapshots created by the specific db_instance
	DbInstanceIdentifier pulumi.StringPtrInput `pulumi:"dbInstanceIdentifier"`
	// Returns information on a specific snapshot_id.
	DbSnapshotIdentifier pulumi.StringPtrInput `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 pulumi.BoolPtrInput `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 pulumi.BoolPtrInput `pulumi:"includeShared"`
	// If more than one result is returned, use the most
	// recent Snapshot.
	MostRecent pulumi.BoolPtrInput `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`, `public` and `awsbackup`.
	SnapshotType pulumi.StringPtrInput `pulumi:"snapshotType"`
}

A collection of arguments for invoking getSnapshot.

func (LookupSnapshotOutputArgs) ElementType added in v4.21.0

func (LookupSnapshotOutputArgs) ElementType() reflect.Type

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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
		}
		latestProdSnapshot := rds.LookupSnapshotOutput(ctx, rds.GetSnapshotOutputArgs{
			DbInstanceIdentifier: prod.ID(),
			MostRecent:           pulumi.Bool(true),
		}, nil)
		_, err = rds.NewInstance(ctx, "dev", &rds.InstanceArgs{
			InstanceClass: pulumi.String("db.t2.micro"),
			Name:          pulumi.String("mydbdev"),
			SnapshotIdentifier: latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.GetSnapshotResult) (string, error) {
				return latestProdSnapshot.Id, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSnapshotResultOutput added in v4.21.0

type LookupSnapshotResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshot.

func LookupSnapshotOutput added in v4.21.0

func LookupSnapshotOutput(ctx *pulumi.Context, args LookupSnapshotOutputArgs, opts ...pulumi.InvokeOption) LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) AllocatedStorage added in v4.21.0

func (o LookupSnapshotResultOutput) AllocatedStorage() pulumi.IntOutput

Specifies the allocated storage size in gigabytes (GB).

func (LookupSnapshotResultOutput) AvailabilityZone added in v4.21.0

func (o LookupSnapshotResultOutput) AvailabilityZone() pulumi.StringOutput

Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

func (LookupSnapshotResultOutput) DbInstanceIdentifier added in v4.21.0

func (o LookupSnapshotResultOutput) DbInstanceIdentifier() pulumi.StringPtrOutput

func (LookupSnapshotResultOutput) DbSnapshotArn added in v4.21.0

The Amazon Resource Name (ARN) for the DB snapshot.

func (LookupSnapshotResultOutput) DbSnapshotIdentifier added in v4.21.0

func (o LookupSnapshotResultOutput) DbSnapshotIdentifier() pulumi.StringPtrOutput

func (LookupSnapshotResultOutput) ElementType added in v4.21.0

func (LookupSnapshotResultOutput) ElementType() reflect.Type

func (LookupSnapshotResultOutput) Encrypted added in v4.21.0

Specifies whether the DB snapshot is encrypted.

func (LookupSnapshotResultOutput) Engine added in v4.21.0

Specifies the name of the database engine.

func (LookupSnapshotResultOutput) EngineVersion added in v4.21.0

Specifies the version of the database engine.

func (LookupSnapshotResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupSnapshotResultOutput) IncludePublic added in v4.21.0

func (LookupSnapshotResultOutput) IncludeShared added in v4.21.0

func (LookupSnapshotResultOutput) Iops added in v4.21.0

Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

func (LookupSnapshotResultOutput) KmsKeyId added in v4.21.0

The ARN for the KMS encryption key.

func (LookupSnapshotResultOutput) LicenseModel added in v4.21.0

License model information for the restored DB instance.

func (LookupSnapshotResultOutput) MostRecent added in v4.21.0

func (LookupSnapshotResultOutput) OptionGroupName added in v4.21.0

func (o LookupSnapshotResultOutput) OptionGroupName() pulumi.StringOutput

Provides the option group name for the DB snapshot.

func (LookupSnapshotResultOutput) Port added in v4.21.0

func (LookupSnapshotResultOutput) SnapshotCreateTime added in v4.21.0

func (o LookupSnapshotResultOutput) SnapshotCreateTime() pulumi.StringOutput

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

func (LookupSnapshotResultOutput) SnapshotType added in v4.21.0

func (LookupSnapshotResultOutput) SourceDbSnapshotIdentifier added in v4.21.0

func (o LookupSnapshotResultOutput) SourceDbSnapshotIdentifier() pulumi.StringOutput

The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.

func (LookupSnapshotResultOutput) SourceRegion added in v4.21.0

The region that the DB snapshot was created in or copied from.

func (LookupSnapshotResultOutput) Status added in v4.21.0

Specifies the status of this DB snapshot.

func (LookupSnapshotResultOutput) StorageType added in v4.21.0

Specifies the storage type associated with DB snapshot.

func (LookupSnapshotResultOutput) ToLookupSnapshotResultOutput added in v4.21.0

func (o LookupSnapshotResultOutput) ToLookupSnapshotResultOutput() LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) ToLookupSnapshotResultOutputWithContext added in v4.21.0

func (o LookupSnapshotResultOutput) ToLookupSnapshotResultOutputWithContext(ctx context.Context) LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) VpcId added in v4.21.0

Specifies the ID of the VPC associated with the DB snapshot.

type LookupSubnetGroupArgs

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

A collection of arguments for invoking getSubnetGroup.

type LookupSubnetGroupOutputArgs added in v4.21.0

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

A collection of arguments for invoking getSubnetGroup.

func (LookupSubnetGroupOutputArgs) ElementType added in v4.21.0

type LookupSubnetGroupResult

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

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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 LookupSubnetGroupResultOutput added in v4.21.0

type LookupSubnetGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetGroup.

func LookupSubnetGroupOutput added in v4.21.0

func (LookupSubnetGroupResultOutput) Arn added in v4.21.0

The Amazon Resource Name (ARN) for the DB subnet group.

func (LookupSubnetGroupResultOutput) Description added in v4.21.0

Provides the description of the DB subnet group.

func (LookupSubnetGroupResultOutput) ElementType added in v4.21.0

func (LookupSubnetGroupResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupSubnetGroupResultOutput) Name added in v4.21.0

func (LookupSubnetGroupResultOutput) Status added in v4.21.0

Provides the status of the DB subnet group.

func (LookupSubnetGroupResultOutput) SubnetIds added in v4.21.0

Contains a list of subnet identifiers.

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput added in v4.21.0

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput() LookupSubnetGroupResultOutput

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext added in v4.21.0

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext(ctx context.Context) LookupSubnetGroupResultOutput

func (LookupSubnetGroupResultOutput) VpcId added in v4.21.0

Provides the VPC ID of the subnet group.

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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 `rds.OptionGroup` are set to happen immediately as we default to applying immediately.

> **WARNING:** You can perform a destroy on a `rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot.

If you try to delete an option group that is associated with an Amazon RDS resource, an error similar to the following is returned:

> An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.

More information about this can be found [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Delete).

## Import

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

```sh

$ pulumi import aws:rds/optionGroup:OptionGroup example 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

func (*OptionGroup) ElementType() reflect.Type

func (*OptionGroup) ToOptionGroupOutput

func (i *OptionGroup) ToOptionGroupOutput() OptionGroupOutput

func (*OptionGroup) ToOptionGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a OptionGroup resource.

func (OptionGroupArgs) ElementType

func (OptionGroupArgs) ElementType() reflect.Type

type OptionGroupArray

type OptionGroupArray []OptionGroupInput

func (OptionGroupArray) ElementType

func (OptionGroupArray) ElementType() reflect.Type

func (OptionGroupArray) ToOptionGroupArrayOutput

func (i OptionGroupArray) ToOptionGroupArrayOutput() OptionGroupArrayOutput

func (OptionGroupArray) ToOptionGroupArrayOutputWithContext

func (i OptionGroupArray) ToOptionGroupArrayOutputWithContext(ctx context.Context) OptionGroupArrayOutput

type OptionGroupArrayInput

type OptionGroupArrayInput interface {
	pulumi.Input

	ToOptionGroupArrayOutput() OptionGroupArrayOutput
	ToOptionGroupArrayOutputWithContext(context.Context) OptionGroupArrayOutput
}

OptionGroupArrayInput is an input type that accepts OptionGroupArray and OptionGroupArrayOutput values. You can construct a concrete instance of `OptionGroupArrayInput` via:

OptionGroupArray{ OptionGroupArgs{...} }

type OptionGroupArrayOutput

type OptionGroupArrayOutput struct{ *pulumi.OutputState }

func (OptionGroupArrayOutput) ElementType

func (OptionGroupArrayOutput) ElementType() reflect.Type

func (OptionGroupArrayOutput) Index

func (OptionGroupArrayOutput) ToOptionGroupArrayOutput

func (o OptionGroupArrayOutput) ToOptionGroupArrayOutput() OptionGroupArrayOutput

func (OptionGroupArrayOutput) ToOptionGroupArrayOutputWithContext

func (o OptionGroupArrayOutput) ToOptionGroupArrayOutputWithContext(ctx context.Context) OptionGroupArrayOutput

type OptionGroupInput

type OptionGroupInput interface {
	pulumi.Input

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

type OptionGroupMap

type OptionGroupMap map[string]OptionGroupInput

func (OptionGroupMap) ElementType

func (OptionGroupMap) ElementType() reflect.Type

func (OptionGroupMap) ToOptionGroupMapOutput

func (i OptionGroupMap) ToOptionGroupMapOutput() OptionGroupMapOutput

func (OptionGroupMap) ToOptionGroupMapOutputWithContext

func (i OptionGroupMap) ToOptionGroupMapOutputWithContext(ctx context.Context) OptionGroupMapOutput

type OptionGroupMapInput

type OptionGroupMapInput interface {
	pulumi.Input

	ToOptionGroupMapOutput() OptionGroupMapOutput
	ToOptionGroupMapOutputWithContext(context.Context) OptionGroupMapOutput
}

OptionGroupMapInput is an input type that accepts OptionGroupMap and OptionGroupMapOutput values. You can construct a concrete instance of `OptionGroupMapInput` via:

OptionGroupMap{ "key": OptionGroupArgs{...} }

type OptionGroupMapOutput

type OptionGroupMapOutput struct{ *pulumi.OutputState }

func (OptionGroupMapOutput) ElementType

func (OptionGroupMapOutput) ElementType() reflect.Type

func (OptionGroupMapOutput) MapIndex

func (OptionGroupMapOutput) ToOptionGroupMapOutput

func (o OptionGroupMapOutput) ToOptionGroupMapOutput() OptionGroupMapOutput

func (OptionGroupMapOutput) ToOptionGroupMapOutputWithContext

func (o OptionGroupMapOutput) ToOptionGroupMapOutputWithContext(ctx context.Context) OptionGroupMapOutput

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

type OptionGroupOutput struct{ *pulumi.OutputState }

func (OptionGroupOutput) ElementType

func (OptionGroupOutput) ElementType() reflect.Type

func (OptionGroupOutput) ToOptionGroupOutput

func (o OptionGroupOutput) ToOptionGroupOutput() OptionGroupOutput

func (OptionGroupOutput) ToOptionGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*ParameterGroup) ElementType() reflect.Type

func (*ParameterGroup) ToParameterGroupOutput

func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput

func (*ParameterGroup) ToParameterGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupArray

type ParameterGroupArray []ParameterGroupInput

func (ParameterGroupArray) ElementType

func (ParameterGroupArray) ElementType() reflect.Type

func (ParameterGroupArray) ToParameterGroupArrayOutput

func (i ParameterGroupArray) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArray) ToParameterGroupArrayOutputWithContext

func (i ParameterGroupArray) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput

type ParameterGroupArrayInput

type ParameterGroupArrayInput interface {
	pulumi.Input

	ToParameterGroupArrayOutput() ParameterGroupArrayOutput
	ToParameterGroupArrayOutputWithContext(context.Context) ParameterGroupArrayOutput
}

ParameterGroupArrayInput is an input type that accepts ParameterGroupArray and ParameterGroupArrayOutput values. You can construct a concrete instance of `ParameterGroupArrayInput` via:

ParameterGroupArray{ ParameterGroupArgs{...} }

type ParameterGroupArrayOutput

type ParameterGroupArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupArrayOutput) ElementType

func (ParameterGroupArrayOutput) ElementType() reflect.Type

func (ParameterGroupArrayOutput) Index

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutput

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput

type ParameterGroupInput

type ParameterGroupInput interface {
	pulumi.Input

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

type ParameterGroupMap

type ParameterGroupMap map[string]ParameterGroupInput

func (ParameterGroupMap) ElementType

func (ParameterGroupMap) ElementType() reflect.Type

func (ParameterGroupMap) ToParameterGroupMapOutput

func (i ParameterGroupMap) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMap) ToParameterGroupMapOutputWithContext

func (i ParameterGroupMap) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput

type ParameterGroupMapInput

type ParameterGroupMapInput interface {
	pulumi.Input

	ToParameterGroupMapOutput() ParameterGroupMapOutput
	ToParameterGroupMapOutputWithContext(context.Context) ParameterGroupMapOutput
}

ParameterGroupMapInput is an input type that accepts ParameterGroupMap and ParameterGroupMapOutput values. You can construct a concrete instance of `ParameterGroupMapInput` via:

ParameterGroupMap{ "key": ParameterGroupArgs{...} }

type ParameterGroupMapOutput

type ParameterGroupMapOutput struct{ *pulumi.OutputState }

func (ParameterGroupMapOutput) ElementType

func (ParameterGroupMapOutput) ElementType() reflect.Type

func (ParameterGroupMapOutput) MapIndex

func (ParameterGroupMapOutput) ToParameterGroupMapOutput

func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext

func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput

type ParameterGroupOutput

type ParameterGroupOutput struct{ *pulumi.OutputState }

func (ParameterGroupOutput) ElementType

func (ParameterGroupOutput) ElementType() reflect.Type

func (ParameterGroupOutput) ToParameterGroupOutput

func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput

func (ParameterGroupOutput) ToParameterGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (ParameterGroupState) ElementType

func (ParameterGroupState) ElementType() reflect.Type

type Proxy

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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).

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewProxy(ctx, "example", &rds.ProxyArgs{
			DebugLogging:      pulumi.Bool(false),
			EngineFamily:      pulumi.String("MYSQL"),
			IdleClientTimeout: pulumi.Int(1800),
			RequireTls:        pulumi.Bool(true),
			RoleArn:           pulumi.Any(aws_iam_role.Example.Arn),
			VpcSecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Example.Id),
			},
			VpcSubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example.Id),
			},
			Auths: rds.ProxyAuthArray{
				&rds.ProxyAuthArgs{
					AuthScheme:  pulumi.String("SECRETS"),
					Description: pulumi.String("example"),
					IamAuth:     pulumi.String("DISABLED"),
					SecretArn:   pulumi.Any(aws_secretsmanager_secret.Example.Arn),
				},
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example"),
				"Key":  pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetProxy

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

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

func (*Proxy) ElementType() reflect.Type

func (*Proxy) ToProxyOutput

func (i *Proxy) ToProxyOutput() ProxyOutput

func (*Proxy) ToProxyOutputWithContext

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

type ProxyArgs

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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

func (ProxyArgs) ElementType() reflect.Type

type ProxyArray

type ProxyArray []ProxyInput

func (ProxyArray) ElementType

func (ProxyArray) ElementType() reflect.Type

func (ProxyArray) ToProxyArrayOutput

func (i ProxyArray) ToProxyArrayOutput() ProxyArrayOutput

func (ProxyArray) ToProxyArrayOutputWithContext

func (i ProxyArray) ToProxyArrayOutputWithContext(ctx context.Context) ProxyArrayOutput

type ProxyArrayInput

type ProxyArrayInput interface {
	pulumi.Input

	ToProxyArrayOutput() ProxyArrayOutput
	ToProxyArrayOutputWithContext(context.Context) ProxyArrayOutput
}

ProxyArrayInput is an input type that accepts ProxyArray and ProxyArrayOutput values. You can construct a concrete instance of `ProxyArrayInput` via:

ProxyArray{ ProxyArgs{...} }

type ProxyArrayOutput

type ProxyArrayOutput struct{ *pulumi.OutputState }

func (ProxyArrayOutput) ElementType

func (ProxyArrayOutput) ElementType() reflect.Type

func (ProxyArrayOutput) Index

func (ProxyArrayOutput) ToProxyArrayOutput

func (o ProxyArrayOutput) ToProxyArrayOutput() ProxyArrayOutput

func (ProxyArrayOutput) ToProxyArrayOutputWithContext

func (o ProxyArrayOutput) ToProxyArrayOutputWithContext(ctx context.Context) ProxyArrayOutput

type ProxyAuth

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

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

func (ProxyAuthArgs) ElementType() reflect.Type

func (ProxyAuthArgs) ToProxyAuthOutput

func (i ProxyAuthArgs) ToProxyAuthOutput() ProxyAuthOutput

func (ProxyAuthArgs) ToProxyAuthOutputWithContext

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

type ProxyAuthArray

type ProxyAuthArray []ProxyAuthInput

func (ProxyAuthArray) ElementType

func (ProxyAuthArray) ElementType() reflect.Type

func (ProxyAuthArray) ToProxyAuthArrayOutput

func (i ProxyAuthArray) ToProxyAuthArrayOutput() ProxyAuthArrayOutput

func (ProxyAuthArray) ToProxyAuthArrayOutputWithContext

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

type ProxyAuthArrayInput

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

type ProxyAuthArrayOutput struct{ *pulumi.OutputState }

func (ProxyAuthArrayOutput) ElementType

func (ProxyAuthArrayOutput) ElementType() reflect.Type

func (ProxyAuthArrayOutput) Index

func (ProxyAuthArrayOutput) ToProxyAuthArrayOutput

func (o ProxyAuthArrayOutput) ToProxyAuthArrayOutput() ProxyAuthArrayOutput

func (ProxyAuthArrayOutput) ToProxyAuthArrayOutputWithContext

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

type ProxyAuthInput

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

type ProxyAuthOutput struct{ *pulumi.OutputState }

func (ProxyAuthOutput) AuthScheme

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

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

func (ProxyAuthOutput) ElementType() reflect.Type

func (ProxyAuthOutput) IamAuth

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

func (ProxyAuthOutput) SecretArn

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

func (o ProxyAuthOutput) ToProxyAuthOutput() ProxyAuthOutput

func (ProxyAuthOutput) ToProxyAuthOutputWithContext

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

type ProxyDefaultTargetGroup

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"`
}

Provides a resource to manage an RDS DB proxy default target group resource.

The `rds.ProxyDefaultTargetGroup` behaves differently from normal resources, in that the provider does not _create_ or _destroy_ this resource, since it implicitly exists as part of an RDS DB Proxy. On the provider resource creation it is automatically imported and on resource destruction, the provider performs no actions in RDS.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleProxy, err := rds.NewProxy(ctx, "exampleProxy", &rds.ProxyArgs{
			DebugLogging:      pulumi.Bool(false),
			EngineFamily:      pulumi.String("MYSQL"),
			IdleClientTimeout: pulumi.Int(1800),
			RequireTls:        pulumi.Bool(true),
			RoleArn:           pulumi.Any(aws_iam_role.Example.Arn),
			VpcSecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Example.Id),
			},
			VpcSubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example.Id),
			},
			Auths: rds.ProxyAuthArray{
				&rds.ProxyAuthArgs{
					AuthScheme:  pulumi.String("SECRETS"),
					Description: pulumi.String("example"),
					IamAuth:     pulumi.String("DISABLED"),
					SecretArn:   pulumi.Any(aws_secretsmanager_secret.Example.Arn),
				},
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example"),
				"Key":  pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		_, err = rds.NewProxyDefaultTargetGroup(ctx, "exampleProxyDefaultTargetGroup", &rds.ProxyDefaultTargetGroupArgs{
			DbProxyName: exampleProxy.Name,
			ConnectionPoolConfig: &rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{
				ConnectionBorrowTimeout:   pulumi.Int(120),
				InitQuery:                 pulumi.String("SET x=1, y=2"),
				MaxConnectionsPercent:     pulumi.Int(100),
				MaxIdleConnectionsPercent: pulumi.Int(50),
				SessionPinningFilters: pulumi.StringArray{
					pulumi.String("EXCLUDE_VARIABLE_SETS"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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

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

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

func (*ProxyDefaultTargetGroup) ElementType() reflect.Type

func (*ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutput

func (i *ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutput() ProxyDefaultTargetGroupOutput

func (*ProxyDefaultTargetGroup) ToProxyDefaultTargetGroupOutputWithContext

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

type ProxyDefaultTargetGroupArgs

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

type ProxyDefaultTargetGroupArray

type ProxyDefaultTargetGroupArray []ProxyDefaultTargetGroupInput

func (ProxyDefaultTargetGroupArray) ElementType

func (ProxyDefaultTargetGroupArray) ToProxyDefaultTargetGroupArrayOutput

func (i ProxyDefaultTargetGroupArray) ToProxyDefaultTargetGroupArrayOutput() ProxyDefaultTargetGroupArrayOutput

func (ProxyDefaultTargetGroupArray) ToProxyDefaultTargetGroupArrayOutputWithContext

func (i ProxyDefaultTargetGroupArray) ToProxyDefaultTargetGroupArrayOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupArrayOutput

type ProxyDefaultTargetGroupArrayInput

type ProxyDefaultTargetGroupArrayInput interface {
	pulumi.Input

	ToProxyDefaultTargetGroupArrayOutput() ProxyDefaultTargetGroupArrayOutput
	ToProxyDefaultTargetGroupArrayOutputWithContext(context.Context) ProxyDefaultTargetGroupArrayOutput
}

ProxyDefaultTargetGroupArrayInput is an input type that accepts ProxyDefaultTargetGroupArray and ProxyDefaultTargetGroupArrayOutput values. You can construct a concrete instance of `ProxyDefaultTargetGroupArrayInput` via:

ProxyDefaultTargetGroupArray{ ProxyDefaultTargetGroupArgs{...} }

type ProxyDefaultTargetGroupArrayOutput

type ProxyDefaultTargetGroupArrayOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupArrayOutput) ElementType

func (ProxyDefaultTargetGroupArrayOutput) Index

func (ProxyDefaultTargetGroupArrayOutput) ToProxyDefaultTargetGroupArrayOutput

func (o ProxyDefaultTargetGroupArrayOutput) ToProxyDefaultTargetGroupArrayOutput() ProxyDefaultTargetGroupArrayOutput

func (ProxyDefaultTargetGroupArrayOutput) ToProxyDefaultTargetGroupArrayOutputWithContext

func (o ProxyDefaultTargetGroupArrayOutput) ToProxyDefaultTargetGroupArrayOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupArrayOutput

type ProxyDefaultTargetGroupConnectionPoolConfig

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

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

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutput

func (i ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutput() ProxyDefaultTargetGroupConnectionPoolConfigOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext

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

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

func (i ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput() ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigArgs) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext

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

type ProxyDefaultTargetGroupConnectionPoolConfigInput

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

type ProxyDefaultTargetGroupConnectionPoolConfigOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ConnectionBorrowTimeout

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

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) InitQuery

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

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

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

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

func (o ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigOutput() ProxyDefaultTargetGroupConnectionPoolConfigOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigOutputWithContext

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

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

func (o ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutput() ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput

func (ProxyDefaultTargetGroupConnectionPoolConfigOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext

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

type ProxyDefaultTargetGroupConnectionPoolConfigPtrInput

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

type ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ConnectionBorrowTimeout

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

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ElementType

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) InitQuery

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

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

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

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

func (ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) ToProxyDefaultTargetGroupConnectionPoolConfigPtrOutputWithContext

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

type ProxyDefaultTargetGroupInput

type ProxyDefaultTargetGroupInput interface {
	pulumi.Input

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

type ProxyDefaultTargetGroupMap

type ProxyDefaultTargetGroupMap map[string]ProxyDefaultTargetGroupInput

func (ProxyDefaultTargetGroupMap) ElementType

func (ProxyDefaultTargetGroupMap) ElementType() reflect.Type

func (ProxyDefaultTargetGroupMap) ToProxyDefaultTargetGroupMapOutput

func (i ProxyDefaultTargetGroupMap) ToProxyDefaultTargetGroupMapOutput() ProxyDefaultTargetGroupMapOutput

func (ProxyDefaultTargetGroupMap) ToProxyDefaultTargetGroupMapOutputWithContext

func (i ProxyDefaultTargetGroupMap) ToProxyDefaultTargetGroupMapOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupMapOutput

type ProxyDefaultTargetGroupMapInput

type ProxyDefaultTargetGroupMapInput interface {
	pulumi.Input

	ToProxyDefaultTargetGroupMapOutput() ProxyDefaultTargetGroupMapOutput
	ToProxyDefaultTargetGroupMapOutputWithContext(context.Context) ProxyDefaultTargetGroupMapOutput
}

ProxyDefaultTargetGroupMapInput is an input type that accepts ProxyDefaultTargetGroupMap and ProxyDefaultTargetGroupMapOutput values. You can construct a concrete instance of `ProxyDefaultTargetGroupMapInput` via:

ProxyDefaultTargetGroupMap{ "key": ProxyDefaultTargetGroupArgs{...} }

type ProxyDefaultTargetGroupMapOutput

type ProxyDefaultTargetGroupMapOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupMapOutput) ElementType

func (ProxyDefaultTargetGroupMapOutput) MapIndex

func (ProxyDefaultTargetGroupMapOutput) ToProxyDefaultTargetGroupMapOutput

func (o ProxyDefaultTargetGroupMapOutput) ToProxyDefaultTargetGroupMapOutput() ProxyDefaultTargetGroupMapOutput

func (ProxyDefaultTargetGroupMapOutput) ToProxyDefaultTargetGroupMapOutputWithContext

func (o ProxyDefaultTargetGroupMapOutput) ToProxyDefaultTargetGroupMapOutputWithContext(ctx context.Context) ProxyDefaultTargetGroupMapOutput

type ProxyDefaultTargetGroupOutput

type ProxyDefaultTargetGroupOutput struct{ *pulumi.OutputState }

func (ProxyDefaultTargetGroupOutput) ElementType

func (ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutput

func (o ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutput() ProxyDefaultTargetGroupOutput

func (ProxyDefaultTargetGroupOutput) ToProxyDefaultTargetGroupOutputWithContext

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

type ProxyDefaultTargetGroupState

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

type ProxyEndpoint added in v4.2.0

type ProxyEndpoint struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) for the proxy endpoint.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The identifier for the proxy endpoint. 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.
	DbProxyEndpointName pulumi.StringOutput `pulumi:"dbProxyEndpointName"`
	// The name of the DB proxy associated with the DB proxy endpoint that you create.
	DbProxyName pulumi.StringOutput `pulumi:"dbProxyName"`
	// 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"`
	// Indicates whether this endpoint is the default endpoint for the associated DB proxy.
	IsDefault pulumi.BoolOutput `pulumi:"isDefault"`
	// A mapping of tags to assign to the resource.
	Tags    pulumi.StringMapOutput `pulumi:"tags"`
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is `READ_WRITE`. Valid values are `READ_WRITE` and `READ_ONLY`.
	TargetRole pulumi.StringPtrOutput `pulumi:"targetRole"`
	// The VPC ID of the DB proxy endpoint.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// 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 endpoint resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html#rds-proxy-endpoints).

## Import

DB proxy endpoints can be imported using the `DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME`, e.g.,

```sh

$ pulumi import aws:rds/proxyEndpoint:ProxyEndpoint example example/example

```

func GetProxyEndpoint added in v4.2.0

func GetProxyEndpoint(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProxyEndpointState, opts ...pulumi.ResourceOption) (*ProxyEndpoint, error)

GetProxyEndpoint gets an existing ProxyEndpoint 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 NewProxyEndpoint added in v4.2.0

func NewProxyEndpoint(ctx *pulumi.Context,
	name string, args *ProxyEndpointArgs, opts ...pulumi.ResourceOption) (*ProxyEndpoint, error)

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

func (*ProxyEndpoint) ElementType added in v4.2.0

func (*ProxyEndpoint) ElementType() reflect.Type

func (*ProxyEndpoint) ToProxyEndpointOutput added in v4.2.0

func (i *ProxyEndpoint) ToProxyEndpointOutput() ProxyEndpointOutput

func (*ProxyEndpoint) ToProxyEndpointOutputWithContext added in v4.2.0

func (i *ProxyEndpoint) ToProxyEndpointOutputWithContext(ctx context.Context) ProxyEndpointOutput

type ProxyEndpointArgs added in v4.2.0

type ProxyEndpointArgs struct {
	// The identifier for the proxy endpoint. 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.
	DbProxyEndpointName pulumi.StringInput
	// The name of the DB proxy associated with the DB proxy endpoint that you create.
	DbProxyName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is `READ_WRITE`. Valid values are `READ_WRITE` and `READ_ONLY`.
	TargetRole pulumi.StringPtrInput
	// 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 ProxyEndpoint resource.

func (ProxyEndpointArgs) ElementType added in v4.2.0

func (ProxyEndpointArgs) ElementType() reflect.Type

type ProxyEndpointArray added in v4.2.0

type ProxyEndpointArray []ProxyEndpointInput

func (ProxyEndpointArray) ElementType added in v4.2.0

func (ProxyEndpointArray) ElementType() reflect.Type

func (ProxyEndpointArray) ToProxyEndpointArrayOutput added in v4.2.0

func (i ProxyEndpointArray) ToProxyEndpointArrayOutput() ProxyEndpointArrayOutput

func (ProxyEndpointArray) ToProxyEndpointArrayOutputWithContext added in v4.2.0

func (i ProxyEndpointArray) ToProxyEndpointArrayOutputWithContext(ctx context.Context) ProxyEndpointArrayOutput

type ProxyEndpointArrayInput added in v4.2.0

type ProxyEndpointArrayInput interface {
	pulumi.Input

	ToProxyEndpointArrayOutput() ProxyEndpointArrayOutput
	ToProxyEndpointArrayOutputWithContext(context.Context) ProxyEndpointArrayOutput
}

ProxyEndpointArrayInput is an input type that accepts ProxyEndpointArray and ProxyEndpointArrayOutput values. You can construct a concrete instance of `ProxyEndpointArrayInput` via:

ProxyEndpointArray{ ProxyEndpointArgs{...} }

type ProxyEndpointArrayOutput added in v4.2.0

type ProxyEndpointArrayOutput struct{ *pulumi.OutputState }

func (ProxyEndpointArrayOutput) ElementType added in v4.2.0

func (ProxyEndpointArrayOutput) ElementType() reflect.Type

func (ProxyEndpointArrayOutput) Index added in v4.2.0

func (ProxyEndpointArrayOutput) ToProxyEndpointArrayOutput added in v4.2.0

func (o ProxyEndpointArrayOutput) ToProxyEndpointArrayOutput() ProxyEndpointArrayOutput

func (ProxyEndpointArrayOutput) ToProxyEndpointArrayOutputWithContext added in v4.2.0

func (o ProxyEndpointArrayOutput) ToProxyEndpointArrayOutputWithContext(ctx context.Context) ProxyEndpointArrayOutput

type ProxyEndpointInput added in v4.2.0

type ProxyEndpointInput interface {
	pulumi.Input

	ToProxyEndpointOutput() ProxyEndpointOutput
	ToProxyEndpointOutputWithContext(ctx context.Context) ProxyEndpointOutput
}

type ProxyEndpointMap added in v4.2.0

type ProxyEndpointMap map[string]ProxyEndpointInput

func (ProxyEndpointMap) ElementType added in v4.2.0

func (ProxyEndpointMap) ElementType() reflect.Type

func (ProxyEndpointMap) ToProxyEndpointMapOutput added in v4.2.0

func (i ProxyEndpointMap) ToProxyEndpointMapOutput() ProxyEndpointMapOutput

func (ProxyEndpointMap) ToProxyEndpointMapOutputWithContext added in v4.2.0

func (i ProxyEndpointMap) ToProxyEndpointMapOutputWithContext(ctx context.Context) ProxyEndpointMapOutput

type ProxyEndpointMapInput added in v4.2.0

type ProxyEndpointMapInput interface {
	pulumi.Input

	ToProxyEndpointMapOutput() ProxyEndpointMapOutput
	ToProxyEndpointMapOutputWithContext(context.Context) ProxyEndpointMapOutput
}

ProxyEndpointMapInput is an input type that accepts ProxyEndpointMap and ProxyEndpointMapOutput values. You can construct a concrete instance of `ProxyEndpointMapInput` via:

ProxyEndpointMap{ "key": ProxyEndpointArgs{...} }

type ProxyEndpointMapOutput added in v4.2.0

type ProxyEndpointMapOutput struct{ *pulumi.OutputState }

func (ProxyEndpointMapOutput) ElementType added in v4.2.0

func (ProxyEndpointMapOutput) ElementType() reflect.Type

func (ProxyEndpointMapOutput) MapIndex added in v4.2.0

func (ProxyEndpointMapOutput) ToProxyEndpointMapOutput added in v4.2.0

func (o ProxyEndpointMapOutput) ToProxyEndpointMapOutput() ProxyEndpointMapOutput

func (ProxyEndpointMapOutput) ToProxyEndpointMapOutputWithContext added in v4.2.0

func (o ProxyEndpointMapOutput) ToProxyEndpointMapOutputWithContext(ctx context.Context) ProxyEndpointMapOutput

type ProxyEndpointOutput added in v4.2.0

type ProxyEndpointOutput struct{ *pulumi.OutputState }

func (ProxyEndpointOutput) ElementType added in v4.2.0

func (ProxyEndpointOutput) ElementType() reflect.Type

func (ProxyEndpointOutput) ToProxyEndpointOutput added in v4.2.0

func (o ProxyEndpointOutput) ToProxyEndpointOutput() ProxyEndpointOutput

func (ProxyEndpointOutput) ToProxyEndpointOutputWithContext added in v4.2.0

func (o ProxyEndpointOutput) ToProxyEndpointOutputWithContext(ctx context.Context) ProxyEndpointOutput

type ProxyEndpointState added in v4.2.0

type ProxyEndpointState struct {
	// The Amazon Resource Name (ARN) for the proxy endpoint.
	Arn pulumi.StringPtrInput
	// The identifier for the proxy endpoint. 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.
	DbProxyEndpointName pulumi.StringPtrInput
	// The name of the DB proxy associated with the DB proxy endpoint that you create.
	DbProxyName pulumi.StringPtrInput
	// 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
	// Indicates whether this endpoint is the default endpoint for the associated DB proxy.
	IsDefault pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags    pulumi.StringMapInput
	TagsAll pulumi.StringMapInput
	// Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is `READ_WRITE`. Valid values are `READ_WRITE` and `READ_ONLY`.
	TargetRole pulumi.StringPtrInput
	// The VPC ID of the DB proxy endpoint.
	VpcId pulumi.StringPtrInput
	// 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 (ProxyEndpointState) ElementType added in v4.2.0

func (ProxyEndpointState) ElementType() reflect.Type

type ProxyInput

type ProxyInput interface {
	pulumi.Input

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

type ProxyMap

type ProxyMap map[string]ProxyInput

func (ProxyMap) ElementType

func (ProxyMap) ElementType() reflect.Type

func (ProxyMap) ToProxyMapOutput

func (i ProxyMap) ToProxyMapOutput() ProxyMapOutput

func (ProxyMap) ToProxyMapOutputWithContext

func (i ProxyMap) ToProxyMapOutputWithContext(ctx context.Context) ProxyMapOutput

type ProxyMapInput

type ProxyMapInput interface {
	pulumi.Input

	ToProxyMapOutput() ProxyMapOutput
	ToProxyMapOutputWithContext(context.Context) ProxyMapOutput
}

ProxyMapInput is an input type that accepts ProxyMap and ProxyMapOutput values. You can construct a concrete instance of `ProxyMapInput` via:

ProxyMap{ "key": ProxyArgs{...} }

type ProxyMapOutput

type ProxyMapOutput struct{ *pulumi.OutputState }

func (ProxyMapOutput) ElementType

func (ProxyMapOutput) ElementType() reflect.Type

func (ProxyMapOutput) MapIndex

func (ProxyMapOutput) ToProxyMapOutput

func (o ProxyMapOutput) ToProxyMapOutput() ProxyMapOutput

func (ProxyMapOutput) ToProxyMapOutputWithContext

func (o ProxyMapOutput) ToProxyMapOutputWithContext(ctx context.Context) ProxyMapOutput

type ProxyOutput

type ProxyOutput struct{ *pulumi.OutputState }

func (ProxyOutput) ElementType

func (ProxyOutput) ElementType() reflect.Type

func (ProxyOutput) ToProxyOutput

func (o ProxyOutput) ToProxyOutput() ProxyOutput

func (ProxyOutput) ToProxyOutputWithContext

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

type ProxyState

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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

func (ProxyState) ElementType() reflect.Type

type ProxyTarget

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 targetE.g., `RDS_INSTANCE` or `TRACKED_CLUSTER`
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides an RDS DB proxy target resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleProxy, err := rds.NewProxy(ctx, "exampleProxy", &rds.ProxyArgs{
			DebugLogging:      pulumi.Bool(false),
			EngineFamily:      pulumi.String("MYSQL"),
			IdleClientTimeout: pulumi.Int(1800),
			RequireTls:        pulumi.Bool(true),
			RoleArn:           pulumi.Any(aws_iam_role.Example.Arn),
			VpcSecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Example.Id),
			},
			VpcSubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example.Id),
			},
			Auths: rds.ProxyAuthArray{
				&rds.ProxyAuthArgs{
					AuthScheme:  pulumi.String("SECRETS"),
					Description: pulumi.String("example"),
					IamAuth:     pulumi.String("DISABLED"),
					SecretArn:   pulumi.Any(aws_secretsmanager_secret.Example.Arn),
				},
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example"),
				"Key":  pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		exampleProxyDefaultTargetGroup, err := rds.NewProxyDefaultTargetGroup(ctx, "exampleProxyDefaultTargetGroup", &rds.ProxyDefaultTargetGroupArgs{
			DbProxyName: exampleProxy.Name,
			ConnectionPoolConfig: &rds.ProxyDefaultTargetGroupConnectionPoolConfigArgs{
				ConnectionBorrowTimeout:   pulumi.Int(120),
				InitQuery:                 pulumi.String("SET x=1, y=2"),
				MaxConnectionsPercent:     pulumi.Int(100),
				MaxIdleConnectionsPercent: pulumi.Int(50),
				SessionPinningFilters: pulumi.StringArray{
					pulumi.String("EXCLUDE_VARIABLE_SETS"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = rds.NewProxyTarget(ctx, "exampleProxyTarget", &rds.ProxyTargetArgs{
			DbInstanceIdentifier: pulumi.Any(aws_db_instance.Example.Id),
			DbProxyName:          exampleProxy.Name,
			TargetGroupName:      exampleProxyDefaultTargetGroup.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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

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

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

func (*ProxyTarget) ElementType() reflect.Type

func (*ProxyTarget) ToProxyTargetOutput

func (i *ProxyTarget) ToProxyTargetOutput() ProxyTargetOutput

func (*ProxyTarget) ToProxyTargetOutputWithContext

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

type ProxyTargetArgs

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

func (ProxyTargetArgs) ElementType() reflect.Type

type ProxyTargetArray

type ProxyTargetArray []ProxyTargetInput

func (ProxyTargetArray) ElementType

func (ProxyTargetArray) ElementType() reflect.Type

func (ProxyTargetArray) ToProxyTargetArrayOutput

func (i ProxyTargetArray) ToProxyTargetArrayOutput() ProxyTargetArrayOutput

func (ProxyTargetArray) ToProxyTargetArrayOutputWithContext

func (i ProxyTargetArray) ToProxyTargetArrayOutputWithContext(ctx context.Context) ProxyTargetArrayOutput

type ProxyTargetArrayInput

type ProxyTargetArrayInput interface {
	pulumi.Input

	ToProxyTargetArrayOutput() ProxyTargetArrayOutput
	ToProxyTargetArrayOutputWithContext(context.Context) ProxyTargetArrayOutput
}

ProxyTargetArrayInput is an input type that accepts ProxyTargetArray and ProxyTargetArrayOutput values. You can construct a concrete instance of `ProxyTargetArrayInput` via:

ProxyTargetArray{ ProxyTargetArgs{...} }

type ProxyTargetArrayOutput

type ProxyTargetArrayOutput struct{ *pulumi.OutputState }

func (ProxyTargetArrayOutput) ElementType

func (ProxyTargetArrayOutput) ElementType() reflect.Type

func (ProxyTargetArrayOutput) Index

func (ProxyTargetArrayOutput) ToProxyTargetArrayOutput

func (o ProxyTargetArrayOutput) ToProxyTargetArrayOutput() ProxyTargetArrayOutput

func (ProxyTargetArrayOutput) ToProxyTargetArrayOutputWithContext

func (o ProxyTargetArrayOutput) ToProxyTargetArrayOutputWithContext(ctx context.Context) ProxyTargetArrayOutput

type ProxyTargetInput

type ProxyTargetInput interface {
	pulumi.Input

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

type ProxyTargetMap

type ProxyTargetMap map[string]ProxyTargetInput

func (ProxyTargetMap) ElementType

func (ProxyTargetMap) ElementType() reflect.Type

func (ProxyTargetMap) ToProxyTargetMapOutput

func (i ProxyTargetMap) ToProxyTargetMapOutput() ProxyTargetMapOutput

func (ProxyTargetMap) ToProxyTargetMapOutputWithContext

func (i ProxyTargetMap) ToProxyTargetMapOutputWithContext(ctx context.Context) ProxyTargetMapOutput

type ProxyTargetMapInput

type ProxyTargetMapInput interface {
	pulumi.Input

	ToProxyTargetMapOutput() ProxyTargetMapOutput
	ToProxyTargetMapOutputWithContext(context.Context) ProxyTargetMapOutput
}

ProxyTargetMapInput is an input type that accepts ProxyTargetMap and ProxyTargetMapOutput values. You can construct a concrete instance of `ProxyTargetMapInput` via:

ProxyTargetMap{ "key": ProxyTargetArgs{...} }

type ProxyTargetMapOutput

type ProxyTargetMapOutput struct{ *pulumi.OutputState }

func (ProxyTargetMapOutput) ElementType

func (ProxyTargetMapOutput) ElementType() reflect.Type

func (ProxyTargetMapOutput) MapIndex

func (ProxyTargetMapOutput) ToProxyTargetMapOutput

func (o ProxyTargetMapOutput) ToProxyTargetMapOutput() ProxyTargetMapOutput

func (ProxyTargetMapOutput) ToProxyTargetMapOutputWithContext

func (o ProxyTargetMapOutput) ToProxyTargetMapOutputWithContext(ctx context.Context) ProxyTargetMapOutput

type ProxyTargetOutput

type ProxyTargetOutput struct{ *pulumi.OutputState }

func (ProxyTargetOutput) ElementType

func (ProxyTargetOutput) ElementType() reflect.Type

func (ProxyTargetOutput) ToProxyTargetOutput

func (o ProxyTargetOutput) ToProxyTargetOutput() ProxyTargetOutput

func (ProxyTargetOutput) ToProxyTargetOutputWithContext

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

type ProxyTargetState

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 targetE.g., `RDS_INSTANCE` or `TRACKED_CLUSTER`
	Type pulumi.StringPtrInput
}

func (ProxyTargetState) ElementType

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*RoleAssociation) ElementType() reflect.Type

func (*RoleAssociation) ToRoleAssociationOutput

func (i *RoleAssociation) ToRoleAssociationOutput() RoleAssociationOutput

func (*RoleAssociation) ToRoleAssociationOutputWithContext

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 RoleAssociationArray

type RoleAssociationArray []RoleAssociationInput

func (RoleAssociationArray) ElementType

func (RoleAssociationArray) ElementType() reflect.Type

func (RoleAssociationArray) ToRoleAssociationArrayOutput

func (i RoleAssociationArray) ToRoleAssociationArrayOutput() RoleAssociationArrayOutput

func (RoleAssociationArray) ToRoleAssociationArrayOutputWithContext

func (i RoleAssociationArray) ToRoleAssociationArrayOutputWithContext(ctx context.Context) RoleAssociationArrayOutput

type RoleAssociationArrayInput

type RoleAssociationArrayInput interface {
	pulumi.Input

	ToRoleAssociationArrayOutput() RoleAssociationArrayOutput
	ToRoleAssociationArrayOutputWithContext(context.Context) RoleAssociationArrayOutput
}

RoleAssociationArrayInput is an input type that accepts RoleAssociationArray and RoleAssociationArrayOutput values. You can construct a concrete instance of `RoleAssociationArrayInput` via:

RoleAssociationArray{ RoleAssociationArgs{...} }

type RoleAssociationArrayOutput

type RoleAssociationArrayOutput struct{ *pulumi.OutputState }

func (RoleAssociationArrayOutput) ElementType

func (RoleAssociationArrayOutput) ElementType() reflect.Type

func (RoleAssociationArrayOutput) Index

func (RoleAssociationArrayOutput) ToRoleAssociationArrayOutput

func (o RoleAssociationArrayOutput) ToRoleAssociationArrayOutput() RoleAssociationArrayOutput

func (RoleAssociationArrayOutput) ToRoleAssociationArrayOutputWithContext

func (o RoleAssociationArrayOutput) ToRoleAssociationArrayOutputWithContext(ctx context.Context) RoleAssociationArrayOutput

type RoleAssociationInput

type RoleAssociationInput interface {
	pulumi.Input

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

type RoleAssociationMap

type RoleAssociationMap map[string]RoleAssociationInput

func (RoleAssociationMap) ElementType

func (RoleAssociationMap) ElementType() reflect.Type

func (RoleAssociationMap) ToRoleAssociationMapOutput

func (i RoleAssociationMap) ToRoleAssociationMapOutput() RoleAssociationMapOutput

func (RoleAssociationMap) ToRoleAssociationMapOutputWithContext

func (i RoleAssociationMap) ToRoleAssociationMapOutputWithContext(ctx context.Context) RoleAssociationMapOutput

type RoleAssociationMapInput

type RoleAssociationMapInput interface {
	pulumi.Input

	ToRoleAssociationMapOutput() RoleAssociationMapOutput
	ToRoleAssociationMapOutputWithContext(context.Context) RoleAssociationMapOutput
}

RoleAssociationMapInput is an input type that accepts RoleAssociationMap and RoleAssociationMapOutput values. You can construct a concrete instance of `RoleAssociationMapInput` via:

RoleAssociationMap{ "key": RoleAssociationArgs{...} }

type RoleAssociationMapOutput

type RoleAssociationMapOutput struct{ *pulumi.OutputState }

func (RoleAssociationMapOutput) ElementType

func (RoleAssociationMapOutput) ElementType() reflect.Type

func (RoleAssociationMapOutput) MapIndex

func (RoleAssociationMapOutput) ToRoleAssociationMapOutput

func (o RoleAssociationMapOutput) ToRoleAssociationMapOutput() RoleAssociationMapOutput

func (RoleAssociationMapOutput) ToRoleAssociationMapOutputWithContext

func (o RoleAssociationMapOutput) ToRoleAssociationMapOutputWithContext(ctx context.Context) RoleAssociationMapOutput

type RoleAssociationOutput

type RoleAssociationOutput struct{ *pulumi.OutputState }

func (RoleAssociationOutput) ElementType

func (RoleAssociationOutput) ElementType() reflect.Type

func (RoleAssociationOutput) ToRoleAssociationOutput

func (o RoleAssociationOutput) ToRoleAssociationOutput() RoleAssociationOutput

func (RoleAssociationOutput) ToRoleAssociationOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SecurityGroup) ElementType() reflect.Type

func (*SecurityGroup) ToSecurityGroupOutput

func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput

func (*SecurityGroup) ToSecurityGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SecurityGroup resource.

func (SecurityGroupArgs) ElementType

func (SecurityGroupArgs) ElementType() reflect.Type

type SecurityGroupArray

type SecurityGroupArray []SecurityGroupInput

func (SecurityGroupArray) ElementType

func (SecurityGroupArray) ElementType() reflect.Type

func (SecurityGroupArray) ToSecurityGroupArrayOutput

func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext

func (i SecurityGroupArray) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

type SecurityGroupArrayInput

type SecurityGroupArrayInput interface {
	pulumi.Input

	ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
	ToSecurityGroupArrayOutputWithContext(context.Context) SecurityGroupArrayOutput
}

SecurityGroupArrayInput is an input type that accepts SecurityGroupArray and SecurityGroupArrayOutput values. You can construct a concrete instance of `SecurityGroupArrayInput` via:

SecurityGroupArray{ SecurityGroupArgs{...} }

type SecurityGroupArrayOutput

type SecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupArrayOutput) ElementType

func (SecurityGroupArrayOutput) ElementType() reflect.Type

func (SecurityGroupArrayOutput) Index

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

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

type SecurityGroupInput interface {
	pulumi.Input

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

type SecurityGroupMap

type SecurityGroupMap map[string]SecurityGroupInput

func (SecurityGroupMap) ElementType

func (SecurityGroupMap) ElementType() reflect.Type

func (SecurityGroupMap) ToSecurityGroupMapOutput

func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext

func (i SecurityGroupMap) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupMapInput

type SecurityGroupMapInput interface {
	pulumi.Input

	ToSecurityGroupMapOutput() SecurityGroupMapOutput
	ToSecurityGroupMapOutputWithContext(context.Context) SecurityGroupMapOutput
}

SecurityGroupMapInput is an input type that accepts SecurityGroupMap and SecurityGroupMapOutput values. You can construct a concrete instance of `SecurityGroupMapInput` via:

SecurityGroupMap{ "key": SecurityGroupArgs{...} }

type SecurityGroupMapOutput

type SecurityGroupMapOutput struct{ *pulumi.OutputState }

func (SecurityGroupMapOutput) ElementType

func (SecurityGroupMapOutput) ElementType() reflect.Type

func (SecurityGroupMapOutput) MapIndex

func (SecurityGroupMapOutput) ToSecurityGroupMapOutput

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupOutput

type SecurityGroupOutput struct{ *pulumi.OutputState }

func (SecurityGroupOutput) ElementType

func (SecurityGroupOutput) ElementType() reflect.Type

func (SecurityGroupOutput) ToSecurityGroupOutput

func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Provides the VPC ID associated with the 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/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*Snapshot) ElementType() reflect.Type

func (*Snapshot) ToSnapshotOutput

func (i *Snapshot) ToSnapshotOutput() SnapshotOutput

func (*Snapshot) ToSnapshotOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Snapshot resource.

func (SnapshotArgs) ElementType

func (SnapshotArgs) ElementType() reflect.Type

type SnapshotArray

type SnapshotArray []SnapshotInput

func (SnapshotArray) ElementType

func (SnapshotArray) ElementType() reflect.Type

func (SnapshotArray) ToSnapshotArrayOutput

func (i SnapshotArray) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArray) ToSnapshotArrayOutputWithContext

func (i SnapshotArray) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotArrayInput

type SnapshotArrayInput interface {
	pulumi.Input

	ToSnapshotArrayOutput() SnapshotArrayOutput
	ToSnapshotArrayOutputWithContext(context.Context) SnapshotArrayOutput
}

SnapshotArrayInput is an input type that accepts SnapshotArray and SnapshotArrayOutput values. You can construct a concrete instance of `SnapshotArrayInput` via:

SnapshotArray{ SnapshotArgs{...} }

type SnapshotArrayOutput

type SnapshotArrayOutput struct{ *pulumi.OutputState }

func (SnapshotArrayOutput) ElementType

func (SnapshotArrayOutput) ElementType() reflect.Type

func (SnapshotArrayOutput) Index

func (SnapshotArrayOutput) ToSnapshotArrayOutput

func (o SnapshotArrayOutput) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArrayOutput) ToSnapshotArrayOutputWithContext

func (o SnapshotArrayOutput) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotInput

type SnapshotInput interface {
	pulumi.Input

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

type SnapshotMap

type SnapshotMap map[string]SnapshotInput

func (SnapshotMap) ElementType

func (SnapshotMap) ElementType() reflect.Type

func (SnapshotMap) ToSnapshotMapOutput

func (i SnapshotMap) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMap) ToSnapshotMapOutputWithContext

func (i SnapshotMap) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotMapInput

type SnapshotMapInput interface {
	pulumi.Input

	ToSnapshotMapOutput() SnapshotMapOutput
	ToSnapshotMapOutputWithContext(context.Context) SnapshotMapOutput
}

SnapshotMapInput is an input type that accepts SnapshotMap and SnapshotMapOutput values. You can construct a concrete instance of `SnapshotMapInput` via:

SnapshotMap{ "key": SnapshotArgs{...} }

type SnapshotMapOutput

type SnapshotMapOutput struct{ *pulumi.OutputState }

func (SnapshotMapOutput) ElementType

func (SnapshotMapOutput) ElementType() reflect.Type

func (SnapshotMapOutput) MapIndex

func (SnapshotMapOutput) ToSnapshotMapOutput

func (o SnapshotMapOutput) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMapOutput) ToSnapshotMapOutputWithContext

func (o SnapshotMapOutput) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotOutput

type SnapshotOutput struct{ *pulumi.OutputState }

func (SnapshotOutput) ElementType

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) ToSnapshotOutput

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Provides the VPC ID associated with the DB snapshot.
	VpcId pulumi.StringPtrInput
}

func (SnapshotState) ElementType

func (SnapshotState) ElementType() reflect.Type

type StorageType

type StorageType string

func (StorageType) ElementType

func (StorageType) ElementType() reflect.Type

func (StorageType) ToStorageTypeOutput added in v4.13.0

func (e StorageType) ToStorageTypeOutput() StorageTypeOutput

func (StorageType) ToStorageTypeOutputWithContext added in v4.13.0

func (e StorageType) ToStorageTypeOutputWithContext(ctx context.Context) StorageTypeOutput

func (StorageType) ToStorageTypePtrOutput added in v4.13.0

func (e StorageType) ToStorageTypePtrOutput() StorageTypePtrOutput

func (StorageType) ToStorageTypePtrOutputWithContext added in v4.13.0

func (e StorageType) ToStorageTypePtrOutputWithContext(ctx context.Context) StorageTypePtrOutput

func (StorageType) ToStringOutput

func (e StorageType) ToStringOutput() pulumi.StringOutput

func (StorageType) ToStringOutputWithContext

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

func (StorageType) ToStringPtrOutput

func (e StorageType) ToStringPtrOutput() pulumi.StringPtrOutput

func (StorageType) ToStringPtrOutputWithContext

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

type StorageTypeInput added in v4.13.0

type StorageTypeInput interface {
	pulumi.Input

	ToStorageTypeOutput() StorageTypeOutput
	ToStorageTypeOutputWithContext(context.Context) StorageTypeOutput
}

StorageTypeInput is an input type that accepts StorageTypeArgs and StorageTypeOutput values. You can construct a concrete instance of `StorageTypeInput` via:

StorageTypeArgs{...}

type StorageTypeOutput added in v4.13.0

type StorageTypeOutput struct{ *pulumi.OutputState }

func (StorageTypeOutput) ElementType added in v4.13.0

func (StorageTypeOutput) ElementType() reflect.Type

func (StorageTypeOutput) ToStorageTypeOutput added in v4.13.0

func (o StorageTypeOutput) ToStorageTypeOutput() StorageTypeOutput

func (StorageTypeOutput) ToStorageTypeOutputWithContext added in v4.13.0

func (o StorageTypeOutput) ToStorageTypeOutputWithContext(ctx context.Context) StorageTypeOutput

func (StorageTypeOutput) ToStorageTypePtrOutput added in v4.13.0

func (o StorageTypeOutput) ToStorageTypePtrOutput() StorageTypePtrOutput

func (StorageTypeOutput) ToStorageTypePtrOutputWithContext added in v4.13.0

func (o StorageTypeOutput) ToStorageTypePtrOutputWithContext(ctx context.Context) StorageTypePtrOutput

func (StorageTypeOutput) ToStringOutput added in v4.13.0

func (o StorageTypeOutput) ToStringOutput() pulumi.StringOutput

func (StorageTypeOutput) ToStringOutputWithContext added in v4.13.0

func (o StorageTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (StorageTypeOutput) ToStringPtrOutput added in v4.13.0

func (o StorageTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (StorageTypeOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o StorageTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type StorageTypePtrInput added in v4.13.0

type StorageTypePtrInput interface {
	pulumi.Input

	ToStorageTypePtrOutput() StorageTypePtrOutput
	ToStorageTypePtrOutputWithContext(context.Context) StorageTypePtrOutput
}

func StorageTypePtr added in v4.13.0

func StorageTypePtr(v string) StorageTypePtrInput

type StorageTypePtrOutput added in v4.13.0

type StorageTypePtrOutput struct{ *pulumi.OutputState }

func (StorageTypePtrOutput) Elem added in v4.13.0

func (StorageTypePtrOutput) ElementType added in v4.13.0

func (StorageTypePtrOutput) ElementType() reflect.Type

func (StorageTypePtrOutput) ToStorageTypePtrOutput added in v4.13.0

func (o StorageTypePtrOutput) ToStorageTypePtrOutput() StorageTypePtrOutput

func (StorageTypePtrOutput) ToStorageTypePtrOutputWithContext added in v4.13.0

func (o StorageTypePtrOutput) ToStorageTypePtrOutputWithContext(ctx context.Context) StorageTypePtrOutput

func (StorageTypePtrOutput) ToStringPtrOutput added in v4.13.0

func (o StorageTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (StorageTypePtrOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o StorageTypePtrOutput) 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an RDS DB subnet group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/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

func (*SubnetGroup) ElementType() reflect.Type

func (*SubnetGroup) ToSubnetGroupOutput

func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput

func (*SubnetGroup) ToSubnetGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupArray

type SubnetGroupArray []SubnetGroupInput

func (SubnetGroupArray) ElementType

func (SubnetGroupArray) ElementType() reflect.Type

func (SubnetGroupArray) ToSubnetGroupArrayOutput

func (i SubnetGroupArray) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArray) ToSubnetGroupArrayOutputWithContext

func (i SubnetGroupArray) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput

type SubnetGroupArrayInput

type SubnetGroupArrayInput interface {
	pulumi.Input

	ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
	ToSubnetGroupArrayOutputWithContext(context.Context) SubnetGroupArrayOutput
}

SubnetGroupArrayInput is an input type that accepts SubnetGroupArray and SubnetGroupArrayOutput values. You can construct a concrete instance of `SubnetGroupArrayInput` via:

SubnetGroupArray{ SubnetGroupArgs{...} }

type SubnetGroupArrayOutput

type SubnetGroupArrayOutput struct{ *pulumi.OutputState }

func (SubnetGroupArrayOutput) ElementType

func (SubnetGroupArrayOutput) ElementType() reflect.Type

func (SubnetGroupArrayOutput) Index

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutput

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput

type SubnetGroupInput

type SubnetGroupInput interface {
	pulumi.Input

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

type SubnetGroupMap

type SubnetGroupMap map[string]SubnetGroupInput

func (SubnetGroupMap) ElementType

func (SubnetGroupMap) ElementType() reflect.Type

func (SubnetGroupMap) ToSubnetGroupMapOutput

func (i SubnetGroupMap) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMap) ToSubnetGroupMapOutputWithContext

func (i SubnetGroupMap) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput

type SubnetGroupMapInput

type SubnetGroupMapInput interface {
	pulumi.Input

	ToSubnetGroupMapOutput() SubnetGroupMapOutput
	ToSubnetGroupMapOutputWithContext(context.Context) SubnetGroupMapOutput
}

SubnetGroupMapInput is an input type that accepts SubnetGroupMap and SubnetGroupMapOutput values. You can construct a concrete instance of `SubnetGroupMapInput` via:

SubnetGroupMap{ "key": SubnetGroupArgs{...} }

type SubnetGroupMapOutput

type SubnetGroupMapOutput struct{ *pulumi.OutputState }

func (SubnetGroupMapOutput) ElementType

func (SubnetGroupMapOutput) ElementType() reflect.Type

func (SubnetGroupMapOutput) MapIndex

func (SubnetGroupMapOutput) ToSubnetGroupMapOutput

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput

type SubnetGroupOutput

type SubnetGroupOutput struct{ *pulumi.OutputState }

func (SubnetGroupOutput) ElementType

func (SubnetGroupOutput) ElementType() reflect.Type

func (SubnetGroupOutput) ToSubnetGroupOutput

func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput

func (SubnetGroupOutput) ToSubnetGroupOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll 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