This resource can be useful for getting back a list of route table ids to be referenced elsewhere.
The following adds a route for a particular cidr block to every (private kops) route table in a specified vpc to use a particular vpc peering connection.
data "aws_route_tables" "rts" {
vpc_id = var.vpc_id
filter {
name = "tag:kubernetes.io/kops/role"
values = ["private*"]
}
}
resource "aws_route" "r" {
count = length(data.aws_route_tables.rts.ids)
route_table_id = tolist(data.aws_route_tables.rts.ids)[count.index]
destination_cidr_block = "10.0.0.0/22"
vpc_peering_connection_id = "pcx-0e9a7a9ecd137dc54"
}
filter
- (Optional) Custom filter block as described below.
vpc_id
- (Optional) VPC ID that you want to filter from.
tags
- (Optional) Map of tags, each pair of which must exactly match
a pair on the desired route tables.
More complex filters can be expressed using one or more filter
sub-blocks,
which take the following arguments:
name
- (Required) Name of the field to filter by, as defined by
the underlying AWS API.
values
- (Required) Set of values that are accepted for the given field.
A Route Table will be selected if any one of the given values matches.
This data source exports the following attributes in addition to the arguments above:
id
- AWS Region.ids
- List of all the route table ids found.read
- (Default 20m
)