как передать ввод списка в aws vp c elb в terraform - PullRequest
0 голосов
/ 16 января 2020

здесь я пытаюсь обеспечить aws classi c ELB в VP C, где у меня есть 2 публичные c подсети. Эти подсети также предоставляются terraform, и я пытаюсь передать оба идентификатора подсетей в модуль elb. Так что проблема в том, что я не могу дать список ввода в поле подсети elb

public_su bnet переменная работает нормально, так как я использовал его для связи с таблицей маршрутов, просто я не в состоянии обработать список и передать его в качестве входных данных для vp c.

, он работает, если я использую подсети = [var. public_su bnet .0, var.public_su bnet .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.```



1 Ответ

1 голос
/ 25 января 2020

Поскольку var.public_subnet - это уже список. [var.public_subnet] эквивалентно [["192.168.0.0/32"]] вместо ожидаемого, не вложенного ввода ["102.168.0.0/32"]

ie ... просто используйте var.public_subnet

...