rds
cloudposse/rds/aws
Terraform module to provision AWS RDS instances
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"
| Name | Type | Description | Default |
|---|---|---|---|
| instance_class | string | Class of RDS instance | required |
| engine_version | string | Database engine version, depends on engine type. | required |
| skip_final_snapshot | bool | If true (default), no snapshot will be made before deleting DB | true |
| enabled | bool | Set to false to prevent the module from creating any resources | null |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | null |
| delimiter | string | Delimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` | null |
| regex_replace_chars | string | Terraform regular expression (regex) string. Characters matching the regex will | null |
| label_value_case | string | Controls the letter case of ID elements (labels) as included in `id`, set as tag | null |
| storage_type | string | One of 'standard' (magnetic), 'gp2' (general purpose SSD), 'gp3' (general purpos | "standard" |
| id_length_limit | number | Limit `id` to this many characters (minimum 6). Set to `0` for unlimited length. | null |
| dns_zone_id | string | The ID of the DNS Zone in Route53 where a new DNS record will be created for the | "" |
| deletion_protection | bool | Set to true to enable deletion protection on the RDS instance | false |
| multi_az | bool | Set to true if multi AZ deployment must be supported | false |
| license_model | string | License model for this DB. Optional, but required for some DB Engines. Valid val | "" |
| ca_cert_identifier | string | The identifier of the CA certificate for the DB instance | null |
| allow_major_version_upgrade | bool | Allow major version upgrade | false |
| attributes | list(string) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, | [] |
| tags | map(string) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t | {} |
| database_password | string | Password for the primary DB user. Required unless a `snapshot_identifier` or `re | null |
| engine | string | Database engine type. Required unless a `snapshot_identifier` or `replicate_sour | null |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | null |
| additional_tag_map | map(string) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add | {} |
| … and 10 more inputs | |||
subnet_group_id — ID of the created Subnet Groupoption_group_id — ID of the Option Grouphostname — DNS host name of the instanceinstance_id — ID of the instanceinstance_arn — ARN of the instanceinstance_address — Address of the instancesecurity_group_id — ID of the Security Groupparameter_group_id — ID of the Parameter Groupresource_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 instanceAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,