Я собираюсь создать таблицу маршрутов и связать их с подсетями, так что у меня 3 подсети (list of strings)
, они уже созданы, но когда я пытаюсь связать таблицу маршрутов с подсетями, она связывается только с первой, и Я предполагаю те же проблемы, когда я пытаюсь связать NAT
шлюз, который также является list of strings
.
Вот результаты:
+ nat_list = [
+ "nat-0980ffedd5471b76d",
+ "nat-053701e207f6e92b2",
+ "nat-0be06d45baf164edc",
]
+ subnets = [
+ "subnet-04c920f8908d7e502",
+ "subnet-0e9e9333180cab627",
+ "subnet-0caae55b544e4b63d",
]
Вот мой main.tf
resource "aws_route_table" "public" {
count = length(local.azs)
vpc_id = aws_vpc.vpc[0].id
tags = var.tags
} <<< Creating without any problems
resource "aws_route" "public_ipv4" {
for_each = { for route in local.public_ipv4 : route.name => route}
route_table_id = aws_route_table.public.*.id
... ...
nat_gateway_id = ??? lookup(each.value, "nat", "" ) Not working ???
destination_cidr_block = lookup(each.value, "destination_cidr_block", "" )
... ...
}
resource "aws_route_table_association" "public" {
count = length(local.azs)
subnet_id = lookup(var.parameters[count.index], "public_subnet", [])
route_table_id = aws_route_table.public.*.id
}
variable "parameters" {
description = "The route table parameters"
type = list(object({
... ...
public_subnet = list(string)
... ...
}))
default = []
}
Обновление: локальная переменная
locals {
public_ipv4 = {[
{
name = "NAT(s) to MyLogSys ${local.counter + 1 }"
nat = aws_nat_gateway.translate.*.id
destination_cidr_block = "100.0.20.0/20"
}
]}
}
Я провел исследование, но похоже, что подобной проблемы нет.
local.public_ipv4
? - person Marcin   schedule 17.01.2021aws_route_table.public
будет Создаваться без каких-либо проблем? это неверно.vpc_id = aws_vpc.vpc
должно бытьvpc_id = aws_vpc.vpc.id
. - person Marcin   schedule 17.01.2021vpc_id = aws_vpc.vpc[0].id
Позвольте мне отредактировать еще раз - person Bow Bow   schedule 17.01.2021route_table_id = aws_route_table.public.*.id
тоже неверно. - person Marcin   schedule 17.01.2021route_table_id = aws_route_table.public.*.id
, Ничего не работает должным образом в блокеaws_route_table_association
, который я использовалaws_route_table.public.*.id[count.index]
, в блокеaws_route
, который я использовалaws_route_table.public[0].id
, Ничего не работает должным образом, поэтому я только что вставил сюда последнюю попытку, но да, я проверил, что она не выполняется - person Bow Bow   schedule 17.01.2021