[英]Terraform dynamic variable lookup
我正在编写一些 terraform 代码,它根据名为 fortios_version 的变量查找 ami。 我似乎不明白如何让 map 传回 map 值。 这是我的代码...
variable "fortios_version" {
type = string
}
variable "fortios_map" {
type = map
default = {
"7.2.0" = "fgtvmbyolami-7-2-0"
"6.4.8" = "fgtvmbyolami-6-4-8"
}
}
variable "fgtvmbyolami-7-2-0" {
type = map
default = {
us-east-1 = "ami-08a9244de2d3b3cfa"
us-east-2 = "ami-0b07d15df1781b3d8"
}
}
我的aws实例代码...
ami = lookup(lookup(var.fortios_map[var.fortios_version]), var.region)
我的变量....
fortios_version: "7.2.0"
我希望我说得通。 我整天都在玩不同的变化,但没有运气。 任何帮助表示赞赏。
谢谢,
克里斯·爱德华兹
您不能根据 fortios_map 的 output 动态引用fgtvmbyolami-7-2-0
fortios_map
。 最好重新组织你的变量:
variable "fortios_version" {
type = string
}
variable "fortios_map" {
type = map
default = {
"7.2.0" = "fgtvmbyolami-7-2-0"
"6.4.8" = "fgtvmbyolami-6-4-8"
}
}
variable "amis" {
type = map
default = {
"fgtvmbyolami-7-2-0" = {
us-east-1 = "ami-08a9244de2d3b3cfa"
us-east-2 = "ami-0b07d15df1781b3d8"
},
"fgtvmbyolami-6-4-8" = {
us-east-1 = "ami-08a92333cfa"
us-east-2 = "ami-0b07dgggg781b3d8"
}
}
}
然后
ami = var.amis[var.fortios_map[var.fortios_version]][var.region]
您可以将此扩展为广告lookup
,以便为每个 map 设置一些默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.