Я думаю, все, что вам нужно, это List
, потому что Map
не предоставляет структуру, подобную массиву, а дает хранилище, подобное ключу-значению.
Как вы сказали, этот код должен иметь index
для доступа к элементу List
. Переменная index
называется foo
и имеет тип number
. Остальное делает list(map(string))
, который предоставляет Map
из List
s в типе string
.
В последнем фрагменте вы получаете доступ к этой переменной с индексом, который мы предоставили ранее.
variable "foo" {
type = number
}
variable "whitelist_list" {
type = list(map(string))
default = [
{ "10.1.1.1/32" = "alb_external_facing" },
{ "10.2.2.2" = "jenkins_lb" }
]
}
output "whitelist" {
value = var.whitelist_list[var.foo]
}