{"id":46337290,"url":"https://github.com/squareops/terraform-aws-rds-mysql","last_synced_at":"2026-03-04T19:05:37.150Z","repository":{"id":194967805,"uuid":"600039430","full_name":"squareops/terraform-aws-rds-mysql","owner":"squareops","description":"Terraform module to create and manage an AWS RDS MySQL database.","archived":false,"fork":false,"pushed_at":"2025-04-11T06:02:37.000Z","size":129,"stargazers_count":16,"open_issues_count":2,"forks_count":11,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T09:54:01.225Z","etag":null,"topics":["aws","database","mysql","rds","terraform"],"latest_commit_sha":null,"homepage":"https://squareops.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/squareops.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":"2023-02-10T12:56:44.000Z","updated_at":"2025-04-11T06:00:57.000Z","dependencies_parsed_at":"2024-07-31T10:49:18.282Z","dependency_job_id":"e75461e8-70c9-440e-9ac3-3fe4319fddfb","html_url":"https://github.com/squareops/terraform-aws-rds-mysql","commit_stats":null,"previous_names":["squareops/terraform-aws-rds-mysql"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/squareops/terraform-aws-rds-mysql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-rds-mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-rds-mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-rds-mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-rds-mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squareops","download_url":"https://codeload.github.com/squareops/terraform-aws-rds-mysql/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-rds-mysql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30090042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T18:31:08.343Z","status":"ssl_error","status_checked_at":"2026-03-04T18:31:07.708Z","response_time":59,"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":["aws","database","mysql","rds","terraform"],"created_at":"2026-03-04T19:05:36.504Z","updated_at":"2026-03-04T19:05:37.132Z","avatar_url":"https://github.com/squareops.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS RDS Terraform module\n![squareops_avatar]\n\n[squareops_avatar]: https://squareops.com/wp-content/uploads/2022/12/squareops-logo.png\n\n### [SquareOps Technologies](https://squareops.com/) Provide end to end solution for all your DevOps needs\n\u003cbr\u003e\nThe terraform-aws-rds-mysql module is a reusable infrastructure-as-code solution for deploying and managing an Amazon RDS MySQL database cluster using Terraform. It simplifies the process of provisioning and configuring a highly available and scalable MySQL database environment in AWS.\nFeatures\n\n  1. High Availability: The module sets up a multi-AZ (Availability Zone) database cluster for enhanced fault tolerance and automatic failover.\n  2. Scalability: Easily scale your database cluster by adjusting the instance count and instance type according to your needs.\n  3. Security: The module integrates with AWS Identity and Access Management (IAM) for secure authentication and fine-grained access control.\n  4. Backup and Recovery: Automated backups can be scheduled, and the module provides options for specifying the retention period and whether to skip a final snapshot during deletion.\n  5. Encryption: Database encryption at rest can be enabled to ensure data security.\n  6. Maintenance Window: Configure a maintenance window for performing regular database maintenance tasks.\n  7. Public Accessibility: Choose whether the database cluster should be publicly accessible over the internet.\n  8. Replication: Replicate data from another Amazon RDS database by specifying the source database identifier.\n  9. Snapshot Restore: Restore the database from a specified snapshot ID to easily recreate database instances.\n  10. VPC Support: Deploy the RDS cluster in a specific Virtual Private Cloud (VPC) and specify the associated subnets for network isolation.\n  11. CloudWatch Alerts: Set up CloudWatch alarms to monitor the health and performance of your Redis cluster. Integrate these alarms with AWS Simple Notification Service (SNS) to receive real-time alerts. Use AWS Lambda functions to customize your alerting logic, and send notifications to Slack channels for immediate visibility into your RDS MYSQL status.\n  12. Supports feature for storage autoscaling to avoid the storage bottleneck and Replica configuration with desired number of replicas.\n\n## Usage Example\n\n```hcl\nmodule \"rds-mysql\" {\n  source  = \"squareops/rds-mysql/aws\"\n\n  name                             = \"name\"\n  vpc_id                           = \"vpc-0d2c255df1f\"\n  replica_enable                   = false\n  replica_count                    = 1\n  subnet_ids                       = [\"subnet-04cecf2400\",\"subnet-0ac69f821\"]\n  family                           = \"mysql8.0\n  db_name                          = \"proddb\"\n  availability_zone                = \"us-east-2a\"\n  multi_az                         = false\n  environment                      = \"prod\"\n  kms_key_arn                      = \"arn:aws:kms:us-east-2:2222222222:key/a22ecc12-4-ae1be7590774\"\n  engine_version                   =\"8.0.32\"\n  instance_class                   = \"db.t3.medium\"\n  master_username                  = \"admin\"\n  allocated_storage                = 20\n  rds_instance_name                = \"mysql\"\n  major_engine_version             = \"8.0\"\n  allowed_security_groups          = [\"sg-0e2f946c67\"]\n  publicly_accessible              = false\n  skip_final_snapshot              = true\n  backup_window                    = \"03:00-06:00\"\n  snapshot_identifier              = null\n  maintenance_window               = \"Mon:00:00-Mon:03:00\"\n  final_snapshot_identifier_prefix = \"prod-snapshot\"\n  deletion_protection              = true\n  cloudwatch_metric_alarms_enabled = true\n  alarm_cpu_threshold_percent      = 70\n  disk_free_storage_space          = \"10000000\" # in bytes\n  slack_username                   = \"John\"\n  slack_channel                    = \"skaf\"\n  slack_webhook_url                = \"https://hooks/xxxxxxxx\"\n  custom_user_password             = \"mysqlpassword\"\n  cluster_name                     = \"\" # cluster name\n  namespace              = local.namespace\n  create_namespace       = local.create_namespace\n  mysqldb_backup_enabled = false\n  bucket_provider_type   = \"s3\"\n  mysqldb_backup_config = {\n    mysql_database_name  = \"\"\n    s3_bucket_region     = \"us-west-1\"\n    cron_for_full_backup = \"*/3 * * * *\"\n    bucket_uri           = \"s3://mysql-rds-backup-store/\"\n  }\n  mysqldb_restore_enabled = false\n  mysqldb_restore_config = {\n    bucket_uri       = \"s3://mysql-rds-backup-store/mysqldump_20240709_071501.zip\"\n    file_name        = \"mysqldump_20240709_071501.zip\"\n    s3_bucket_region = \"us-west-1\"\n  }\n}\n\n```\nRefer [examples](https://github.com/squareops/terraform-aws-rds-mysql/tree/main/examples) directory for more references.\n\n ## IAM Permissions\nThe required IAM permissions to create resources from this module can be found [here](https://github.com/squareops/terraform-aws-rds-mysql/blob/main/IAM.md)\n\n## Important Note\n1. By default, the variable `create_random_password` is set to true. Therefore, even if the user provides a password, it will not be read. The `create_random_password` variable should be set to false and the `password` variable should have a non-null value to be read and used.\n\n2. To make a backup and restore of RDS MySQL, you need to have a Kubernetes cluster set up in the cloud. This cluster will run a Kubernetes job that handles the backup and restore tasks.\n\n## Security \u0026 Compliance [\u003cimg src=\"\thttps://prowler.pro/wp-content/themes/prowler-pro/assets/img/logo.svg\" width=\"250\" align=\"right\" /\u003e](https://prowler.pro/)\n\nSecurity scanning is graciously provided by Prowler. Proowler is the leading fully hosted, cloud-native solution providing continuous cluster security and compliance.\n\n| Benchmark | Description |\n|--------|---------------|\n| Ensure that encryption is enabled for RDS instances | Enabled for RDS created using this module. |\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.0 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 4.23 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_archive\"\u003e\u003c/a\u003e [archive](#provider\\_archive) | n/a |\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.23 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | n/a |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_backup_restore\"\u003e\u003c/a\u003e [backup\\_restore](#module\\_backup\\_restore) | ./modules/db-backup-restore | n/a |\n| \u003ca name=\"module_cw_sns_slack\"\u003e\u003c/a\u003e [cw\\_sns\\_slack](#module\\_cw\\_sns\\_slack) | ./lambda | n/a |\n| \u003ca name=\"module_db\"\u003e\u003c/a\u003e [db](#module\\_db) | terraform-aws-modules/rds/aws | 6.1.0 |\n| \u003ca name=\"module_db_replica\"\u003e\u003c/a\u003e [db\\_replica](#module\\_db\\_replica) | terraform-aws-modules/rds/aws | 6.1.0 |\n| \u003ca name=\"module_security_group_rds\"\u003e\u003c/a\u003e [security\\_group\\_rds](#module\\_security\\_group\\_rds) | terraform-aws-modules/security-group/aws | 4.13.0 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_metric_alarm.cache_cpu](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm) | resource |\n| [aws_cloudwatch_metric_alarm.disk_free_storage_space_too_low](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm) | resource |\n| [aws_kms_ciphertext.slack_url](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_ciphertext) | resource |\n| [aws_kms_key.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource |\n| [aws_lambda_permission.sns_lambda_slack_invoke](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource |\n| [aws_secretsmanager_secret.secret_master_db](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |\n| [aws_secretsmanager_secret_version.rds_credentials](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource |\n| [aws_security_group_rule.cidr_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.default_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_sns_topic.slack_topic](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sns_topic) | resource |\n| [aws_sns_topic_subscription.slack-endpoint](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sns_topic_subscription) | resource |\n| [random_password.master](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n| [archive_file.lambdazip](https://registry.terraform.io/providers/hashicorp/archive/latest/docs/data-sources/file) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_alarm_actions\"\u003e\u003c/a\u003e [alarm\\_actions](#input\\_alarm\\_actions) | Alarm action list | `list(string)` | `[]` | no |\n| \u003ca name=\"input_alarm_cpu_threshold_percent\"\u003e\u003c/a\u003e [alarm\\_cpu\\_threshold\\_percent](#input\\_alarm\\_cpu\\_threshold\\_percent) | CPU threshold alarm level | `number` | `75` | no |\n| \u003ca name=\"input_allocated_storage\"\u003e\u003c/a\u003e [allocated\\_storage](#input\\_allocated\\_storage) | The storage capacity for the database | `number` | `20` | no |\n| \u003ca name=\"input_allowed_cidr_blocks\"\u003e\u003c/a\u003e [allowed\\_cidr\\_blocks](#input\\_allowed\\_cidr\\_blocks) | A list of CIDR blocks that are allowed to access the database | `list(any)` | `[]` | no |\n| \u003ca name=\"input_allowed_security_groups\"\u003e\u003c/a\u003e [allowed\\_security\\_groups](#input\\_allowed\\_security\\_groups) | A list of Security Group IDs to allow access to the database | `list(any)` | `[]` | no |\n| \u003ca name=\"input_apply_immediately\"\u003e\u003c/a\u003e [apply\\_immediately](#input\\_apply\\_immediately) | Specifies whether any cluster modifications are applied immediately or during the next maintenance window | `bool` | `false` | no |\n| \u003ca name=\"input_availability_zone\"\u003e\u003c/a\u003e [availability\\_zone](#input\\_availability\\_zone) | The Availability Zone of the RDS instance | `string` | `null` | no |\n| \u003ca name=\"input_backup_retention_period\"\u003e\u003c/a\u003e [backup\\_retention\\_period](#input\\_backup\\_retention\\_period) | The number of days to retain backups for | `number` | `5` | no |\n| \u003ca name=\"input_backup_window\"\u003e\u003c/a\u003e [backup\\_window](#input\\_backup\\_window) | The time window during which database backups are performed | `string` | `\"03:00-06:00\"` | no |\n| \u003ca name=\"input_bucket_provider_type\"\u003e\u003c/a\u003e [bucket\\_provider\\_type](#input\\_bucket\\_provider\\_type) | Choose what type of provider you want (s3, gcs) | `string` | `\"s3\"` | 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 database instance | `number` | `7` | no |\n| \u003ca name=\"input_cloudwatch_metric_alarms_enabled\"\u003e\u003c/a\u003e [cloudwatch\\_metric\\_alarms\\_enabled](#input\\_cloudwatch\\_metric\\_alarms\\_enabled) | Boolean flag to enable/disable CloudWatch metrics alarms | `bool` | `false` | no |\n| \u003ca name=\"input_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#input\\_cluster\\_name) | Specifies the name of the EKS cluster to deploy the MySQL application on. | `string` | `\"\"` | 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_namespace\"\u003e\u003c/a\u003e [create\\_namespace](#input\\_create\\_namespace) | Specify whether or not to create the namespace if it does not already exist. Set it to true to create the namespace. | `string` | `false` | no |\n| \u003ca name=\"input_create_random_password\"\u003e\u003c/a\u003e [create\\_random\\_password](#input\\_create\\_random\\_password) | Whether to create a random password for the primary database cluster | `bool` | `false` | no |\n| \u003ca name=\"input_custom_user_password\"\u003e\u003c/a\u003e [custom\\_user\\_password](#input\\_custom\\_user\\_password) | Custom password for the RDS master user | `string` | `\"\"` | no |\n| \u003ca name=\"input_cw_sns_topic_arn\"\u003e\u003c/a\u003e [cw\\_sns\\_topic\\_arn](#input\\_cw\\_sns\\_topic\\_arn) | The username to use when sending notifications to Slack. | `string` | `\"\"` | no |\n| \u003ca name=\"input_db_name\"\u003e\u003c/a\u003e [db\\_name](#input\\_db\\_name) | The name for an automatically created database on cluster creation | `string` | `\"\"` | no |\n| \u003ca name=\"input_deletion_protection\"\u003e\u003c/a\u003e [deletion\\_protection](#input\\_deletion\\_protection) | Whether accidental deletion protection is enabled | `bool` | `true` | no |\n| \u003ca name=\"input_disk_free_storage_space\"\u003e\u003c/a\u003e [disk\\_free\\_storage\\_space](#input\\_disk\\_free\\_storage\\_space) | Alarm threshold for the 'lowFreeStorageSpace' alarm | `string` | `\"10000000000\"` | no |\n| \u003ca name=\"input_enable_general_log\"\u003e\u003c/a\u003e [enable\\_general\\_log](#input\\_enable\\_general\\_log) | Whether to enable general logs in CloudWatch | `bool` | `true` | no |\n| \u003ca name=\"input_enable_slow_query_log\"\u003e\u003c/a\u003e [enable\\_slow\\_query\\_log](#input\\_enable\\_slow\\_query\\_log) | Whether to enable slow query logs in CloudWatch | `bool` | `true` | no |\n| \u003ca name=\"input_enable_storage_autoscaling\"\u003e\u003c/a\u003e [enable\\_storage\\_autoscaling](#input\\_enable\\_storage\\_autoscaling) | Whether enable storage autoscaling or not | `bool` | `false` | no |\n| \u003ca name=\"input_engine\"\u003e\u003c/a\u003e [engine](#input\\_engine) | The name of the database engine to be used for this DB cluster | `string` | `\"mysql\"` | no |\n| \u003ca name=\"input_engine_version\"\u003e\u003c/a\u003e [engine\\_version](#input\\_engine\\_version) | The database engine version. Updating this argument results in an outage. | `string` | `\"\"` | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | Select enviroment type: dev, demo, prod | `string` | `\"demo\"` | no |\n| \u003ca name=\"input_family\"\u003e\u003c/a\u003e [family](#input\\_family) | Version of the MySQL DB family being created | `string` | `\"\"` | no |\n| \u003ca name=\"input_final_snapshot_identifier_prefix\"\u003e\u003c/a\u003e [final\\_snapshot\\_identifier\\_prefix](#input\\_final\\_snapshot\\_identifier\\_prefix) | The prefix name for the final snapshot on cluster destroy | `string` | `\"final\"` | no |\n| \u003ca name=\"input_instance_class\"\u003e\u003c/a\u003e [instance\\_class](#input\\_instance\\_class) | The instance type for the database | `string` | `\"\"` | no |\n| \u003ca name=\"input_kms_key_arn\"\u003e\u003c/a\u003e [kms\\_key\\_arn](#input\\_kms\\_key\\_arn) | 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` | `null` | no |\n| \u003ca name=\"input_maintenance_window\"\u003e\u003c/a\u003e [maintenance\\_window](#input\\_maintenance\\_window) | The maintenance window for performing database maintenance | `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) | The major version of the database engine. Updating this argument results in an outage. | `string` | `\"\"` | no |\n| \u003ca name=\"input_manage_master_user_password\"\u003e\u003c/a\u003e [manage\\_master\\_user\\_password](#input\\_manage\\_master\\_user\\_password) | Whether to manage master user password through service linked secret manager | `bool` | `false` | no |\n| \u003ca name=\"input_master_username\"\u003e\u003c/a\u003e [master\\_username](#input\\_master\\_username) | The username for the RDS primary cluster | `string` | `\"\"` | no |\n| \u003ca name=\"input_max_allocated_storage\"\u003e\u003c/a\u003e [max\\_allocated\\_storage](#input\\_max\\_allocated\\_storage) | The Maximum storage capacity for the database value after autoscaling | `number` | `null` | no |\n| \u003ca name=\"input_multi_az\"\u003e\u003c/a\u003e [multi\\_az](#input\\_multi\\_az) | Enables multi-AZ for disaster recovery | `bool` | `false` | no |\n| \u003ca name=\"input_mysqldb_backup_config\"\u003e\u003c/a\u003e [mysqldb\\_backup\\_config](#input\\_mysqldb\\_backup\\_config) | configuration options for MySQL database backups. It includes properties such as the S3 bucket URI, the S3 bucket region, and the cron expression for full backups. | `map(string)` | \u003cpre\u003e{\u003cbr/\u003e  \"bucket_uri\": \"\",\u003cbr/\u003e  \"cron_for_full_backup\": \"\",\u003cbr/\u003e  \"mysql_database_name\": \"\",\u003cbr/\u003e  \"s3_bucket_region\": \"\"\u003cbr/\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_mysqldb_backup_enabled\"\u003e\u003c/a\u003e [mysqldb\\_backup\\_enabled](#input\\_mysqldb\\_backup\\_enabled) | Specifies whether to enable backups for MySQL database. | `bool` | `false` | no |\n| \u003ca name=\"input_mysqldb_restore_config\"\u003e\u003c/a\u003e [mysqldb\\_restore\\_config](#input\\_mysqldb\\_restore\\_config) | Configuration options for restoring dump to the MySQL database. | `any` | \u003cpre\u003e{\u003cbr/\u003e  \"bucket_uri\": \"\",\u003cbr/\u003e  \"file_name\": \"\",\u003cbr/\u003e  \"s3_bucket_region\": \"\"\u003cbr/\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_mysqldb_restore_enabled\"\u003e\u003c/a\u003e [mysqldb\\_restore\\_enabled](#input\\_mysqldb\\_restore\\_enabled) | Specifies whether to enable restoring dump to the MySQL database. | `bool` | `false` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | The name of the RDS instance | `string` | `\"\"` | no |\n| \u003ca name=\"input_namespace\"\u003e\u003c/a\u003e [namespace](#input\\_namespace) | Name of the Kubernetes namespace where the MYSQL deployment will be deployed. | `string` | `\"mysqldb\"` | no |\n| \u003ca name=\"input_ok_actions\"\u003e\u003c/a\u003e [ok\\_actions](#input\\_ok\\_actions) | The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Number (ARN) | `list(string)` | `[]` | no |\n| \u003ca name=\"input_port\"\u003e\u003c/a\u003e [port](#input\\_port) | The port for the database | `number` | `3306` | no |\n| \u003ca name=\"input_publicly_accessible\"\u003e\u003c/a\u003e [publicly\\_accessible](#input\\_publicly\\_accessible) | Specifies whether the database is publicly accessible over the internet | `bool` | `false` | no |\n| \u003ca name=\"input_random_password_length\"\u003e\u003c/a\u003e [random\\_password\\_length](#input\\_random\\_password\\_length) | The length of the randomly generated password. (default: 10) | `number` | `16` | no |\n| \u003ca name=\"input_rds_instance_name\"\u003e\u003c/a\u003e [rds\\_instance\\_name](#input\\_rds\\_instance\\_name) | The name of the RDS instance | `string` | `\"\"` | no |\n| \u003ca name=\"input_replica_count\"\u003e\u003c/a\u003e [replica\\_count](#input\\_replica\\_count) | The number of replica instance | `number` | `1` | no |\n| \u003ca name=\"input_replica_enable\"\u003e\u003c/a\u003e [replica\\_enable](#input\\_replica\\_enable) | Whether enable replica DB | `bool` | `false` | no |\n| \u003ca name=\"input_replicate_source_db\"\u003e\u003c/a\u003e [replicate\\_source\\_db](#input\\_replicate\\_source\\_db) | Specifies the identifier of another Amazon RDS Database to replicate as the source database | `string` | `null` | 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, no DBSnapshot is created. If false, a DB snapshot is created using the value from final\\_snapshot\\_identifier | `bool` | `true` | no |\n| \u003ca name=\"input_slack_channel\"\u003e\u003c/a\u003e [slack\\_channel](#input\\_slack\\_channel) | The Slack channel where notifications will be posted. | `string` | `\"\"` | no |\n| \u003ca name=\"input_slack_notification_enabled\"\u003e\u003c/a\u003e [slack\\_notification\\_enabled](#input\\_slack\\_notification\\_enabled) | Whether to enable/disable slack notification. | `bool` | `false` | no |\n| \u003ca name=\"input_slack_username\"\u003e\u003c/a\u003e [slack\\_username](#input\\_slack\\_username) | The username to use when sending notifications to Slack. | `string` | `\"\"` | no |\n| \u003ca name=\"input_slack_webhook_url\"\u003e\u003c/a\u003e [slack\\_webhook\\_url](#input\\_slack\\_webhook\\_url) | The Slack Webhook URL where notifications will be sent. | `string` | `\"\"` | no |\n| \u003ca name=\"input_snapshot_identifier\"\u003e\u003c/a\u003e [snapshot\\_identifier](#input\\_snapshot\\_identifier) | Specifies whether to create this database from a snapshot. Use the snapshot ID found in the RDS console, e.g., rds:production-2015-06-26-06-05. | `string` | `null` | no |\n| \u003ca name=\"input_storage_encrypted\"\u003e\u003c/a\u003e [storage\\_encrypted](#input\\_storage\\_encrypted) | Specifies whether database encryption is enabled | `bool` | `true` | no |\n| \u003ca name=\"input_storage_type\"\u003e\u003c/a\u003e [storage\\_type](#input\\_storage\\_type) | The storage type for the database storage like gp2,gp3,io1 | `string` | `\"gp2\"` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | A list of subnet IDs used by the database subnet group created | `list(any)` | `[]` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | The ID of the VPC where the RDS cluster should be deployed | `string` | `\"\"` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_db_instance_endpoint\"\u003e\u003c/a\u003e [db\\_instance\\_endpoint](#output\\_db\\_instance\\_endpoint) | The endpoint for connecting to the database instance |\n| \u003ca name=\"output_db_instance_name\"\u003e\u003c/a\u003e [db\\_instance\\_name](#output\\_db\\_instance\\_name) | The name of the database instance |\n| \u003ca name=\"output_db_instance_password\"\u003e\u003c/a\u003e [db\\_instance\\_password](#output\\_db\\_instance\\_password) | The password for accessing the database instance (note: Terraform doesn't track changes to this password) |\n| \u003ca name=\"output_db_instance_username\"\u003e\u003c/a\u003e [db\\_instance\\_username](#output\\_db\\_instance\\_username) | The master username for accessing the database instance |\n| \u003ca name=\"output_db_parameter_group_id\"\u003e\u003c/a\u003e [db\\_parameter\\_group\\_id](#output\\_db\\_parameter\\_group\\_id) | The ID of the database parameter group |\n| \u003ca name=\"output_db_subnet_group_id\"\u003e\u003c/a\u003e [db\\_subnet\\_group\\_id](#output\\_db\\_subnet\\_group\\_id) | The ID of the database subnet group |\n| \u003ca name=\"output_enhanced_monitoring_iam_role_arn\"\u003e\u003c/a\u003e [enhanced\\_monitoring\\_iam\\_role\\_arn](#output\\_enhanced\\_monitoring\\_iam\\_role\\_arn) | The ARN of the monitoring role |\n| \u003ca name=\"output_master_credential_secret_arn\"\u003e\u003c/a\u003e [master\\_credential\\_secret\\_arn](#output\\_master\\_credential\\_secret\\_arn) | The ARN of the master user secret (Only available when manage\\_master\\_user\\_password is set to true) |\n| \u003ca name=\"output_rds_dedicated_security_group\"\u003e\u003c/a\u003e [rds\\_dedicated\\_security\\_group](#output\\_rds\\_dedicated\\_security\\_group) | The security group ID associated with the RDS cluster |\n| \u003ca name=\"output_replica_db_instance_address\"\u003e\u003c/a\u003e [replica\\_db\\_instance\\_address](#output\\_replica\\_db\\_instance\\_address) | The ID of the replica database instance |\n| \u003ca name=\"output_replica_db_instance_endpoint\"\u003e\u003c/a\u003e [replica\\_db\\_instance\\_endpoint](#output\\_replica\\_db\\_instance\\_endpoint) | The replica db endpoint for connecting to the database instance |\n| \u003ca name=\"output_replica_db_instance_name\"\u003e\u003c/a\u003e [replica\\_db\\_instance\\_name](#output\\_replica\\_db\\_instance\\_name) | The name of the replica database instance |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Contribute \u0026 Issue Report\n\nTo report an issue with a project:\n\n  1. Check the repository's [issue tracker](https://github.com/squareops/terraform-aws-rds-mysql/issues) on GitHub\n  2. Search to check if the issue has already been reported\n  3. If you can't find an answer to your question in the documentation or issue tracker, you can ask a question by creating a new issue. Make sure to provide enough context and details.\n\n## License\n\nApache License, Version 2.0, January 2004 (https://www.apache.org/licenses/LICENSE-2.0)\n\n## Support Us\n\nTo support our GitHub project by liking it, you can follow these steps:\n\n  1. Visit the repository: Navigate to the [GitHub repository](https://github.com/squareops/terraform-aws-rds-mysql)\n\n  2. Click the \"Star\" button: On the repository page, you'll see a \"Star\" button in the upper right corner. Clicking on it will star the repository, indicating your support for the project.\n\n  3. Optionally, you can also leave a comment on the repository or open an issue to give feedback or suggest changes.\n\nStaring a repository on GitHub is a simple way to show your support and appreciation for the project. It also helps to increase the visibility of the project and make it more discoverable to others.\n\n## Who we are\n\nWe believe that the key to success in the digital age is the ability to deliver value quickly and reliably. That’s why we offer a comprehensive range of DevOps \u0026 Cloud services designed to help your organization optimize its systems \u0026 Processes for speed and agility.\n\n  1. We are an AWS Advanced consulting partner which reflects our deep expertise in AWS Cloud and helping 100+ clients over the last 5 years.\n  2. Expertise in Kubernetes and overall container solution helps companies expedite their journey by 10X.\n  3. Infrastructure Automation is a key component to the success of our Clients and our Expertise helps deliver the same in the shortest time.\n  4. DevSecOps as a service to implement security within the overall DevOps process and helping companies deploy securely and at speed.\n  5. Platform engineering which supports scalable,Cost efficient infrastructure that supports rapid development, testing, and deployment.\n  6. 24*7 SRE service to help you Monitor the state of your infrastructure and eradicate any issue within the SLA.\n\nWe provide [support](https://squareops.com/contact-us/) on all of our projects, no matter how small or large they may be.\n\nTo find more information about our company, visit [squareops.com](https://squareops.com/), follow us on [Linkedin](https://www.linkedin.com/company/squareops-technologies-pvt-ltd/), or fill out a [job application](https://squareops.com/careers/). If you have any questions or would like assistance with your cloud strategy and implementation, please don't hesitate to [contact us](https://squareops.com/contact-us/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquareops%2Fterraform-aws-rds-mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquareops%2Fterraform-aws-rds-mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquareops%2Fterraform-aws-rds-mysql/lists"}