{"id":21639719,"url":"https://github.com/dasmeta/terraform-aws-rds","last_synced_at":"2025-06-23T18:37:41.068Z","repository":{"id":103060424,"uuid":"560898210","full_name":"dasmeta/terraform-aws-rds","owner":"dasmeta","description":"Terraform Aws RDS module","archived":false,"fork":false,"pushed_at":"2025-06-05T16:11:21.000Z","size":140,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-13T21:05:22.694Z","etag":null,"topics":["aws","database","module","rds","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"www.dasmeta.com","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dasmeta.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":"security-group.tf","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-02T14:07:24.000Z","updated_at":"2025-06-05T16:10:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"3525234c-9e3f-4cd1-978d-fc33c80b4a26","html_url":"https://github.com/dasmeta/terraform-aws-rds","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/dasmeta/terraform-aws-rds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasmeta%2Fterraform-aws-rds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasmeta%2Fterraform-aws-rds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasmeta%2Fterraform-aws-rds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasmeta%2Fterraform-aws-rds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dasmeta","download_url":"https://codeload.github.com/dasmeta/terraform-aws-rds/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasmeta%2Fterraform-aws-rds/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261534740,"owners_count":23173461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aws","database","module","rds","terraform","terraform-module"],"created_at":"2024-11-25T04:14:50.796Z","updated_at":"2025-06-23T18:37:41.056Z","avatar_url":"https://github.com/dasmeta.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"## This terraform module allows to create aws rds cluster by using various engine types and configurations, it allows also to enable/create rds cluster attached rds proxy.\n\n## NOTE: When creating rds with proxy, first create the rds only and then enable proxy and re-apply\n\n## module upgrade guide\n- from \u003c1.4.0 versions to \u003e=1.4.0 version upgrade\n    - make sure you moved the state of \"db\" underlying module by using command like following\n        ```sh\n        terraform state mv module.\u003crds-module-name\u003e.module.db module.\u003crds-module-name\u003e.module.db[0]\n        ```\n    - if you had no storage_type set explicitly then set it to \"gp2\"\n- from version \u003c1.6.5 to \u003e=1.7.0\n  - the aurora cluster auto-scaling related configs have been moved under aurora_configs.autoscaling object so make sure to update old aurora_configs.autoscaling_* options into corresponding aurora_configs.autoscaling.* ones\n  - there is new options in aurora_configs.autoscaling to manage auto scaling related configs and also new ability to define scheduled autoscaling\n  - NOTE, that in case you have auto scaled instances created in cluster and want to destroy cluster via terraform code you have to scale down and remove those instances manually before applying cluster destruct code\n\n\n## How to use (more examples/tests can be found in [./tests](./tests) folder)\n\n### Case 1. Create Security group and create RDS\n\n```terraform\ndata \"aws_vpc\" \"main\" {\n  id = \"vpc-xxxxxxx\"\n}\n\nmodule \"rds\" {\n    source  = \"dasmeta/rds/aws\"\n    version = \"1.4.0\"\n\n    allocated_storage    = 20\n    storage_type         = \"gp2\"\n    engine               = \"mysql\"\n    engine_version       = \"5.7.26\"\n    instance_class       = \"db.t2.micro\"\n    identifier           = \"db\"\n    db_name              = \"db\"\n    db_username          = \"root\"\n    db_password          = \"some-password\"\n    parameter_group_name = \"default.mysql5.7\"\n    vpc_id               = \"${data.aws_vpc.main.id}\"\n    subnet_ids           = [\"subnet-xxxxxxxx\",\"subnet-xxxxxx\"]\n}\n```\n\n### Case 2. Create RDS and pass custom/external created security group ids\n\n```terraform\nmodule \"rds\" {\n    source  = \"dasmeta/rds/aws\"\n    version = \"1.4.0\"\n\n    allocated_storage    = 20\n    storage_type         = \"gp2\"\n    engine               = \"mysql\"\n    engine_version       = \"5.7.26\"\n    instance_class       = \"db.t2.micro\"\n    identifier           = \"db\"\n    db_name              = \"db\"\n    db_username          = \"root\"\n    db_password          = \"some-password\"\n    parameter_group_name = \"default.mysql5.7\"\n\n    vpc_id                 = \"vpc-xxxxxxxxxxxx\"\n    subnet_ids             = [\"subnet-xxxxxxx\",\"subnet-xxxxxxxx\"]\n\n    create_security_group = false\n    vpc_security_group_ids = [\"sg-xxxxxxxxx\"]\n}\n```\n\n## contribution\n### please enable git hooks by running the following command\n```sh\ngit config --global core.hooksPath ./githooks # enables git hooks globally\n```\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | n/a |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_cloudwatch_metric_filters\"\u003e\u003c/a\u003e [cloudwatch\\_metric\\_filters](#module\\_cloudwatch\\_metric\\_filters) | dasmeta/monitoring/aws//modules/cloudwatch-log-based-metrics | 1.13.2 |\n| \u003ca name=\"module_cw_alerts\"\u003e\u003c/a\u003e [cw\\_alerts](#module\\_cw\\_alerts) | dasmeta/monitoring/aws//modules/alerts | 1.3.5 |\n| \u003ca name=\"module_db\"\u003e\u003c/a\u003e [db](#module\\_db) | terraform-aws-modules/rds/aws | 6.10.0 |\n| \u003ca name=\"module_db_aurora\"\u003e\u003c/a\u003e [db\\_aurora](#module\\_db\\_aurora) | terraform-aws-modules/rds-aurora/aws | 9.12.0 |\n| \u003ca name=\"module_proxy\"\u003e\u003c/a\u003e [proxy](#module\\_proxy) | ./modules/proxy | n/a |\n| \u003ca name=\"module_scheduled_scale\"\u003e\u003c/a\u003e [scheduled\\_scale](#module\\_scheduled\\_scale) | ./modules/scheduled-scale | n/a |\n| \u003ca name=\"module_security_group\"\u003e\u003c/a\u003e [security\\_group](#module\\_security\\_group) | terraform-aws-modules/security-group/aws | 5.2.0 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_db_instance.database](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/db_instance) | data source |\n| [aws_ec2_instance_type.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ec2_instance_type) | data source |\n| [aws_vpc.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_alarms\"\u003e\u003c/a\u003e [alarms](#input\\_alarms) | n/a | \u003cpre\u003eobject({\u003cbr\u003e    enabled       = optional(bool, true)\u003cbr\u003e    sns_topic     = string\u003cbr\u003e    custom_values = optional(any, {})\u003cbr\u003e  })\u003c/pre\u003e | n/a | yes |\n| \u003ca name=\"input_allocated_storage\"\u003e\u003c/a\u003e [allocated\\_storage](#input\\_allocated\\_storage) | The allocated storage in gigabytes | `number` | `20` | no |\n| \u003ca name=\"input_apply_immediately\"\u003e\u003c/a\u003e [apply\\_immediately](#input\\_apply\\_immediately) | Specifies whether any database modifications are applied immediately, or during the next maintenance window | `bool` | `false` | no |\n| \u003ca name=\"input_aurora_configs\"\u003e\u003c/a\u003e [aurora\\_configs](#input\\_aurora\\_configs) | The aws rd aurora specific configurations | \u003cpre\u003eobject({\u003cbr\u003e    engine_mode = optional(string, \"provisioned\") # The database engine mode. Valid values: `global`, `multimaster`, `parallelquery`, `provisioned`, `serverless`(serverless is deprecated)\u003cbr\u003e    instances   = optional(any, {})               # Cluster instances configs\u003cbr\u003e    autoscaling = optional(object({\u003cbr\u003e      enabled                = optional(bool, false)                              # Whether autoscaling enabled\u003cbr\u003e      min_capacity           = optional(number, 0)                                # Min number of read replicas\u003cbr\u003e      max_capacity           = optional(number, 2)                                # Max number of read replicas permitted\u003cbr\u003e      predefined_metric_type = optional(string, \"RDSReaderAverageCPUUtilization\") # The metric type to scale on. Valid values are `RDSReaderAverageCPUUtilization` and `RDSReaderAverageDatabaseConnections`\u003cbr\u003e      scale_in_cooldown      = optional(number, 300)                              # Cooldown in seconds before allowing further scaling operations after a scale in\u003cbr\u003e      scale_out_cooldown     = optional(number, 300)                              # Cooldown in seconds before allowing further scaling operations after a scale out\u003cbr\u003e      target_cpu             = optional(number, 70)                               # CPU threshold which will initiate autoscaling\u003cbr\u003e      target_connections     = optional(number, 700)                              # Average number of connections threshold which will initiate autoscaling. Default value is 70% of db.r4/r5/r6g.large's default max_connections\u003cbr\u003e      schedules = optional(list(object({                                          # List of scheduled autoscale configs\u003cbr\u003e        name         = string                                                     # The name of scheduled scale\u003cbr\u003e        schedule     = string                                                     # The schedule time to apply auto scale, can be cron(min hour day month week-day year ), at(yyyy-mm-ddThh:mm:ss) or rate(value unit) formats\u003cbr\u003e        min_capacity = optional(number)                                           # If not set defaults to aurora_configs.autoscaling_min_capacity\u003cbr\u003e        max_capacity = optional(number)                                           # If not set defaults to aurora_configs.autoscaling_max_capacity\u003cbr\u003e        timezone     = optional(string, null)                                     # By default it uses UTC, available values can be found here: https://www.joda.org/joda-time/timezones.html\u003cbr\u003e      })), [])\u003cbr\u003e\u003cbr\u003e      scaling_configuration              = optional(any, {}) # map of nested attributes with scaling properties. Only valid when `engine_mode` is set to `serverless`\u003cbr\u003e      serverlessv2_scaling_configuration = optional(any, {}) # for enabling serverless-2(the serverless-1(engine_mode=serverless, scaling_configuration is set) is deprecated), valid when `engine_mode` is set to `provisioned`\u003cbr\u003e    }), {})\u003cbr\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_backup_retention_period\"\u003e\u003c/a\u003e [backup\\_retention\\_period](#input\\_backup\\_retention\\_period) | The days to retain backups for | `number` | `35` | no |\n| \u003ca name=\"input_backup_window\"\u003e\u003c/a\u003e [backup\\_window](#input\\_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` | `\"03:00-06:00\"` | no |\n| \u003ca name=\"input_cloudwatch_log_group_retention_in_days\"\u003e\u003c/a\u003e [cloudwatch\\_log\\_group\\_retention\\_in\\_days](#input\\_cloudwatch\\_log\\_group\\_retention\\_in\\_days) | The number of days to retain CloudWatch logs for the DB instance | `number` | `30` | no |\n| \u003ca name=\"input_create_cloudwatch_log_group\"\u003e\u003c/a\u003e [create\\_cloudwatch\\_log\\_group](#input\\_create\\_cloudwatch\\_log\\_group) | Determines whether a CloudWatch log group is created for each enabled\\_cloudwatch\\_logs\\_exports | `bool` | `true` | no |\n| \u003ca name=\"input_create_db_option_group\"\u003e\u003c/a\u003e [create\\_db\\_option\\_group](#input\\_create\\_db\\_option\\_group) | Create a database option group | `bool` | `false` | no |\n| \u003ca name=\"input_create_db_parameter_group\"\u003e\u003c/a\u003e [create\\_db\\_parameter\\_group](#input\\_create\\_db\\_parameter\\_group) | Whether to create a database parameter group | `bool` | `false` | no |\n| \u003ca name=\"input_create_db_subnet_group\"\u003e\u003c/a\u003e [create\\_db\\_subnet\\_group](#input\\_create\\_db\\_subnet\\_group) | Whether to create a database subnet group | `bool` | `true` | no |\n| \u003ca name=\"input_create_monitoring_role\"\u003e\u003c/a\u003e [create\\_monitoring\\_role](#input\\_create\\_monitoring\\_role) | Create IAM role with a defined name that permits RDS to send enhanced monitoring metrics to CloudWatch Logs | `bool` | `false` | no |\n| \u003ca name=\"input_create_security_group\"\u003e\u003c/a\u003e [create\\_security\\_group](#input\\_create\\_security\\_group) | Whether to create security group and attach ingress/egress rules which will be used for rds instances(and rds proxy if we enabled it), if you already have one and do not want to create new security group you can explicitly set this variable to false and pass group id by using var.vpc\\_security\\_group\\_ids | `bool` | `true` | no |\n| \u003ca name=\"input_db_instance_tags\"\u003e\u003c/a\u003e [db\\_instance\\_tags](#input\\_db\\_instance\\_tags) | Additional tags for the DB instance | `map(any)` | `{}` | no |\n| \u003ca name=\"input_db_name\"\u003e\u003c/a\u003e [db\\_name](#input\\_db\\_name) | The DB name to create. If omitted, no database is created initially | `string` | `\"\"` | no |\n| \u003ca name=\"input_db_option_group_tags\"\u003e\u003c/a\u003e [db\\_option\\_group\\_tags](#input\\_db\\_option\\_group\\_tags) | Additional tags for the DB option group | `map(any)` | `{}` | no |\n| \u003ca name=\"input_db_parameter_group_tags\"\u003e\u003c/a\u003e [db\\_parameter\\_group\\_tags](#input\\_db\\_parameter\\_group\\_tags) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_db_password\"\u003e\u003c/a\u003e [db\\_password](#input\\_db\\_password) | Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file | `string` | `\"\"` | no |\n| \u003ca name=\"input_db_subnet_group_name\"\u003e\u003c/a\u003e [db\\_subnet\\_group\\_name](#input\\_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` | `null` | no |\n| \u003ca name=\"input_db_subnet_group_tags\"\u003e\u003c/a\u003e [db\\_subnet\\_group\\_tags](#input\\_db\\_subnet\\_group\\_tags) | Additional tags for the  DB parameter group | `map(any)` | `{}` | no |\n| \u003ca name=\"input_db_subnet_group_use_name_prefix\"\u003e\u003c/a\u003e [db\\_subnet\\_group\\_use\\_name\\_prefix](#input\\_db\\_subnet\\_group\\_use\\_name\\_prefix) | Determines whether to use `subnet_group_name` as is or create a unique name beginning with the `subnet_group_name` as the prefix | `bool` | `false` | no |\n| \u003ca name=\"input_db_username\"\u003e\u003c/a\u003e [db\\_username](#input\\_db\\_username) | Username for the master DB user | `string` | `\"\"` | no |\n| \u003ca name=\"input_deletion_protection\"\u003e\u003c/a\u003e [deletion\\_protection](#input\\_deletion\\_protection) | The database can't be deleted when this value is set to true | `bool` | `false` | no |\n| \u003ca name=\"input_egress_with_cidr_blocks\"\u003e\u003c/a\u003e [egress\\_with\\_cidr\\_blocks](#input\\_egress\\_with\\_cidr\\_blocks) | n/a | `list(map(string))` | `[]` | no |\n| \u003ca name=\"input_enabled_cloudwatch_logs_exports\"\u003e\u003c/a\u003e [enabled\\_cloudwatch\\_logs\\_exports](#input\\_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, postgresql (PostgreSQL), upgrade (PostgreSQL) | `list(string)` | `[]` | no |\n| \u003ca name=\"input_enforce_client_tls\"\u003e\u003c/a\u003e [enforce\\_client\\_tls](#input\\_enforce\\_client\\_tls) | parameter to enforce tls connections from clients | `bool` | `true` | no |\n| \u003ca name=\"input_engine\"\u003e\u003c/a\u003e [engine](#input\\_engine) | The database engine to use | `string` | `\"mysql\"` | no |\n| \u003ca name=\"input_engine_version\"\u003e\u003c/a\u003e [engine\\_version](#input\\_engine\\_version) | The engine version to use | `string` | `\"5.7.26\"` | no |\n| \u003ca name=\"input_iam_database_authentication_enabled\"\u003e\u003c/a\u003e [iam\\_database\\_authentication\\_enabled](#input\\_iam\\_database\\_authentication\\_enabled) | Specifies whether or not the mappings of AWS Identity and Access Management (IAM) accounts to database accounts are enabled | `bool` | `true` | no |\n| \u003ca name=\"input_identifier\"\u003e\u003c/a\u003e [identifier](#input\\_identifier) | Specifies the identifier of the CA certificate for the DB instance | `string` | n/a | yes |\n| \u003ca name=\"input_ingress_with_cidr_blocks\"\u003e\u003c/a\u003e [ingress\\_with\\_cidr\\_blocks](#input\\_ingress\\_with\\_cidr\\_blocks) | n/a | `list(map(string))` | `[]` | no |\n| \u003ca name=\"input_instance_class\"\u003e\u003c/a\u003e [instance\\_class](#input\\_instance\\_class) | The instance type of the RDS instance | `string` | `\"db.t3.micro\"` | no |\n| \u003ca name=\"input_maintenance_window\"\u003e\u003c/a\u003e [maintenance\\_window](#input\\_maintenance\\_window) | The window to perform maintenance in. Syntax: 'ddd:hh24:mi-ddd:hh24:mi'. Eg: 'Mon:00:00-Mon:03:00' | `string` | `\"Mon:00:00-Mon:03:00\"` | no |\n| \u003ca name=\"input_major_engine_version\"\u003e\u003c/a\u003e [major\\_engine\\_version](#input\\_major\\_engine\\_version) | Specifies the major version of the engine that this option group should be associated with | `string` | `\"5.7\"` | no |\n| \u003ca name=\"input_manage_master_user_password\"\u003e\u003c/a\u003e [manage\\_master\\_user\\_password](#input\\_manage\\_master\\_user\\_password) | Set to true to allow RDS to manage the master user password in Secrets Manager | `bool` | `false` | no |\n| \u003ca name=\"input_max_allocated_storage\"\u003e\u003c/a\u003e [max\\_allocated\\_storage](#input\\_max\\_allocated\\_storage) | Specifies the value for Storage Autoscaling | `number` | `100` | no |\n| \u003ca name=\"input_monitoring_interval\"\u003e\u003c/a\u003e [monitoring\\_interval](#input\\_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 | `number` | `0` | no |\n| \u003ca name=\"input_monitoring_role_name\"\u003e\u003c/a\u003e [monitoring\\_role\\_name](#input\\_monitoring\\_role\\_name) | Name of the IAM role which will be created when create\\_monitoring\\_role is enabled | `string` | `null` | no |\n| \u003ca name=\"input_multi_az\"\u003e\u003c/a\u003e [multi\\_az](#input\\_multi\\_az) | Specifies if the RDS instance is multi-AZ | `bool` | `true` | no |\n| \u003ca name=\"input_options\"\u003e\u003c/a\u003e [options](#input\\_options) | A list of Options to apply | `list(any)` | \u003cpre\u003e[\u003cbr\u003e  {\u003cbr\u003e    \"option_name\": \"MARIADB_AUDIT_PLUGIN\",\u003cbr\u003e    \"option_settings\": [\u003cbr\u003e      {\u003cbr\u003e        \"name\": \"SERVER_AUDIT_EVENTS\",\u003cbr\u003e        \"value\": \"CONNECT\"\u003cbr\u003e      },\u003cbr\u003e      {\u003cbr\u003e        \"name\": \"SERVER_AUDIT_FILE_ROTATIONS\",\u003cbr\u003e        \"value\": \"37\"\u003cbr\u003e      }\u003cbr\u003e    ]\u003cbr\u003e  }\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_parameter_group_name\"\u003e\u003c/a\u003e [parameter\\_group\\_name](#input\\_parameter\\_group\\_name) | Name of the DB parameter group to associate or create | `string` | `\"default.mysql5.7\"` | no |\n| \u003ca name=\"input_parameters\"\u003e\u003c/a\u003e [parameters](#input\\_parameters) | A list of DB parameters (map) to apply | \u003cpre\u003elist(object({\u003cbr\u003e    name         = string\u003cbr\u003e    value        = string\u003cbr\u003e    context      = optional(string, \"instance\")  # The context where parameter will be used, supported values are \"instance\" and \"cluster\"\u003cbr\u003e    apply_method = optional(string, \"immediate\") # The apply method for parameter, supported values are \"immediate\" and \"pending-reboot\"\u003cbr\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_performance_insights_enabled\"\u003e\u003c/a\u003e [performance\\_insights\\_enabled](#input\\_performance\\_insights\\_enabled) | Specifies whether Performance Insights is enabled or not, the default is false | `bool` | `null` | no |\n| \u003ca name=\"input_performance_insights_kms_key_arn\"\u003e\u003c/a\u003e [performance\\_insights\\_kms\\_key\\_arn](#input\\_performance\\_insights\\_kms\\_key\\_arn) | Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds) | `string` | `null` | no |\n| \u003ca name=\"input_performance_insights_retention_period\"\u003e\u003c/a\u003e [performance\\_insights\\_retention\\_period](#input\\_performance\\_insights\\_retention\\_period) | Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731 | `number` | `null` | no |\n| \u003ca name=\"input_port\"\u003e\u003c/a\u003e [port](#input\\_port) | The port on which the DB accepts connections | `number` | `null` | no |\n| \u003ca name=\"input_proxy\"\u003e\u003c/a\u003e [proxy](#input\\_proxy) | The aws rds proxy specific configurations | \u003cpre\u003eobject({\u003cbr\u003e    enabled             = optional(bool, false)                     # whether rds proxy is enabled\u003cbr\u003e    endpoints           = optional(any, {})                         # map of {\u003cname\u003e: \u003cconfigs\u003e} additional proxy endpoints(by default we have already one read/write endpoint), for more info check resource doc https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_proxy_endpoint\u003cbr\u003e    client_auth_type    = optional(string, \"MYSQL_NATIVE_PASSWORD\") # The type of authentication the proxy uses for connections from clients\u003cbr\u003e    iam_auth            = optional(string, \"DISABLED\")              # Whether IAM auth enabled\u003cbr\u003e    target_db_cluster   = optional(bool, true)                      # Whether the target db is cluster\u003cbr\u003e    debug_logging       = optional(bool, false)                     # Whether enhanced logging is enabled\u003cbr\u003e    idle_client_timeout = optional(number, 1800)                    # The timeout of idle connections, default is 30 minutes\u003cbr\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_publicly_accessible\"\u003e\u003c/a\u003e [publicly\\_accessible](#input\\_publicly\\_accessible) | Whether the database is accessible publicly. Note that if you need to enable this you have to place db on public subnets | `bool` | `false` | no |\n| \u003ca name=\"input_replication_source_identifier\"\u003e\u003c/a\u003e [replication\\_source\\_identifier](#input\\_replication\\_source\\_identifier) | ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica | `string` | `null` | no |\n| \u003ca name=\"input_security_group_description\"\u003e\u003c/a\u003e [security\\_group\\_description](#input\\_security\\_group\\_description) | n/a | `string` | `\"MySQL security group\"` | no |\n| \u003ca name=\"input_security_group_name\"\u003e\u003c/a\u003e [security\\_group\\_name](#input\\_security\\_group\\_name) | n/a | `string` | `\"db_security_group\"` | no |\n| \u003ca name=\"input_set_vpc_security_group_rules\"\u003e\u003c/a\u003e [set\\_vpc\\_security\\_group\\_rules](#input\\_set\\_vpc\\_security\\_group\\_rules) | Whether to automatically add security group rules allowing access to db from vpc network | `bool` | `true` | no |\n| \u003ca name=\"input_skip_final_snapshot\"\u003e\u003c/a\u003e [skip\\_final\\_snapshot](#input\\_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 | `bool` | `false` | no |\n| \u003ca name=\"input_slow_queries\"\u003e\u003c/a\u003e [slow\\_queries](#input\\_slow\\_queries) | n/a | \u003cpre\u003eobject({\u003cbr\u003e    enabled        = optional(bool, true)\u003cbr\u003e    query_duration = optional(number, 3)\u003cbr\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr\u003e  \"enabled\": true,\u003cbr\u003e  \"query_duration\": 3\u003cbr\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_storage_encrypted\"\u003e\u003c/a\u003e [storage\\_encrypted](#input\\_storage\\_encrypted) | Specifies whether the DB instance is encrypted | `bool` | `true` | no |\n| \u003ca name=\"input_storage_type\"\u003e\u003c/a\u003e [storage\\_type](#input\\_storage\\_type) | One of 'standard' (magnetic), 'gp2' (general purpose SSD), gp3, or 'io1' (provisioned IOPS SSD). The default is 'io1' if iops is specified, 'gp2' if not | `string` | `null` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | A list of VPC subnet IDs | `list(string)` | n/a | yes |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | A mapping of tags to assign to all resources | `map(any)` | `{}` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | n/a | `string` | `\"\"` | no |\n| \u003ca name=\"input_vpc_security_group_ids\"\u003e\u003c/a\u003e [vpc\\_security\\_group\\_ids](#input\\_vpc\\_security\\_group\\_ids) | List of VPC security groups to associate | `list(string)` | `[]` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_db_instance_address\"\u003e\u003c/a\u003e [db\\_instance\\_address](#output\\_db\\_instance\\_address) | The address of the RDS instance |\n| \u003ca name=\"output_db_instance_arn\"\u003e\u003c/a\u003e [db\\_instance\\_arn](#output\\_db\\_instance\\_arn) | The ARN of the RDS instance |\n| \u003ca name=\"output_db_instance_cloudwatch_log_groups\"\u003e\u003c/a\u003e [db\\_instance\\_cloudwatch\\_log\\_groups](#output\\_db\\_instance\\_cloudwatch\\_log\\_groups) | Map of CloudWatch log groups created and their attributes |\n| \u003ca name=\"output_db_instance_endpoint\"\u003e\u003c/a\u003e [db\\_instance\\_endpoint](#output\\_db\\_instance\\_endpoint) | The connection endpoint |\n| \u003ca name=\"output_db_instance_port\"\u003e\u003c/a\u003e [db\\_instance\\_port](#output\\_db\\_instance\\_port) | The database port |\n| \u003ca name=\"output_db_password\"\u003e\u003c/a\u003e [db\\_password](#output\\_db\\_password) | DB password |\n| \u003ca name=\"output_db_username\"\u003e\u003c/a\u003e [db\\_username](#output\\_db\\_username) | DB username |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdasmeta%2Fterraform-aws-rds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdasmeta%2Fterraform-aws-rds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdasmeta%2Fterraform-aws-rds/lists"}