Terraform密钥未标识此集合中的元素
我正在跟踪一个消息 它定义了如下AMI变量:Terraform密钥未标识此集合中的元素,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我正在跟踪一个消息 它定义了如下AMI变量: variable "amis" { type = "map" default = { "us-east-1" = "ami-b374d5a5" "us-west-2" = "ami-fc0b939c" } } 然后按如下方式分配AMI变量: resource "aws_instance&quo
variable "amis" {
type = "map"
default = {
"us-east-1" = "ami-b374d5a5"
"us-west-2" = "ami-fc0b939c"
}
}
然后按如下方式分配AMI变量:
resource "aws_instance" "example" {
ami = var.amis[var.region]
instance_type = "t2.micro"
}
如果我以这种方式尝试该示例,则会出现错误:
Error: Invalid index
on main.tf line 17, in resource "aws_instance" "example":
17: ami = var.amis[var.region]
The given key does not identify an element in this collection value: string
required.
但是,我可以通过硬编码设置变量:
var.amis["us-west-2"] # <-- this works
var.amis[“us-west-2”]#您需要定义变量var.region
或者您可以在规划/应用期间将该值传递给变量,作为terraform plan-var'region=us-west-2'
和terraform apply-var'region=us-west-2'是否定义了var.region
?