A Pulumi provider SDK for creating and managing Amazon Web Services (AWS) cloud resources in Go, providing strongly-typed resource classes and data sources for all major AWS services.
The rds package provides resources for managing Amazon RDS database instances, Aurora clusters, subnet groups, parameter groups, snapshots, proxies, and related features.
import "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/rds"// Resources
NewCertificate(ctx, name, args, opts) (*Certificate, error)
NewCluster(ctx, name, args, opts) (*Cluster, error)
NewClusterActivityStream(ctx, name, args, opts) (*ClusterActivityStream, error)
NewClusterEndpoint(ctx, name, args, opts) (*ClusterEndpoint, error)
NewClusterInstance(ctx, name, args, opts) (*ClusterInstance, error)
NewClusterParameterGroup(ctx, name, args, opts) (*ClusterParameterGroup, error)
NewClusterRoleAssociation(ctx, name, args, opts) (*ClusterRoleAssociation, error)
NewClusterSnapshot(ctx, name, args, opts) (*ClusterSnapshot, error)
NewClusterSnapshotCopy(ctx, name, args, opts) (*ClusterSnapshotCopy, error)
NewCustomDbEngineVersion(ctx, name, args, opts) (*CustomDbEngineVersion, error)
NewEventSubscription(ctx, name, args, opts) (*EventSubscription, error)
NewExportTask(ctx, name, args, opts) (*ExportTask, error)
NewGlobalCluster(ctx, name, args, opts) (*GlobalCluster, error)
NewInstance(ctx, name, args, opts) (*Instance, error)
NewInstanceAutomatedBackupsReplication(ctx, name, args, opts) (*InstanceAutomatedBackupsReplication, error)
NewInstanceDesiredState(ctx, name, args, opts) (*InstanceDesiredState, error)
NewIntegration(ctx, name, args, opts) (*Integration, error)
NewOptionGroup(ctx, name, args, opts) (*OptionGroup, error)
NewParameterGroup(ctx, name, args, opts) (*ParameterGroup, error)
NewProxy(ctx, name, args, opts) (*Proxy, error)
NewProxyDefaultTargetGroup(ctx, name, args, opts) (*ProxyDefaultTargetGroup, error)
NewProxyEndpoint(ctx, name, args, opts) (*ProxyEndpoint, error)
NewProxyTarget(ctx, name, args, opts) (*ProxyTarget, error)
NewReservedInstance(ctx, name, args, opts) (*ReservedInstance, error)
NewRoleAssociation(ctx, name, args, opts) (*RoleAssociation, error)
NewShardGroup(ctx, name, args, opts) (*ShardGroup, error)
NewSnapshot(ctx, name, args, opts) (*Snapshot, error)
NewSnapshotCopy(ctx, name, args, opts) (*SnapshotCopy, error)
NewSubnetGroup(ctx, name, args, opts) (*SubnetGroup, error)
// Data Sources / Lookup Functions
GetCertificate(ctx, name, id, state, opts) (*Certificate, error)
GetCluster(ctx, name, id, state, opts) (*Cluster, error)
GetClusterActivityStream(ctx, name, id, state, opts) (*ClusterActivityStream, error)
GetClusterEndpoint(ctx, name, id, state, opts) (*ClusterEndpoint, error)
GetClusterInstance(ctx, name, id, state, opts) (*ClusterInstance, error)
GetClusterParameterGroup(ctx, name, id, state, opts) (*ClusterParameterGroup, error)
GetClusterRoleAssociation(ctx, name, id, state, opts) (*ClusterRoleAssociation, error)
GetClusterSnapshot(ctx, name, id, state, opts) (*ClusterSnapshot, error)
GetClusterSnapshotCopy(ctx, name, id, state, opts) (*ClusterSnapshotCopy, error)
GetCustomDbEngineVersion(ctx, name, id, state, opts) (*CustomDbEngineVersion, error)
GetEventSubscription(ctx, name, id, state, opts) (*EventSubscription, error)
GetExportTask(ctx, name, id, state, opts) (*ExportTask, error)
GetGlobalCluster(ctx, name, id, state, opts) (*GlobalCluster, error)
GetInstance(ctx, name, id, state, opts) (*Instance, error)
GetInstanceAutomatedBackupsReplication(ctx, name, id, state, opts) (*InstanceAutomatedBackupsReplication, error)
GetInstanceDesiredState(ctx, name, id, state, opts) (*InstanceDesiredState, error)
GetIntegration(ctx, name, id, state, opts) (*Integration, error)
GetOptionGroup(ctx, name, id, state, opts) (*OptionGroup, error)
GetParameterGroup(ctx, name, id, state, opts) (*ParameterGroup, error)
GetProxy(ctx, name, id, state, opts) (*Proxy, error)
GetProxyDefaultTargetGroup(ctx, name, id, state, opts) (*ProxyDefaultTargetGroup, error)
GetProxyEndpoint(ctx, name, id, state, opts) (*ProxyEndpoint, error)
GetProxyTarget(ctx, name, id, state, opts) (*ProxyTarget, error)
GetReservedInstance(ctx, name, id, state, opts) (*ReservedInstance, error)
GetRoleAssociation(ctx, name, id, state, opts) (*RoleAssociation, error)
GetShardGroup(ctx, name, id, state, opts) (*ShardGroup, error)
GetSnapshot(ctx, name, id, state, opts) (*Snapshot, error)
GetSnapshotCopy(ctx, name, id, state, opts) (*SnapshotCopy, error)
GetSubnetGroup(ctx, name, id, state, opts) (*SubnetGroup, error)
GetClusters(ctx, args, opts) (*GetClustersResult, error)
GetClustersOutput(ctx, args, opts) GetClustersResultOutput
GetEngineVersion(ctx, args, opts) (*GetEngineVersionResult, error)
GetEngineVersionOutput(ctx, args, opts) GetEngineVersionResultOutput
GetEventCategories(ctx, args, opts) (*GetEventCategoriesResult, error)
GetEventCategoriesOutput(ctx, args, opts) GetEventCategoriesResultOutput
GetInstances(ctx, args, opts) (*GetInstancesResult, error)
GetInstancesOutput(ctx, args, opts) GetInstancesResultOutput
GetOrderableDbInstance(ctx, args, opts) (*GetOrderableDbInstanceResult, error)
GetOrderableDbInstanceOutput(ctx, args, opts) GetOrderableDbInstanceResultOutput
GetReservedInstanceOffering(ctx, args, opts) (*GetReservedInstanceOfferingResult, error)
GetReservedInstanceOfferingOutput(ctx, args, opts) GetReservedInstanceOfferingResultOutput
LookupInstance(ctx, args, opts) (*LookupInstanceResult, error)InstanceManages a single RDS database instance (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, etc.).
func NewInstance(
ctx *pulumi.Context,
name string,
args *rds.InstanceArgs,
opts ...pulumi.ResourceOption,
) (*rds.Instance, error)InstanceArgs Fieldstype InstanceArgs struct {
// Allocated storage in GiB. Required unless restoring from a snapshot or read replica.
AllocatedStorage pulumi.IntPtrInput
// Allow major engine version upgrades. Default: false.
AllowMajorVersionUpgrade pulumi.BoolPtrInput
// Apply modifications immediately (vs. during next maintenance window). Default: false.
ApplyImmediately pulumi.BoolPtrInput
// Enable automatic minor version upgrades. Default: true.
AutoMinorVersionUpgrade pulumi.BoolPtrInput
// Availability Zone for the instance.
AvailabilityZone pulumi.StringPtrInput
// Days to retain automated backups (0–35). Default: 0.
BackupRetentionPeriod pulumi.IntPtrInput
// Backup storage target. Values: "region" (default), "outposts".
BackupTarget pulumi.StringPtrInput
// Daily UTC backup window (e.g., "09:46-10:16"). Must not overlap MaintenanceWindow.
BackupWindow pulumi.StringPtrInput
// Enable RDS Blue/Green deployments for low-downtime updates.
BlueGreenUpdate InstanceBlueGreenUpdatePtrInput
// CA certificate identifier.
CaCertIdentifier pulumi.StringPtrInput
// Character set name (Oracle and SQL Server only; immutable after creation).
CharacterSetName pulumi.StringPtrInput
// Copy instance tags to snapshots. Default: false.
CopyTagsToSnapshot pulumi.BoolPtrInput
// IAM instance profile for RDS Custom DB instances.
CustomIamInstanceProfile pulumi.StringPtrInput
// Enable customer-owned IP for RDS on Outposts.
CustomerOwnedIpEnabled pulumi.BoolPtrInput
// Database Insights mode. Values: "standard", "advanced".
DatabaseInsightsMode pulumi.StringPtrInput
// Name of the initial database to create. Not applicable for Oracle or SQL Server.
DbName pulumi.StringPtrInput
// DB subnet group name. Defaults to the "default" subnet group.
DbSubnetGroupName pulumi.StringPtrInput
// Use a dedicated log volume (DLV). Requires Provisioned IOPS.
DedicatedLogVolume pulumi.BoolPtrInput
// Remove automated backups immediately on deletion. Default: true.
DeleteAutomatedBackups pulumi.BoolPtrInput
// Enable deletion protection. Default: false.
DeletionProtection pulumi.BoolPtrInput
// Active Directory domain ID (conflicts with DomainFqdn, DomainOu, DomainAuthSecretArn, DomainDnsIps).
Domain pulumi.StringPtrInput
// Secrets Manager ARN for self-managed AD credentials.
DomainAuthSecretArn pulumi.StringPtrInput
// IPv4 DNS addresses of AD domain controllers (two required).
DomainDnsIps pulumi.StringArrayInput
// FQDN of the self-managed AD domain.
DomainFqdn pulumi.StringPtrInput
// IAM role for Directory Service API calls.
DomainIamRoleName pulumi.StringPtrInput
// AD organizational unit for the DB instance.
DomainOu pulumi.StringPtrInput
// CloudWatch log types to export (e.g., "error", "general", "slowquery").
EnabledCloudwatchLogsExports pulumi.StringArrayInput
// Database engine (e.g., "mysql", "postgres", "mariadb", "oracle-ee", "sqlserver-ex"). Required.
Engine pulumi.StringPtrInput
// Extended Support lifecycle. Values: "open-source-rds-extended-support" (default),
// "open-source-rds-extended-support-disabled".
EngineLifecycleSupport pulumi.StringPtrInput
// Engine version (e.g., "8.0"). Partial versions accepted when AutoMinorVersionUpgrade is true.
EngineVersion pulumi.StringPtrInput
// Final snapshot identifier. Required when SkipFinalSnapshot is false.
FinalSnapshotIdentifier pulumi.StringPtrInput
// Enable IAM database authentication.
IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput
// Instance identifier. Auto-generated if omitted. Required when RestoreToPointInTime is set.
Identifier pulumi.StringPtrInput
// Unique identifier prefix. Conflicts with Identifier.
IdentifierPrefix pulumi.StringPtrInput
// Instance class (e.g., "db.t3.micro", "db.r6g.large"). Required.
InstanceClass pulumi.StringInput
// Provisioned IOPS. Required for storageType "io1" or "io2".
Iops pulumi.IntPtrInput
// KMS key ARN for encryption (also used for encrypted read replicas).
KmsKeyId pulumi.StringPtrInput
// License model (varies by engine; e.g., "general-public-license" for MySQL).
LicenseModel pulumi.StringPtrInput
// Maintenance window (e.g., "Mon:00:00-Mon:03:00"). Must not overlap BackupWindow.
MaintenanceWindow pulumi.StringPtrInput
// Let RDS manage the master password in Secrets Manager. Mutually exclusive with Password.
ManageMasterUserPassword pulumi.BoolPtrInput
// KMS key for master user secret encryption.
MasterUserSecretKmsKeyId pulumi.StringPtrInput
// Maximum storage in GiB for autoscaling (set > AllocatedStorage to enable; 0 to disable).
MaxAllocatedStorage pulumi.IntPtrInput
// Enhanced Monitoring interval in seconds (0, 1, 5, 10, 15, 30, 60). Default: 0 (disabled).
MonitoringInterval pulumi.IntPtrInput
// IAM role ARN for Enhanced Monitoring.
MonitoringRoleArn pulumi.StringPtrInput
// Enable Multi-AZ deployment.
MultiAz pulumi.BoolPtrInput
// National character set for Oracle NCHAR/NVARCHAR2/NCLOB (immutable).
NcharCharacterSetName pulumi.StringPtrInput
// Network type. Values: "IPV4", "DUAL".
NetworkType pulumi.StringPtrInput
// DB option group name.
OptionGroupName pulumi.StringPtrInput
// DB parameter group name.
ParameterGroupName pulumi.StringPtrInput
// Master user password. Mutually exclusive with ManageMasterUserPassword.
Password pulumi.StringPtrInput
// Write-only password field (not stored in state reads). Mutually exclusive with ManageMasterUserPassword.
PasswordWo pulumi.StringPtrInput
// Version counter for PasswordWo updates.
PasswordWoVersion pulumi.IntPtrInput
// Enable Performance Insights. Default: false.
PerformanceInsightsEnabled pulumi.BoolPtrInput
// KMS key for Performance Insights data.
PerformanceInsightsKmsKeyId pulumi.StringPtrInput
// Performance Insights retention in days (7, 731, or a multiple of 31). Default: 7.
PerformanceInsightsRetentionPeriod pulumi.IntPtrInput
// Database port.
Port pulumi.IntPtrInput
// Make the instance publicly accessible. Default: false.
PubliclyAccessible pulumi.BoolPtrInput
// AWS region override.
Region pulumi.StringPtrInput
// Replica mode for Oracle replicas. Values: "mounted", "open-read-only".
ReplicaMode pulumi.StringPtrInput
// Source DB identifier or ARN for read replicas.
ReplicateSourceDb pulumi.StringPtrInput
// Point-in-time restore configuration block.
RestoreToPointInTime InstanceRestoreToPointInTimePtrInput
// Restore from Percona Xtrabackup in S3.
S3Import InstanceS3ImportPtrInput
// Skip final snapshot on deletion. Default: false.
SkipFinalSnapshot pulumi.BoolPtrInput
// Snapshot identifier to restore from.
SnapshotIdentifier pulumi.StringPtrInput
// Enable storage encryption. Default: false.
StorageEncrypted pulumi.BoolPtrInput
// Storage throughput in MiB/s. For "gp3" storage only.
StorageThroughput pulumi.IntPtrInput
// Storage type. Values: "standard", "gp2", "gp3", "io1", "io2". Default: "gp2" or "io1" if Iops set.
StorageType pulumi.StringPtrInput
// Resource tags.
Tags pulumi.StringMapInput
// Timezone (SQL Server only; immutable after creation).
Timezone pulumi.StringPtrInput
// Upgrade storage file system on the read replica (only with ReplicateSourceDb).
UpgradeStorageConfig pulumi.BoolPtrInput
// Master username (required unless restoring from snapshot or read replica).
Username pulumi.StringPtrInput
// VPC security group IDs.
VpcSecurityGroupIds pulumi.StringArrayInput
}Instance Output Attributes| Field | Type | Description |
|---|---|---|
Address | pulumi.StringOutput | DNS address of the instance |
AllocatedStorage | pulumi.IntOutput | Allocated storage in GiB |
Arn | pulumi.StringOutput | ARN of the DB instance |
AvailabilityZone | pulumi.StringOutput | Availability zone |
DbName | pulumi.StringOutput | Initial database name |
Endpoint | pulumi.StringOutput | Connection endpoint (address:port) |
Engine | pulumi.StringOutput | Database engine |
EngineVersion | pulumi.StringOutput | Configured engine version |
EngineVersionActual | pulumi.StringOutput | Running engine version |
Identifier | pulumi.StringOutput | Instance identifier |
InstanceClass | pulumi.StringOutput | DB instance class |
KmsKeyId | pulumi.StringOutput | KMS key ARN (if encrypted) |
MultiAz | pulumi.BoolOutput | Whether Multi-AZ is enabled |
Port | pulumi.IntOutput | Listening port |
Status | pulumi.StringOutput | Current instance status |
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/rds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
db, err := rds.NewInstance(ctx, "mysql-db", &rds.InstanceArgs{
AllocatedStorage: pulumi.Int(20),
Engine: pulumi.String("mysql"),
EngineVersion: pulumi.String("8.0"),
InstanceClass: pulumi.String("db.t3.micro"),
DbName: pulumi.String("mydb"),
Username: pulumi.String("admin"),
Password: pulumi.String("changeme"),
DbSubnetGroupName: pulumi.String(subnetGroupName),
VpcSecurityGroupIds: pulumi.StringArray{pulumi.String(sgId)},
SkipFinalSnapshot: pulumi.Bool(true),
StorageEncrypted: pulumi.Bool(true),
MultiAz: pulumi.Bool(false),
Tags: pulumi.StringMap{
"Environment": pulumi.String("dev"),
},
})
if err != nil {
return err
}
ctx.Export("endpoint", db.Endpoint)
return nil
})
}ClusterManages an Amazon Aurora DB cluster or Multi-AZ RDS cluster.
func NewCluster(
ctx *pulumi.Context,
name string,
args *rds.ClusterArgs,
opts ...pulumi.ResourceOption,
) (*rds.Cluster, error)ClusterArgs Fields| Field | Type | Description |
|---|---|---|
Engine | pulumi.StringInput | Required. Values: aurora-mysql, aurora-postgresql, mysql, postgres |
ClusterIdentifier | pulumi.StringPtrInput | Cluster identifier. Auto-generated if omitted |
ClusterIdentifierPrefix | pulumi.StringPtrInput | Unique prefix. Conflicts with ClusterIdentifier |
DatabaseName | pulumi.StringPtrInput | Initial database name |
MasterUsername | pulumi.StringPtrInput | Master username (immutable after initial creation) |
MasterPassword | pulumi.StringPtrInput | Master password. Mutually exclusive with ManageMasterUserPassword |
MasterPasswordWo | pulumi.StringPtrInput | Write-only master password (not stored in state reads) |
ManageMasterUserPassword | pulumi.BoolPtrInput | Let RDS manage the master password in Secrets Manager |
EngineVersion | pulumi.StringPtrInput | Engine version |
EngineMode | pulumi.StringPtrInput | Values: provisioned (default), serverless, parallelquery, global |
EngineLifecycleSupport | pulumi.StringPtrInput | Extended Support setting |
AvailabilityZones | pulumi.StringArrayInput | AZs for cluster storage (max 3; RDS assigns 3 if fewer specified) |
BackupRetentionPeriod | pulumi.IntPtrInput | Days to retain backups. Default: 1 |
BacktrackWindow | pulumi.IntPtrInput | Backtrack window in seconds (0–259200). Aurora MySQL only |
DbSubnetGroupName | pulumi.StringPtrInput | DB subnet group name |
DbClusterParameterGroupName | pulumi.StringPtrInput | Cluster parameter group |
DbInstanceParameterGroupName | pulumi.StringPtrInput | Instance parameter group (use with AllowMajorVersionUpgrade) |
VpcSecurityGroupIds | pulumi.StringArrayInput | VPC security group IDs |
KmsKeyId | pulumi.StringPtrInput | KMS key ARN when StorageEncrypted is true |
StorageEncrypted | pulumi.BoolPtrInput | Enable storage encryption |
StorageType | pulumi.StringPtrInput | Storage type (Multi-AZ clusters only) |
Iops | pulumi.IntPtrInput | Provisioned IOPS (Multi-AZ clusters only) |
Port | pulumi.IntPtrInput | Port number |
DeletionProtection | pulumi.BoolPtrInput | Prevent cluster deletion. Default: false |
SkipFinalSnapshot | pulumi.BoolPtrInput | Skip final snapshot on deletion |
FinalSnapshotIdentifier | pulumi.StringPtrInput | Final snapshot name |
SnapshotIdentifier | pulumi.StringPtrInput | Snapshot to restore from |
EnableHttpEndpoint | pulumi.BoolPtrInput | Enable Data API (serverless and select Aurora configurations) |
EnableGlobalWriteForwarding | pulumi.BoolPtrInput | Forward writes to global cluster primary |
EnableLocalWriteForwarding | pulumi.BoolPtrInput | Enable local write forwarding. Aurora MySQL 3.04+ only |
EnabledCloudwatchLogsExports | pulumi.StringArrayInput | Log types: audit, error, general, postgresql, slowquery |
IamDatabaseAuthenticationEnabled | pulumi.BoolPtrInput | Enable IAM database authentication |
IamRoles | pulumi.StringArrayInput | IAM role ARNs to associate |
GlobalClusterIdentifier | pulumi.StringPtrInput | Global cluster identifier |
ReplicationSourceIdentifier | pulumi.StringPtrInput | ARN of source cluster for cross-region replicas |
ApplyImmediately | pulumi.BoolPtrInput | Apply changes immediately. Default: false |
AllowMajorVersionUpgrade | pulumi.BoolPtrInput | Allow major version upgrades. Default: false |
ScalingConfiguration | ClusterScalingConfigurationPtrInput | Serverless v1 scaling configuration |
ServerlessV2ScalingConfiguration | ClusterServerlessV2ScalingConfigurationPtrInput | Serverless v2 scaling configuration |
ClusterScalabilityType | pulumi.StringPtrInput | Values: standard (default), limitless |
NetworkType | pulumi.StringPtrInput | Values: IPV4, DUAL |
MonitoringInterval | pulumi.IntPtrInput | Enhanced Monitoring interval (0, 1, 5, 10, 15, 30, 60). Default: 0 |
MonitoringRoleArn | pulumi.StringPtrInput | IAM role ARN for Enhanced Monitoring |
PerformanceInsightsEnabled | pulumi.BoolPtrInput | Enable Performance Insights |
PerformanceInsightsKmsKeyId | pulumi.StringPtrInput | KMS key for Performance Insights |
PerformanceInsightsRetentionPeriod | pulumi.IntPtrInput | Retention period in days for Performance Insights |
CopyTagsToSnapshot | pulumi.BoolPtrInput | Copy tags to snapshots. Default: false |
Tags | pulumi.StringMapInput | Resource tags |
Cluster Output Attributes| Field | Type | Description |
|---|---|---|
Arn | pulumi.StringOutput | Cluster ARN |
ClusterIdentifier | pulumi.StringOutput | Cluster identifier |
ClusterResourceId | pulumi.StringOutput | Cluster resource ID |
Endpoint | pulumi.StringOutput | Writer endpoint DNS address |
ReaderEndpoint | pulumi.StringOutput | Read-only endpoint DNS address |
Engine | pulumi.StringOutput | Database engine |
EngineVersion | pulumi.StringOutput | Configured engine version |
EngineVersionActual | pulumi.StringOutput | Running engine version |
Port | pulumi.IntOutput | Database port |
DatabaseName | pulumi.StringOutput | Initial database name |
MasterUsername | pulumi.StringOutput | Master username |
HostedZoneId | pulumi.StringOutput | Route 53 hosted zone ID for the endpoint |
ClusterMembers | pulumi.StringArrayOutput | List of cluster instance identifiers |
cluster, err := rds.NewCluster(ctx, "aurora-mysql", &rds.ClusterArgs{
ClusterIdentifier: pulumi.String("aurora-cluster"),
Engine: pulumi.String("aurora-mysql"),
EngineVersion: pulumi.String("8.0.mysql_aurora.3.04.0"),
DatabaseName: pulumi.String("mydb"),
MasterUsername: pulumi.String("admin"),
MasterPassword: pulumi.String("changeme"),
DbSubnetGroupName: pulumi.String(subnetGroupName),
VpcSecurityGroupIds: pulumi.StringArray{pulumi.String(sgId)},
SkipFinalSnapshot: pulumi.Bool(true),
StorageEncrypted: pulumi.Bool(true),
BackupRetentionPeriod: pulumi.Int(7),
})SubnetGroupManages an RDS DB subnet group. Instances and clusters deployed into a VPC must reference a subnet group.
func NewSubnetGroup(
ctx *pulumi.Context,
name string,
args *rds.SubnetGroupArgs,
opts ...pulumi.ResourceOption,
) (*rds.SubnetGroup, error)SubnetGroupArgs Fieldstype SubnetGroupArgs struct {
// Subnet IDs to include in the group. Required.
SubnetIds pulumi.StringArrayInput
// Name of the subnet group. Auto-generated if omitted.
Name pulumi.StringPtrInput
// Unique name prefix. Conflicts with Name.
NamePrefix pulumi.StringPtrInput
// Description. Defaults to "Managed by Pulumi".
Description pulumi.StringPtrInput
// AWS region override.
Region pulumi.StringPtrInput
// Resource tags.
Tags pulumi.StringMapInput
}SubnetGroup Output Attributes| Field | Type | Description |
|---|---|---|
Arn | pulumi.StringOutput | ARN of the subnet group |
Name | pulumi.StringOutput | Subnet group name |
VpcId | pulumi.StringOutput | VPC ID the subnet group belongs to |
SupportedNetworkTypes | pulumi.StringArrayOutput | Supported network types |
subnetGroup, err := rds.NewSubnetGroup(ctx, "db-subnet-group", &rds.SubnetGroupArgs{
Name: pulumi.String("db-subnet-group"),
SubnetIds: pulumi.StringArray{
pulumi.String(privateSubnet1Id),
pulumi.String(privateSubnet2Id),
},
Tags: pulumi.StringMap{
"Name": pulumi.String("DB subnet group"),
},
})ParameterGroupManages an RDS DB parameter group for configuring database engine settings.
func NewParameterGroup(
ctx *pulumi.Context,
name string,
args *rds.ParameterGroupArgs,
opts ...pulumi.ResourceOption,
) (*rds.ParameterGroup, error)ParameterGroupArgs Fields| Field | Type | Description |
|---|---|---|
Family | pulumi.StringInput | Required. Parameter group family (e.g., mysql8.0, postgres15) |
Name | pulumi.StringPtrInput | Parameter group name. Auto-generated if omitted |
NamePrefix | pulumi.StringPtrInput | Unique name prefix. Conflicts with Name |
Description | pulumi.StringPtrInput | Description. Defaults to "Managed by Pulumi" |
Parameters | ParameterGroupParameterArrayInput | List of parameter blocks ({Name, Value, ApplyMethod}) |
SkipDestroy | pulumi.BoolPtrInput | Retain the parameter group on destroy |
Tags | pulumi.StringMapInput | Resource tags |
ParameterGroup Output Attributes| Field | Type | Description |
|---|---|---|
Arn | pulumi.StringOutput | ARN of the parameter group |
Family | pulumi.StringOutput | Parameter group family |
Name | pulumi.StringOutput | Parameter group name |
pg, err := rds.NewParameterGroup(ctx, "mysql-pg", &rds.ParameterGroupArgs{
Name: pulumi.String("mysql-params"),
Family: pulumi.String("mysql8.0"),
Parameters: rds.ParameterGroupParameterArray{
&rds.ParameterGroupParameterArgs{
Name: pulumi.String("max_connections"),
Value: pulumi.String("200"),
},
&rds.ParameterGroupParameterArgs{
Name: pulumi.String("slow_query_log"),
Value: pulumi.String("1"),
ApplyMethod: pulumi.String("immediate"),
},
},
})LookupInstance — Instance Data SourceLook up an existing RDS instance by its identifier.
func LookupInstance(
ctx *pulumi.Context,
args *rds.LookupInstanceArgs,
opts ...pulumi.InvokeOption,
) (*rds.LookupInstanceResult, error)LookupInstanceArgs Fieldstype LookupInstanceArgs struct {
// Name of the RDS instance to look up.
DbInstanceIdentifier *string `pulumi:"dbInstanceIdentifier"`
// AWS region override.
Region *string `pulumi:"region"`
// Tags that must exactly match the instance.
Tags map[string]string `pulumi:"tags"`
}instance, err := rds.LookupInstance(ctx, &rds.LookupInstanceArgs{
DbInstanceIdentifier: pulumi.StringRef("my-existing-db"),
})
if err != nil {
return err
}
ctx.Export("dbEndpoint", pulumi.String(instance.Endpoint))DB instances are imported using the instance identifier:
pulumi import aws:rds/instance:Instance default mydbDB clusters are imported using the cluster identifier:
pulumi import aws:rds/cluster:Cluster default aurora-clusterSubnet groups are imported using the group name:
pulumi import aws:rds/subnetGroup:SubnetGroup default production-subnet-groupParameter groups are imported using the group name:
pulumi import aws:rds/parameterGroup:ParameterGroup rds_pg rds-pgInstall with Tessl CLI
npx tessl i tessl/golang-github-com-pulumi-pulumi-aws-sdk-v7docs