AB
Size: a a a
AB
B
network_interface
с ключами:subnet_id (string)
ip_address (string)
nat (bool)
nat_ip_address (string)
subnet_id
- я хотел бы иметь возможность указывать остальные 3 ключа опционально. т.е. если в map-переменной кого-то из них нет, то этот ключ не передавать вовсеblah.tf
:resource "blah-type" "blah-name" {вызов модуля:
...
dynamic network_interface {
for_each = var.network_config
content {
each.key = each.value
}
}
...
}
module "blah" {как это описать, чтобы оно ещё и работало?)
network_config = {
subnet_id = "<some_id>"
ip_address = 127.0.0.1
}
}
DZ
B
AR
resource "blah-type" "blah-name" {
attr = null
}
attr
. Пример слишком синтетический для точного ответа.B
resource "blah-type" "blah-name" {
attr = null
}
attr
. Пример слишком синтетический для точного ответа.network_interface
там же на странице чуть ниже описаны (Ctrl+F, The network_interface block supports
)B
AR
locals {
interfaces = [
{
subnet_id = ""
nat_ip_address = "1.1.1.1"
},
{
subnet_id = ""
},
]
}
resource "yandex_compute_instance" "default" {
dynamic "network_interface" {
for_each = local.interfaces
content {
subnet_id = lookup(network_interface, "subnet_id")
nat_ip_address = lookup(network_interface, "nat_ip_address", null)
}
}
}
B
resource "blah-type" "blah-name" {
attr = null
}
attr
. Пример слишком синтетический для точного ответа.attr = null
. dynamic block и for_each только усложняли общую схему. выкинул их, разобрался с type constraints для объектов, и в итоге описал всё ровно так, как задумывалМ
AA
i
ac
ac
ac
B
ac
ac
ac
VT