Terraform 无法将标记添加到传输网关默认路由表中

Terraform 无法将标记添加到传输网关默认路由表中,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我在google上搜索过,一直试图将标签添加到transit gateway默认路线,但没有成功。以下是我尝试过的代码: resource "aws_default_route_table" "example" { default_route_table_id = "${aws_ec2_transit_gateway.tgw.association_default_route_table_id}" tags = { Name = "default table" } } 有办

我在google上搜索过,一直试图将标签添加到transit gateway默认路线,但没有成功。以下是我尝试过的代码:

resource "aws_default_route_table" "example" {
  default_route_table_id = "${aws_ec2_transit_gateway.tgw.association_default_route_table_id}"
  tags = {
    Name = "default table"
  }
}

有办法做到这一点吗

aws_default_route_表用于管理专有网络的默认路由。
我相信你想要的资源是

例如


专有网络中的默认路由表不由Terraform创建或管理。因此,无法标记默认路由表。根据我的经验,在AWS VPC中不使用默认值是一种“最佳实践”。部署一个新的VPC,定制它以满足您的需要、子网、标签等


一个好的起点是使用官方的Terraform AWS VPC模块。它是非常全面的,涵盖了几乎任何您可以抛出的用例

我想出来了,这可能对某人有所帮助:

data "aws_ec2_transit_gateway_route_table" "default" {
  filter {
    name   = "default-association-route-table"
    values = ["true"]
  }

  filter {
    name   = "transit-gateway-id"
    values = ["${aws_ec2_transit_gateway.tgw.id}"]
  }
}

resource "null_resource" "tag-default-rt" {
  provisioner "local-exec" {
    command = "aws ec2 create-tags --resources ${data.aws_ec2_transit_gateway_route_table.default.id} --tags Key=Name,Value=Default-Route-Table"
  }

  depends_on = ["aws_ec2_transit_gateway.tgw"]
}

语法看起来是正确的。您遇到的错误是什么?@JohnB无错误它没有更新默认路由表。这不会更新传输网关的默认路由表。这将为该中转网关创建一个新路由表。
data "aws_ec2_transit_gateway_route_table" "default" {
  filter {
    name   = "default-association-route-table"
    values = ["true"]
  }

  filter {
    name   = "transit-gateway-id"
    values = ["${aws_ec2_transit_gateway.tgw.id}"]
  }
}

resource "null_resource" "tag-default-rt" {
  provisioner "local-exec" {
    command = "aws ec2 create-tags --resources ${data.aws_ec2_transit_gateway_route_table.default.id} --tags Key=Name,Value=Default-Route-Table"
  }

  depends_on = ["aws_ec2_transit_gateway.tgw"]
}