У меня есть два набора CIDR для каждой среды, я хотел бы, чтобы terraform перемещалась между двумя наборами при создании нового экземпляра.
Я посмотрел на поставщика terraform random_shuffle
и функцию слияния, но они не дают решения моей проблемы.
resource "aws_subnet" "myapp" {
cidr_block = "${cidrsubnet(var.vpc_cidr[terraform.workspace], 5, count.index + 16 + 5)}"
}
variable "vpc_cidr" {
type = "map"
default = {
QA = "20.30.100.0/23"
TEST = "20.37.200.0/23"
PROD = "20.37.200.0/23"
DEV = "20.37.100.0/23"
}
}
locals {
"vpc_cidr_2" = {
QA = "10.30.182.0/23"
TEST = "10.37.238.0/23"
PROD = "<none>"
DEV = "<none>"
}
}
Я бы хотел, чтобы cidr_block вычислялся на основе либоvpc_cidr или vpc_cidr2 и перетасовывать между ними.Кроме того, он должен будет проверить и вернуться к другой карте, если найден.
Примечание: vpc_cidr
- переменная, а vpc_cidr_2
- локальная.