Skip to content

Terraform module for creation of AWS RDS Instances, Aurora Cluster and Aurora Serverless.

License

Notifications You must be signed in to change notification settings

DNXLabs/terraform-aws-rds

Repository files navigation

terraform-aws-rds

Lint Status LICENSE

Requirements

Name Version
terraform >= 0.13.0

Providers

Name Version
aws n/a
random n/a

Inputs

Name Description Type Default Required
allocated_storage Storage size in GB number null no
allow_cidrs List of CIDRs to allow connection to this DB list(string) [] no
allow_cidrs_replica List of CIDRs to allow connection to this DB Replica list(string) [] no
allow_security_group_ids List of Security Group IDs to allow connection to this DB
list(object({
security_group_id = string
description = string
name = string
}))
[] no
allow_security_group_ids_replica List of Security Group IDs to allow connection to this DB Replica
list(object({
security_group_id = string
description = string
name = string
}))
[] no
apply_immediately Apply changes immediately or wait for the maintainance window bool true no
auto_minor_version_upgrade Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window bool true no
backup Enables automatic backup with AWS Backup bool n/a yes
backup_window (RDS Only) 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 maintenance_window string "03:00-03:30" no
cluster_parameters A list of Cluster parameters (map) to apply list(map(string)) [] no
count_aurora_instances Number of Aurora Instances number "1" no
create_cluster_parameter_group Whether to create a cluster parameter group bool false no
create_db_option_group (Optional) Create a database option group bool false no
create_db_parameter_group Whether to create a database parameter group bool false no
create_db_subnet_group Create a Subnet group? bool false no
database_name Database Name string "" no
db_parameters A list of DB parameters (map) to apply list(map(string)) [] no
db_subnet_group_id RDS Subnet Group Name string n/a yes
db_subnet_group_replica_id RDS Subnet Group Name string n/a yes
db_subnet_group_subnet_ids List of Subnet IDs for the RDS Subnet Group list [] no
db_type Valid values are: rds, aurora or serverless string n/a yes
deletion_protection The database can't be deleted when this value is set to true. bool false no
enable_replica Enable read replica for RDS bool false no
enabled_cloudwatch_logs_exports (Optional) Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine) any null no
engine n/a string n/a yes
engine_version n/a string "" no
environment_name Environment name to use as a prefix to this DB string n/a yes
family The family of the DB parameter group string "" no
final_snapshot_identifier Pass the final snapshot identifier for the final snapshot to be created after the database is destroyed. string "" no
iam_database_authentication_enabled n/a bool false no
identifier Optional identifier for DB. If not passed, {environment_name}-{name} will be used string "" no
instance_class n/a string n/a yes
instance_class_replica Define instance class for read replica string null no
iops The amount of provisioned IOPS. Setting this implies a storage_type of io1 number null no
kms_key_arn KMS Key ARN to use a CMK instead of default shared key, when storage_encrypted is true string "" no
license_model License model information for this DB instance (Optional, but required for some DB engines, i.e. Oracle SE1 and SQL Server) string null no
maintenance_window (RDS Only) The window to perform maintenance in. Syntax: 'ddd:hh24:mi-ddd:hh24:mi'. Eg: 'Mon:00:00-Mon:03:00' string "Sun:04:00-Sun:05:00" no
major_engine_version Specifies the major version of the engine that this option group should be associated with string "" no
max_allocated_storage Argument higher than the allocated_storage to enable Storage Autoscaling, size in GB. 0 to disable Storage Autoscaling number 0 no
monitoring_interval The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance number 0 no
multi_az Deploy multi-az instance database bool false no
name Name of this RDS Database string n/a yes
option_group_description The description of the option group string "Managed by Terraform" no
option_group_name Name of the option group string null no
option_group_use_name_prefix Determines whether to use option_group_name as is or create a unique name beginning with the option_group_name as the prefix bool true no
option_name (Required) The Name of the Option string "" no
options A list of Options to apply. any [] no
parameter_group_description The description of the DB parameter group string "Managed by Terraform" no
parameter_group_name Name of the DB parameter group to associate or create string null no
performance_insights_enabled Enable performance insights on instance bool false no
port Port number for this DB (usually 3306 for MySQL and 5432 for Postgres) number n/a yes
preferred_backup_window (Aurora Only) 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 maintenance_window string "07:00-09:00" no
preferred_maintenance_window (Aurora Only) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 string "Sun:04:00-Sun:05:00" no
publicly_accessible (Optional) Bool to control if instance is publicly accessible bool false no
publicly_accessible_replica (Optional) Bool to control if instance is publicly accessible bool false no
retention Snapshot retention period in days number n/a yes
secret_method Use ssm for SSM parameters store which is the default option, or secretsmanager for AWS Secrets Manager string "ssm" no
skip_final_snapshot Skips the final snapshot if the database is destroyed programatically bool false no
snapshot_identifier Pass a snapshot identifier for the database to be created from this snapshot string "" no
ssm_kms_key_id KMS Key Id to use a CMK instead of default shared key for SSM parameters string "" no
storage_encrypted Enables storage encryption bool true no
storage_type The instance storage type string "gp2" no
user DB User string n/a yes
vpc_id n/a string n/a yes

Outputs

Name Description
db_arn n/a
endpoint n/a
identifier n/a
rds_sg n/a

Authors

Module managed by DNX Solutions.

License

Apache 2 Licensed. See LICENSE for full details.

About

Terraform module for creation of AWS RDS Instances, Aurora Cluster and Aurora Serverless.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages