>我已经在谷歌上搜索并一直试图将标签添加到中转网关默认路由,但没有任何成功。这是我尝试过的代码:
resource "aws_default_route_table" "example" {
default_route_table_id = "${aws_ec2_transit_gateway.tgw.association_default_route_table_id}"
tags = {
Name = "default table"
}
}
有没有办法做到这一点?
我想通了,这可能会对某人有所帮助:
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"]
}
VPC 内的默认路由表不是由 Terraform 创建或管理的。因此,无法标记默认路由表。根据我的经验,在 AWS VPC 中不使用默认任何内容是一种"最佳实践"。部署新的 VPC,对其进行自定义以满足您的需求、子网、标签等。
一个好的起点是使用官方的Terraform AWS VPC模块。它非常全面,几乎涵盖了您可以投入的任何用例。
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"
}
}