Data Source: aws_subnet_ids
aws_subnet_ids
provides a list of ids for a vpc_id
This resource can be useful for getting back a list of subnet ids for a vpc.
Example Usage
The following shows outputing all cidr blocks for every subnet id in a vpc.
data "aws_subnet_ids" "example" { vpc_id = "${var.vpc_id}" } data "aws_subnet" "example" { count = "${length(data.aws_subnet_ids.example.ids)}" id = "${data.aws_subnet_ids.example.ids[count.index]}" } output "subnet_cidr_blocks" { value = ["${data.aws_subnet.example.*.cidr_block}"] }
The following example retrieves a list of all subnets in a VPC with a custom tag of Tier
set to a value of "Private" so that the aws_instance
resource can loop through the subnets, putting instances across availability zones.
data "aws_subnet_ids" "private" { vpc_id = "${var.vpc_id}" tags { Tier = "Private" } } resource "aws_instance" "app" { count = "3" ami = "${var.ami}" instance_type = "t2.micro" subnet_id = "${element(data.aws_subnet_ids.private.ids, count.index)}" }
Argument Reference
-
vpc_id
- (Required) The VPC ID that you want to filter from. -
tags
- (Optional) A mapping of tags, each pair of which must exactly match a pair on the desired subnets.
Attributes Reference
-
ids
- A list of all the subnet ids found. This data source will fail if none are found.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/aws/d/subnet_ids.html