如何将列表输入传递给 terraform 中的 aws vpc elb
how to pass list input to aws vpc elb in terraform
我在这里尝试在我有 2 个 public 子网的 VPC 中提供 aws classic ELB。这些子网也由 terraform 提供,我正在尝试将这两个子网 ID 传递给 elb module.SO 问题是我无法将列表输入提供给 elb 子网字段
public_subnet 变量工作正常,因为我已将它用于路由 table 关联,只是我无法处理列表并将其作为 vpc 的输入。
如果我使用 subnets = [var.public_subnet.0,var.public_subnet.1]
这是我的代码
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_subnet
已经是一个列表。 [var.public_subnet]
等同于 [["192.168.0.0/32"]]
而不是预期的未嵌套输入 ["102.168.0.0/32"]
即...只需使用 var.public_subnet
我在这里尝试在我有 2 个 public 子网的 VPC 中提供 aws classic ELB。这些子网也由 terraform 提供,我正在尝试将这两个子网 ID 传递给 elb module.SO 问题是我无法将列表输入提供给 elb 子网字段
public_subnet 变量工作正常,因为我已将它用于路由 table 关联,只是我无法处理列表并将其作为 vpc 的输入。
如果我使用 subnets = [var.public_subnet.0,var.public_subnet.1]
这是我的代码
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_subnet
已经是一个列表。 [var.public_subnet]
等同于 [["192.168.0.0/32"]]
而不是预期的未嵌套输入 ["102.168.0.0/32"]
即...只需使用 var.public_subnet