terraform - 将路由添加到多个路由表 aws

terraform - add route to multiple route tables aws

我需要将相同的路由添加到 AWS 中的多个路由 table。我想为此使用地形。对于单个 table 我可以使用类似的东西:

resource "aws_route" "route" {
  route_table_id = "${var.routetableid}"
  destination_cidr_block = "${var.destcidrblock}"
  instance_id = "${aws_instance.vpn.id}"
}

不过,我想为每个 route_table_id 添加由用户指定为列表的路线。这可能吗?

Terraform 资源允许您使用 count meta parameter.

循环访问它们

在你的情况下你可以这样做:

variable "route_tables" { type = "list" }

resource "aws_route" "route" {
  count = "${length(var.route_tables)}"
  route_table_id = "${element(var.route_tables, count.index)}"
  destination_cidr_block = "${var.destcidrblock}"
  instance_id = "${aws_instance.vpn.id}"
}

其中 route_tables 是路由 table id 的列表。