1

在 Mac 上使用 AWS 插件 v3.63.0 运行 terraform v1.0.9

按照 hashcorp 说明创建路由表 ( 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
    }
  ]

  tags = {
    Name = "production"
  }
}
4

2 回答 2

0

这很简单。但是您似乎没有注意到您没有遵循语法。它总是 route {#config} 不像 route = { #config }

于 2022-01-20T03:58:49.330 回答
0

我遇到了类似的事情,但没有找到根本原因,所以这不是最好的答案,但是将路由移到它自己的显式资源中对我有用:

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]
}
于 2021-10-19T11:49:21.277 回答