Terraform Azure rule recreates firewall rule every time I run plan or apply

693 Views Asked by At

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

0

There are 0 best solutions below