Диапазон CIDR-IP для использования в определении брандмауэра, который не понимает CIDR (например, azurerm_sql_firewall_rule)? - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть несколько CIDR, которые мне нужно передать на azurerm_sql_firewall_rule. К сожалению, последнему нужна <start IP, end IP> пара.

Есть ли способ сделать это в терраформе?

1 Ответ

1 голос
/ 07 февраля 2020

Разобрался:

locals {
  cidr = "10.12.127.0/20"
  bits = 32 - split("/", local.cidr)[1]
  x = cidrhost(local.cidr, 0)
  y = cidrhost(local.cidr, pow(2, local.bits) - 1)
}

output "x" {
    value = local.x
}

output "y" {
    value = local.y
}

Запуск:

Outputs:

x = 10.12.112.0
y = 10.12.127.255
...