{"id":20757628,"url":"https://github.com/dodevops/terraform-azure-mysql","last_synced_at":"2026-04-18T20:31:33.840Z","repository":{"id":39861182,"uuid":"364244179","full_name":"dodevops/terraform-azure-mysql","owner":"dodevops","description":"Highly opinionated management of Azure DB for MySQL resources","archived":false,"fork":false,"pushed_at":"2023-08-03T10:36:22.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-18T04:43:49.959Z","etag":null,"topics":["azure-db","azurerm","mysql","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/dodevops/mysql/azure/latest","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dodevops.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":"2021-05-04T12:11:31.000Z","updated_at":"2022-05-24T11:10:13.000Z","dependencies_parsed_at":"2024-11-17T09:43:45.207Z","dependency_job_id":"080ce158-4959-435e-b741-c9069ebc3cfe","html_url":"https://github.com/dodevops/terraform-azure-mysql","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodevops%2Fterraform-azure-mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodevops%2Fterraform-azure-mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodevops%2Fterraform-azure-mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dodevops%2Fterraform-azure-mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dodevops","download_url":"https://codeload.github.com/dodevops/terraform-azure-mysql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243067048,"owners_count":20230860,"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":["azure-db","azurerm","mysql","terraform-module"],"created_at":"2024-11-17T09:43:26.701Z","updated_at":"2026-04-18T20:31:33.822Z","avatar_url":"https://github.com/dodevops.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure DB for MySQL\n\n## Introduction\n\nThis module manages resources for Azure DB for MySQL using the flexible server deployment.\n\nMore details are available in the following sources:\n\n- [Terraform AzureRM provider flexible server resource type](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_server)\n- [Microsoft flexible server documentation](https://learn.microsoft.com/en-us/azure/mysql/flexible-server/)\n\n## Usage\n\nInstantiate the module by calling it from Terraform like this:\n\n```hcl\nmodule \"azure-mysql\" {\n  source = \"dodevops/mysql/azure\"\n  version = \"\u003cversion\u003e\"\n}\n```\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\nThe following requirements are needed by this module:\n\n- terraform (\u003e=1.0.0)\n\n- azurerm (\u003e=3.63.0)\n\n## Providers\n\nThe following providers are used by this module:\n\n- azurerm (\u003e=3.63.0)\n\n## Modules\n\nNo modules.\n\n## Resources\n\nThe following resources are used by this module:\n\n- [azurerm_mysql_flexible_database.db](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_database) (resource)\n- [azurerm_mysql_flexible_server.server](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_server) (resource)\n- [azurerm_mysql_flexible_server_configuration.configuration](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_server_configuration) (resource)\n- [azurerm_mysql_flexible_server_configuration.require-secure-transport](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_server_configuration) (resource)\n- [azurerm_mysql_flexible_server_configuration.tls-version](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_server_configuration) (resource)\n- [azurerm_mysql_flexible_server_firewall_rule.firewall](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mysql_flexible_server_firewall_rule) (resource)\n\n## Required Inputs\n\nThe following input variables are required:\n\n### admin\\_password\n\nDescription: Admin password\n\nType: `string`\n\n### charset\n\nDescription: Charset for the databases, which needs to be a valid MySQL charset\n\nType: `string`\n\n### collation\n\nDescription: Charset for the databases, which needs to be a valid MySQL charset\n\nType: `string`\n\n### database\\_suffixes\n\nDescription: List of suffixes for databases to be created\n\nType: `list(string)`\n\n### location\n\nDescription: The azure location used for azure\n\nType: `string`\n\n### project\n\nDescription: Three letter project key\n\nType: `string`\n\n### resource\\_group\n\nDescription: Azure Resource Group to use\n\nType: `string`\n\n### stage\n\nDescription: Stage for this ressource group\n\nType: `string`\n\n## Optional Inputs\n\nThe following input variables are optional (have default values):\n\n### admin\\_login\n\nDescription: Admin login\n\nType: `string`\n\nDefault: `\"mysqladmin\"`\n\n### allowed\\_ips\n\nDescription:     A hash of permissions to access the database server by ip. The hash key is the name suffix and each value  \n    has a start and an end value.\n\n    * For public access set start to 0.0.0.0 and end to 255.255.255.255\n    * To allow access from all Azure services to this database, set start and end to 0.0.0.0\n\nType:\n\n```hcl\nmap(object({\n    start = string,\n    end   = string\n  }))\n```\n\nDefault: `{}`\n\n### availability\\_zone\n\nDescription: The availability zone the server will be created in\n\nType: `string`\n\nDefault: `\"1\"`\n\n### backup\\_retention\\_days\n\nDescription: Number of days to keep backups\n\nType: `number`\n\nDefault: `7`\n\n### configurations\n\nDescription: Additional MySQL configurations\n\nType: `map(string)`\n\nDefault: `{}`\n\n### database\\_host\\_sku\n\nDescription: SKU for the database server to use\n\nType: `string`\n\nDefault: `\"GP_Standard_D4ds_v4\"`\n\n### database\\_storage\\_autogrow\n\nDescription: Autogrow storage when limit is reached?\n\nType: `bool`\n\nDefault: `true`\n\n### database\\_storage\\_io\\_scaling\\_enabled\n\nDescription: Enables IOPS auto scaling. If true, database\\_storage\\_iops will be ignored\n\nType: `bool`\n\nDefault: `false`\n\n### database\\_storage\\_iops\n\nDescription: IO operations per second. If database\\_storage\\_io\\_scaling\\_enabled is true, this variable will be ignored\n\nType: `number`\n\nDefault: `3600`\n\n### database\\_storage\\_size\n\nDescription: Required database storage (in GB)\n\nType: `string`\n\nDefault: `\"20\"`\n\n### database\\_version\n\nDescription: Database version to use\n\nType: `string`\n\nDefault: `\"8.0.21\"`\n\n### delegated\\_subnet\\_id\n\nDescription: The id of a subnet that the server will be created in if private-only access is required.  \nThis subnet requires a service delegation definition like this:\n```hcl\n  delegation {\n    name = \"fs\"\n    service_delegation {\n      name = \"Microsoft.DBforMySQL/flexibleServers\"\n      actions = [\n        \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n      ]\n    }\n  }\n```\n\nType: `string`\n\nDefault: `null`\n\n### geo\\_redundant\\_backup\\_enabled\n\nDescription: Whether backups should be geo redundant\n\nType: `bool`\n\nDefault: `false`\n\n### private\\_dns\\_zone\\_id\n\nDescription: The id of the private dns zone when using private-only access\n\nType: `string`\n\nDefault: `null`\n\n### suffix\n\nDescription: Naming suffix to allow multiple instances of this module\n\nType: `string`\n\nDefault: `\"\"`\n\n## Outputs\n\nThe following outputs are exported:\n\n### admin\\_login\n\nDescription: n/a\n\n### admin\\_password\n\nDescription: n/a\n\n### databases\n\nDescription: n/a\n\n### server\\_fqdn\n\nDescription: FQDN of the database service\n\u003c!-- END_TF_DOCS --\u003e\n\n## Development\n\nUse [the terraform module tools](https://github.com/dodevops/terraform-module-tools) to check and generate the documentation by running\n\n    docker run -v \"$PWD\":/terraform ghcr.io/dodevops/terraform-module-tools:latest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdodevops%2Fterraform-azure-mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdodevops%2Fterraform-azure-mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdodevops%2Fterraform-azure-mysql/lists"}