无法将标签添加到运输网关默认路由表

时间:2019-10-08 18:56:04

标签: terraform terraform-provider-aws

我在Google上进行了搜索,并试图将标签添加到公交网关的默认路线中,但没有成功。这是我尝试过的代码:

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

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

我知道了,这可能会帮助某人:

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"]
}

答案 1 :(得分:0)

VPC中的默认路由表不是由Terraform创建或管理的。因此,无法标记默认路由表。以我的经验,在AWS VPC中不使用默认值是一种“最佳实践”。部署新的VPC,对其进行自定义以适合您的需求,子网,标签等。

一个好的开始是使用官方的Terraform AWS VPC模块。它非常全面,几乎涵盖了您可以使用的所有用例。

答案 2 :(得分:-1)

aws_default_route_table用于管理VPC的默认路由。
我相信您想要的资源是ec2_transit_gateway_route_table

例如

resource "aws_ec2_transit_gateway_route_table" "example" {
  transit_gateway_id = "${aws_ec2_transit_gateway.tgw.id}"
  tags = {
    Name = "default table"
  }
}