Пытаюсь в течение 2 дней создать правило брандмауэра, но не могу найти ошибку.
Я ухожу шаг за шагом и теперь использую пример от hashicorp, который тоже не работает.
resource "azurerm_postgresql_flexible_server_firewall_rule" "vpn" {
for_each = tomap({
a = "112.234.12.1"
b = "212.22.111.1",
c = "22.111.22.1"
})
name = "db-firewall-${each.key}"
server_id = azurerm_postgresql_flexible_server.mydb.id
start_ip_address = each.value
end_ip_address = each.value
}
Этот код не создает правила брандмауэра. Что у меня плохого?
Успешен ли terraform apply для этого ресурса? Есть ли у вас вывод журнала azurerm_postgresql_flexible_server_firewall_rule.vpn для команды apply?
Если «azurerm_postgresql_flexible_server_firewall_rule», которым вы поделились, является тем, которое вы используете в своей конфигурации, то согласно ссылке эта проблема возникла из-за лишней запятой в вашей функции «tomap», поскольку это была карта, а не набор строк @user6266369


Создание правила azurerm_postgresql_flexible_server_firewall_rule с помощью for_each
Что касается функции «tomap », здесь метааргумент « for_each» был передан как map, а не как set of strings, поэтому нам нужно удалить лишнюю запятую во второй строке «tomap».
Я попробовал конфигурацию terraform со ссылкой на реестр hashicorp с упомянутыми изменениями и смог успешно выполнить требование.
Моя конфигурация терраформа:
resource "azurerm_postgresql_flexible_server" "mydb" {
name = "testvk-postgres-ser"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
version = "12"
administrator_login = "adminuser"
administrator_password = "Password1234!"
sku_name = "GP_Standard_D4s_v3"
storage_mb = 32768
high_availability {
mode = "SameZone"
}
}
resource "azurerm_postgresql_flexible_server_firewall_rule" "vpn" {
for_each = tomap({
a = "112.234.12.1"
b = "212.22.111.1"
c = "22.111.22.1"
})
name = "vkdb-firewall-${each.key}"
server_id = azurerm_postgresql_flexible_server.mydb.id
start_ip_address = each.value
end_ip_address = each.value
}
Развертывание выполнено успешно:


Есть ли ошибки при выполнении кода? Не могли бы вы опубликовать вывод команды
terraform plan?