Проблемы при создании таблицы маршрутов aws с использованием terraform

Запуск terraform v1.0.9 с плагином AWS v3.63.0 на mac

Следуя инструкциям hashicorp по созданию таблицы маршрутов ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table ), появляется следующая ошибка:

      Error: Incorrect attribute value type
...
Inappropriate value for attribute "route": element 0: attributes "carrier_gateway_id", "destination_prefix_list_id", "egress_only_gateway_id",
│ "instance_id", "ipv6_cidr_block", "local_gateway_id", "nat_gateway_id", "network_interface_id", "transit_gateway_id", "vpc_endpoint_id", and
│ "vpc_peering_connection_id" are required.

Вот мой main.tf:

      provider "aws" {
  region = "us-east-1"
}

resource "aws_vpc" "my-test-vpc" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "my-test-vpc"
  }
}

resource "aws_internet_gateway" "gw" {
  vpc_id = aws_vpc.my-test-vpc.id
}

resource "aws_route_table" "prod-route-table" {
  vpc_id = aws_vpc.my-test-vpc.id

  route = [
    {
      cidr_block = "0.0.0.0/0"
      gateway_id = aws_internet_gateway.gw.id
    },
    {
      ipv6_cidr_block        = "::/0"
      gateway_id = aws_internet_gateway.gw.id
    }
  ]

  tags = {
    Name = "production"
  }
}

2 ответа

Я столкнулся с чем-то похожим, но не дошел до основной причины, так что это не лучший ответ, но перемещение маршрута в его собственный явный ресурс работает для меня:

      resource "aws_route_table" "prod-route-table" {
  vpc_id = aws_vpc.my-test-vpc.id

  tags = {
    Name = "production"
  }
}

resource "aws_route" "prod-route-igw" {
  route_table_id            = aws_route_table.prod-route-table.id
  destination_cidr_block    = "0.0.0.0/0"
  gateway_id                = aws_internet_gateway.gw.id
  depends_on                = [aws_route_table.prod-route-table]
}

Это очень просто. Но вы, похоже, не замечаете, что не следуете синтаксису. это всегда route {#config} не как route = { #config }

Другие вопросы по тегам