This module manages the azurerm database resources. For more information see https://registry.terraform.io/providers/azurerm/latest/docs > database
<-- This file is autogenerated, please do not change. -->
Name | Version |
---|---|
terraform | >=1.3 |
azurerm | >=3.75.0, <4.0 |
Name | Version |
---|---|
azurerm | >=3.75.0, <4.0 |
Name | Type |
---|---|
azurerm_mysql_flexible_database.mysql_flexible_database | resource |
azurerm_mysql_flexible_server.mysql_flexible_server | resource |
azurerm_mysql_flexible_server_configuration.mysql_flexible_server_configuration | resource |
azurerm_mysql_flexible_server_firewall_rule.mysql_flexible_server_firewall_rule | resource |
azurerm_postgresql_flexible_server.postgresql_flexible_server | resource |
azurerm_postgresql_flexible_server_configuration.postgresql_flexible_server_configuration | resource |
azurerm_postgresql_flexible_server_database.postgresql_flexible_server_database | resource |
azurerm_postgresql_flexible_server_firewall_rule.postgresql_flexible_server_firewall_rule | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
mysql_flexible_database | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
mysql_flexible_server | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
mysql_flexible_server_configuration | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
mysql_flexible_server_firewall_rule | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
postgresql_flexible_server | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
postgresql_flexible_server_configuration | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
postgresql_flexible_server_database | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
postgresql_flexible_server_firewall_rule | Resource definition, default settings are defined within locals and merged with var settings. For more information look at Outputs. | any |
{} |
no |
Name | Description |
---|---|
mysql_flexible_database | Outputs all attributes of resource_type. |
mysql_flexible_server | Outputs all attributes of resource_type. |
mysql_flexible_server_configuration | Outputs all attributes of resource_type. |
mysql_flexible_server_firewall_rule | Outputs all attributes of resource_type. |
postgresql_flexible_server | Outputs all attributes of resource_type. |
postgresql_flexible_server_configuration | Outputs all attributes of resource_type. |
postgresql_flexible_server_database | Outputs all attributes of resource_type. |
postgresql_flexible_server_firewall_rule | Outputs all attributes of resource_type. |
variables | Displays all configurable variables passed by the module. default = predefined values per module. merged = result of merging the default values and custom values passed to the module |
Minimal configuration to install the desired resources with the module
resource "random_password" "password" {
for_each = toset(["mysql_root", "postgresql_root"])
length = 16
special = false
}
module "database" {
source = "registry.terraform.io/telekom-mms/database/azurerm"
mysql_flexible_server = {
mysql-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
administrator_login = "mysql_root"
administrator_password = random_password.password["mysql_root"].result
sku_name = "GP_Standard_D2ds_v4"
}
}
mysql_flexible_server_configuration = {
interactive_timeout = {
resource_group_name = module.database.mysql_flexible_server["mysql-mms"].resource_group_name
server_name = module.database.mysql_flexible_server["mysql-mms"].name
value = "600"
}
}
mysql_flexible_database = {
application = {
resource_group_name = module.database.mysql_flexible_server["mysql-mms"].resource_group_name
server_name = module.database.mysql_flexible_server["mysql-mms"].name
}
}
mysql_flexible_server_firewall_rule = {
AzureServices = {
server_name = module.database.mysql_flexible_server["mysql-mms"].name
resource_group_name = module.database.mysql_flexible_server["mysql-mms"].resource_group_name
start_ip_address = cidrhost("0.0.0.0/32", 0)
end_ip_address = cidrhost("0.0.0.0/32", -1)
}
}
postgresql_flexible_server = {
postgresql-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
administrator_login = "postgresql_root"
administrator_password = random_password.password["postgresql_root"].result
sku_name = "GP_Standard_D2ds_v5"
}
}
postgresql_flexible_server_configuration = {
backslash_quote = {
server_id = module.database.postgresql_flexible_server["postgresql-mms"].id
value = "on"
}
}
postgresql_flexible_server_database = {
application = {
server_id = module.database.postgresql_flexible_server["postgresql-mms"].id
}
}
postgresql_flexible_server_firewall_rule = {
AzureServices = {
server_id = module.database.postgresql_flexible_server["postgresql-mms"].id
start_ip_address = cidrhost("0.0.0.0/32", 0)
end_ip_address = cidrhost("0.0.0.0/32", -1)
}
}
}
Advanced configuration to install the desired resources with the module
resource "random_password" "password" {
for_each = toset(["mysql_root", "postgresql_root"])
length = 16
special = false
}
module "database" {
source = "registry.terraform.io/telekom-mms/database/azurerm"
mysql_flexible_server = {
mysql-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
administrator_login = "mysql_root"
administrator_password = random_password.password["mysql_root"].result
sku_name = "GP_Standard_D2ds_v4"
version = "8.0.21"
zone = "1"
storage = {
io_scaling_enabled = true
size_gb = 20
}
high_availability = {
mode = "ZoneRedundant"
standby_availability_zone = 2
}
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
mysql_flexible_server_configuration = {
interactive_timeout = {
resource_group_name = module.database.mysql_flexible_server["mysql-mms"].resource_group_name
server_name = module.database.mysql_flexible_server["mysql-mms"].name
value = "600"
}
}
mysql_flexible_database = {
application = {
resource_group_name = module.database.mysql_flexible_server["mysql-mms"].resource_group_name
server_name = module.database.mysql_flexible_server["mysql-mms"].name
}
}
mysql_flexible_server_firewall_rule = {
AzureServices = {
server_name = module.database.mysql_flexible_server["mysql-mms"].name
resource_group_name = module.database.mysql_flexible_server["mysql-mms"].resource_group_name
start_ip_address = cidrhost("0.0.0.0/32", 0)
end_ip_address = cidrhost("0.0.0.0/32", -1)
}
}
postgresql_flexible_server = {
postgresql-mms = {
location = "westeurope"
resource_group_name = "rg-mms-github"
administrator_login = "postgresql_root"
administrator_password = random_password.password["postgresql_root"].result
sku_name = "GP_Standard_D2ds_v5"
storage_mb = 32768
version = "16"
zone = "1"
high_availability = {
mode = "ZoneRedundant"
standby_availability_zone = 2
}
tags = {
project = "mms-github"
environment = terraform.workspace
managed-by = "terraform"
}
}
}
postgresql_flexible_server_configuration = {
backslash_quote = {
server_id = module.database.postgresql_flexible_server["postgresql-mms"].id
value = "on"
}
}
postgresql_flexible_server_database = {
application = {
server_id = module.database.postgresql_flexible_server["postgresql-mms"].id
}
}
postgresql_flexible_server_firewall_rule = {
AzureServices = {
server_id = module.database.postgresql_flexible_server["postgresql-mms"].id
start_ip_address = cidrhost("0.0.0.0/32", 0)
end_ip_address = cidrhost("0.0.0.0/32", -1)
}
}
}