I have a Terraform module which creates a SQL server and firewall rules in Azure
resource "azurerm_sql_server" "sqlServer" {
name = "sql-server"
resource_group_name = azurerm_resource_group.resourceGroup.name
location = var.location
version = "12.0"
administrator_login = ""
administrator_login_password = ""
}
resource "azurerm_sql_database" "sqlDatabase" {
name = "DbName"
resource_group_name = azurerm_resource_group.resourceGroup.name
location = var.location
server_name = azurerm_sql_server.sqlServer.name
...
}
resource "azurerm_sql_firewall_rule" "firewall" {
name = "firewall"
resource_group_name = azurerm_resource_group.resourceGroup.name
server_name = azurerm_sql_server.sqlServer.name
start_ip_address = "0.0.0.0"
end_ip_address = "0.0.0.0"
}
Each time I run plan or apply, Terraform is trying to create these firewall rules (without destroying the old ones). Output:
# azurerm_sql_firewall_rule.firewall will be created
+ resource "azurerm_sql_firewall_rule" "firewall" {
+ end_ip_address = "0.0.0.0"
+ id = (known after apply)
+ name = "firewall"
+ resource_group_name = "Database"
+ server_name = "sql-server"
+ start_ip_address = "0.0.0.0"
}
Its not an issue as the rule exists and if I run the plan, the rules are already there so not created but its misleading for anyone else who wants to use this terraform script.
Do anyone else have this? Thanks for your help