如何在terraform中将列表输入传递到aws vpc elb
在这里,我试图在VPC中提供一个aws经典ELB,其中我有2个公共子网。这些子网也由terraform提供,我正在尝试将这两个子网ID传递给elb模块。因此,问题是我无法将列表输入提供给elb子网字段 public_subnet变量工作正常,因为我将其用于路由表关联。只是我无法处理列表并将其作为vpc的输入 如果我使用subnets=[var.public\u subnet.0,var.public\u subnet.1]就可以了 这是我的密码如何在terraform中将列表输入传递到aws vpc elb,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,在这里,我试图在VPC中提供一个aws经典ELB,其中我有2个公共子网。这些子网也由terraform提供,我正在尝试将这两个子网ID传递给elb模块。因此,问题是我无法将列表输入提供给elb子网字段 public_subnet变量工作正常,因为我将其用于路由表关联。只是我无法处理列表并将其作为vpc的输入 如果我使用subnets=[var.public\u subnet.0,var.public\u subnet.1]就可以了 这是我的密码 resource "aws_elb" "webel
resource "aws_elb" "webelb" {
name = "foobar-terraform-elb"
#availability_zones = [var.public_subnet]
subnets = [var.public_subnet]
#
#
#
}
variable "public_subnet" {
type = list
}
subnet.tf
output "public_subnet" {
value = aws_subnet.public.*.id
}```
Error:
```Error: Incorrect attribute value type
on elb/elb.tf line 4, in resource "aws_elb" "webelb":
4: availability_zones = [var.public_subnet]
Inappropriate value for attribute "availability_zones": element 0: string
required.```
因为var.public\u子网已经是一个列表。[var.public_subnet]相当于[[192.168.0.0/32]],而不是预期的非嵌套输入[102.168.0.0/32]
即…只需使用var.public\u子网如果只传递subnets=var.public\u子网,是否有效。提供terraform版本是有帮助的,因为语法发生了变化,同时显示子网的实际来源也会对您有所帮助。ps我建议将您的var更改为公共子网,复数形式,如果它持有@Datise的ArrayTanks,并按预期工作。如果您能接受,我将回答这一问题,那太好了!