rds

cloudposse/rds/aws

Terraform Module HCL AWS

Terraform module to provision AWS RDS instances

Install
module "rds" {
source = "cloudposse/rds/aws"
version = "1.2.0"
}
⭐ Source on GitHub 📦 Registry page
README

Terraform module to provision AWS RDS instances > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Introduction The module will create: DB instance (MySQL, Postgres, SQL Server, Oracle) DB Option Group (will create a new one or you may use an existing) DB Parameter Group DB Subnet Group DB Security Group DNS Record in Route53 for the DB endpoint Usage ```hcl module "rds_instance" { source = "cloudposse/rds/aws" # Cloud Posse recommends pinning every module to a specific version # version = "x.x.x" namespace = "eg" stage = "prod"

Inputs (50)
NameTypeDescriptionDefault
instance_classstringClass of RDS instance required
engine_versionstringDatabase engine version, depends on engine type. required
skip_final_snapshotboolIf true (default), no snapshot will be made before deleting DBtrue
enabledboolSet to false to prevent the module from creating any resourcesnull
tenantstringID element _(Rarely used, not included by default)_. A customer identifier, indinull
delimiterstringDelimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` null
regex_replace_charsstringTerraform regular expression (regex) string. Characters matching the regex will null
label_value_casestringControls the letter case of ID elements (labels) as included in `id`, set as tagnull
storage_typestringOne of 'standard' (magnetic), 'gp2' (general purpose SSD), 'gp3' (general purpos"standard"
id_length_limitnumberLimit `id` to this many characters (minimum 6). Set to `0` for unlimited length.null
dns_zone_idstringThe ID of the DNS Zone in Route53 where a new DNS record will be created for the""
deletion_protectionboolSet to true to enable deletion protection on the RDS instancefalse
multi_azboolSet to true if multi AZ deployment must be supportedfalse
license_modelstringLicense model for this DB. Optional, but required for some DB Engines. Valid val""
ca_cert_identifierstringThe identifier of the CA certificate for the DB instancenull
allow_major_version_upgradeboolAllow major version upgradefalse
attributeslist(string)ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, []
tagsmap(string)Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t{}
database_passwordstringPassword for the primary DB user. Required unless a `snapshot_identifier` or `renull
enginestringDatabase engine type. Required unless a `snapshot_identifier` or `replicate_sournull
stagestringID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bunull
additional_tag_mapmap(string)Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add{}
… and 10 more inputs
Outputs (11)
subnet_group_id — ID of the created Subnet Group
option_group_id — ID of the Option Group
hostname — DNS host name of the instance
instance_id — ID of the instance
instance_arn — ARN of the instance
instance_address — Address of the instance
security_group_id — ID of the Security Group
parameter_group_id — ID of the Parameter Group
resource_id — The RDS Resource ID of this instance.
master_user_secret — Secret object if configured with `var.database_manage_master_user_password = true`.
instance_endpoint — DNS Endpoint of the instance
Resources (6)
aws_db_instanceaws_db_option_groupaws_db_parameter_groupaws_db_subnet_groupaws_security_groupaws_security_group_rule
Details
FrameworkTerraform Module
LanguageHCL
Version1.2.0
Cloud AWS
★ Stars169
Forks178
Total downloads2.6M
Inputs50
Outputs11
Resources6
Examples2
LicenseApache-2.0
Namespacecloudposse
Updated