{"id":48211158,"url":"https://github.com/techservicesillinois/terraform-aws-rds","last_synced_at":"2026-04-04T18:48:35.043Z","repository":{"id":51030908,"uuid":"192786046","full_name":"techservicesillinois/terraform-aws-rds","owner":"techservicesillinois","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-16T17:54:39.000Z","size":116,"stargazers_count":1,"open_issues_count":0,"forks_count":6,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-12-16T18:44:05.272Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/techservicesillinois.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-19T18:40:30.000Z","updated_at":"2024-12-16T17:51:11.000Z","dependencies_parsed_at":"2024-03-28T21:27:30.350Z","dependency_job_id":"0c7dc843-968d-419e-8857-df75c385313e","html_url":"https://github.com/techservicesillinois/terraform-aws-rds","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/techservicesillinois/terraform-aws-rds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techservicesillinois%2Fterraform-aws-rds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techservicesillinois%2Fterraform-aws-rds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techservicesillinois%2Fterraform-aws-rds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techservicesillinois%2Fterraform-aws-rds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techservicesillinois","download_url":"https://codeload.github.com/techservicesillinois/terraform-aws-rds/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techservicesillinois%2Fterraform-aws-rds/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31409470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T18:48:34.957Z","updated_at":"2026-04-04T18:48:35.025Z","avatar_url":"https://github.com/techservicesillinois.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rds\n\n[![Terraform actions status](https://github.com/techservicesillinois/terraform-aws-rds/workflows/terraform/badge.svg)](https://github.com/techservicesillinois/terraform-aws-rds/actions)\n\nProvide an [RDS database instance](https://www.terraform.io/docs/providers/aws/r/db_instance.html).\n\nAlso provides submodules for managing other resources related to RDS. The following submodules are supported.\n\n* [event-subscription](modules/event-subscription/README.md)\n* [option-group](modules/option-group/README.md)\n* parameter-group – **not yet integrated**\n\nUse the [terraform-aws-client-server-security-group](https://github.com/techservicesillinois/terraform-aws-client-server-security-group) module to create security groups\nto be used by clients and servers of this RDS instance. The referred-to module\ncreates two RDS security groups – one a client security group, and the other a\nserver security group.\nThe server security group should be referenced in the `security_group_names`\nattribute when building an RDS instance.\nThe client security group should be added to authorized clients. and one\nMembers of the client security group are granted access to the RDS servers on\nthe appropriate network port.\n\n**NOTE:** The `deletion_protection` attribute is `true` by default in order to make it\ndifficult to unintentionally destroy a persistent resource. To enable destruction, you\nmust set the attribute to `false` and then apply this change using Terraform.\n\nOnce applied, you can then run `terraform destroy` to destroy the database, which\nincludes destroying daily snapshots. **If you do not make a final snapshot, your\ndata will be irrevocably lost.**\n\n## Usage\n\n```hcl\nmodule \"db\" {\n  source = \"git@github.com:techservicesillinois/terraform-aws-rds\"\n\n  # Identifier for RDS instance.\n  identifier = \"service\"\n\n  # Name of database.\n  db_name   = \"service-db\"\n\n  # Master user name. Password is automatically generated and should\n  # be IMMEDIATELY reset via the AWS console or CLI.\n  #\n  # NOTE: Initial password may show up in logs, and is stored in\n  # the Terraform state file.\n  username = \"foobar\"\n  port     = 5432\n\n  # Database engine details. The engine_version must be consistent\n  # with family and option_group_name settings in this file.\n  engine         = \"postgres\"\n  engine_version = \"14.4\"\n\n  # Security group referenced below is created by the https://github.com/techservicesillinois/terraform-aws-client-server-security-group module.\n  security_group_names = \"service-db-servers\"\n\n  # Don't use the following settings in production!\n  # apply_immediately           = true\n  # allow_major_version_upgrade = true\n\n  # Instance class and storage in gigabytes.\n  instance_class    = \"db.t2.medium\"\n  allocated_storage = 100\n\n  # Automatically apply minor version upgrades during maintenance window.\n  auto_minor_version_upgrade = true\n\n  # Save backups for this many days.\n  backup_retention_period = 7\n\n  # Deploy in multiple availability zones.\n  multi_az           = false\n\n  # Backup window is expressed in UTC. Must not overlap with maintenance window.\n  backup_window      = \"07:00-10:00\"\n\n  # Maintenance window is expressed in UTC. Must not overlap with backup window.\n  maintenance_window = \"Sun:04:00-Sun:07:00\"\n\n  # When set to `true`, deleting the database instance using the API or\n  # Terraform is prohibited. In order to delete the database (and snapshots),\n  # this setting must be changed to false, either using Terraform\n  # or the AWS console.\n  deletion_protection = true\n\n  # If specified, use specified snapshot for initial database build.\n  # snapshot_identifier = \"service-FINAL\"\n\n  ###########################################################################\n  # WARNING: Use caution; setting this value to true can cause data loss.   #\n  ###########################################################################\n  skip_final_snapshot   = false\n\n  # Final database snapshot is given this identifier by default.\n  # final_snapshot_identifier = \"service-FINAL\"\n\n  # Subnet must already exist.\n  db_subnet_group_name = \"develop-subnet-2\"\n\n  # THe option_group_name and parameter_group_name must already exist if\n  # using non-default values.\n  # option_group_name    = \"default:postgres14\"\n  # parameter_group_name = \"service.parameter-group\"\n\n  tags = {\n    Name        = \"service\"\n    Owner       = \"user\"\n  }\n```\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|:----:|:-----:|:-----:|\n| allocated\\_storage | The allocated storage in gigabytes | string | - | yes |\n| allow\\_major\\_version\\_upgrade | 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 | string | `false` | no |\n| apply_immediately | Specifies whether any database modifications are applied immediately, or during the next maintenance window | string | `false` | no |\n| auto\\_minor\\_version\\_upgrade | Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window | bool | `true` | no |\n| availability_zone | The availability zone of the RDS instance | string | `` | no |\n| backup\\_retention\\_period | The days to retain backups for | number | `1` | no |\n| backup_window | 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 | - | yes |\n| character\\_set\\_name | (Optional) The character set name to use for DB encoding in Oracle instances. This can't be changed. See Oracle Character Sets Supported in Amazon RDS for more information | string | `` | no |\n| copy\\_tags\\_to\\_snapshot | On delete, copy all Instance tags to the final snapshot (if final_snapshot_identifier is specified) | number | `false` | no |\n| db\\_subnet\\_group\\_name | 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 | string | `` | no |\n| deletion\\_protection | The database can't be deleted when this value is set to true. | string | `false` | no |\n| enabled\\_cloudwatch\\_logs\\_exports | List of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine): alert, audit, error, general, listener, slowquery, trace. | string | `\u003clist\u003e` | no |\n| engine | The database engine to use | string | - | yes |\n| engine\\_version | The engine version to use | string | - | yes |\n| final\\_snapshot\\_identifier | The name of your final DB snapshot when this DB instance is deleted. | string | `false` | no |\n| iam\\_database\\_authentication\\_enabled | Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled | string | `false` | no |\n| identifier | The name of the RDS instance. If omitted, Terraform will assign a random, unique identifier | string | - | yes |\n| instance\\_class | The instance type of the RDS instance | string | - | yes |\n| iops | The amount of provisioned IOPS. Setting this implies a storage_type of 'io1' | string | `0` | no |\n| kms\\_key\\_id | The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN. If storage_encrypted is set to true and `kms_key_id` is not specified, the default KMS key created in your account will be used | string | `` | no |\n| license\\_model | License model information for this DB instance. Optional, but required for some DB engines, i.e. Oracle SE1 | string | `` | no |\n| maintenance_window | The window to perform maintenance in. Syntax: 'ddd:hh24:mi-ddd:hh24:mi'. Eg: 'Mon:00:00-Mon:03:00' | string | - | yes |\n| max\\_allocated\\_storage | When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance (in gigabytes) | string | - | no |\n| ~~monitoring\\_interval~~ | ~~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.~~ | ~~string~~ | ~~`0`~~ | ~~no~~ |\n| ~~monitoring\\_role\\_arn~~ | ~~ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. Must be specified if monitoring\\_interval is non-zero.~~ | ~~string~~ | ~~``~~ | ~~no~~ |\n| ~~monitoring\\_role\\_name~~ | ~~Name of the IAM role which will be created when create\\_monitoring\\_role is enabled.~~ | ~~string~~ | ~~`rds-monitoring-role`~~ | ~~no~~ |\n| multi\\_az | Specifies if the RDS instance is multi-AZ | string | `false` | no |\n| name | The DB name to create. If omitted, no database is created initially. | string | `` | no |\n| option\\_group\\_name | Name of the DB option group to associate. Setting this automatically disables option_group creation | string | `` | no |\n| parameter\\_group\\_name | Name of the DB parameter group to associate. | string | `` | no |\n| port | The port on which the DB accepts connections | string | - | yes |\n| publicly\\_accessible | Bool to control if instance is publicly accessible | bool | `false` | no |\n| replicate\\_source\\_db | 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. | string | `` | no |\n| feature_role_arns | A map of feature names to IAM role ARNs to attach to the RDS instance | string | `\u003cmap\u003e` | no |\n| security\\_group\\_names | Additonal security groups to associated with the task or service. This is a space delimited string list of security group names. | - | no |\n| skip\\_final\\_snapshot | 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 `final_snapshot_identifier` | bool | `true` | no |\n| snapshot\\_identifier | 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. | string | `` | no |\n| storage\\_encrypted | Specifies whether the DB instance is encrypted | bool | `true` | no |\n| storage_type | One of the supported storage types | string | - | yes |\n| tags | A mapping of tags to assign to resources where supported | string | `\u003cmap\u003e` | no |\n| timeouts | (Optional) Updated Terraform resource management timeouts. Applies to `aws_db_instance` in particular to permit resource management times (see the [Terraform doumentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#timeouts) for further details | object | `\u003cobject\u003e` | no |\n| username | Username for the master DB user | string | - | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| address | The address of the RDS instance |\n| arn | The ARN of the RDS instance |\n| name | The database name |\n| username | The master username for the database |\n\n\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Authors\n\nThis module is an all-new module produced by the University of Illinois at Urbana-Champaign.\nWe adapted some code from [https://github.com/terraform-aws-modules/terraform-aws-rds/](https://github.com/terraform-aws-modules/terraform-aws-rds/).\n\n## License\n\nApache 2 Licensed. See LICENSE for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechservicesillinois%2Fterraform-aws-rds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechservicesillinois%2Fterraform-aws-rds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechservicesillinois%2Fterraform-aws-rds/lists"}