terraform 局部变量中的多个子网定义
multiple subnets definition in terraform local variable
locals {
fw-subnet-ids = var.env == "dev" || var.env == "qa" ? data.azurerm_subnet.storage-fw-subnets-lower[*].id : data.azurerm_subnet.storage-fw-subnets-upper[*].id
}
我正在使用 fw-subnet-ids
作为本地变量并使用它来设置存储帐户资源的防火墙规则。
我想更改此规则,以便现在
对于 dev 和 qa ...lower[].id 和 ....upper[].id 都是允许的
仅适用于 uat&prod ....upper[*].id 子网允许。
如何更新本地块以使其成为可能?
针对这个需求,需要对变量env
的值进行限制,必须是dev, qa, uat, prod
四个输入之一,不能为null。然后你可以像这样改变当地人:
locals {
fw-subnet-ids = var.env == "dev" || var.env == "qa" ? concat(data.azurerm_subnet.storage-fw-subnets-lower[*].id, data.azurerm_subnet.storage-fw-subnets-upper[*].id) : data.azurerm_subnet.storage-fw-subnets-upper[*].id
}
意思是如果变量env
是两个dev, qa
中的任何一个,即使两者都是,return组合列表的列表...lower[].id和 ....upper[].id。如果变量 env
不是其中之一,则它必须是 uat, prod
或两者之一,然后 return 列表 ....upper[*].id.
locals {
fw-subnet-ids = var.env == "dev" || var.env == "qa" ? data.azurerm_subnet.storage-fw-subnets-lower[*].id : data.azurerm_subnet.storage-fw-subnets-upper[*].id
}
我正在使用 fw-subnet-ids
作为本地变量并使用它来设置存储帐户资源的防火墙规则。
我想更改此规则,以便现在
对于 dev 和 qa ...lower[].id 和 ....upper[].id 都是允许的
仅适用于 uat&prod ....upper[*].id 子网允许。
如何更新本地块以使其成为可能?
针对这个需求,需要对变量env
的值进行限制,必须是dev, qa, uat, prod
四个输入之一,不能为null。然后你可以像这样改变当地人:
locals {
fw-subnet-ids = var.env == "dev" || var.env == "qa" ? concat(data.azurerm_subnet.storage-fw-subnets-lower[*].id, data.azurerm_subnet.storage-fw-subnets-upper[*].id) : data.azurerm_subnet.storage-fw-subnets-upper[*].id
}
意思是如果变量env
是两个dev, qa
中的任何一个,即使两者都是,return组合列表的列表...lower[].id和 ....upper[].id。如果变量 env
不是其中之一,则它必须是 uat, prod
或两者之一,然后 return 列表 ....upper[*].id.