有没有办法像我使用 aws_subnet_ids 那样列出 GCP VPC 的所有 cidr?

Is there a way to a list of all cidrs for a GCP VPC like I can with aws_subnet_ids?

https://www.terraform.io/docs/providers/aws/d/subnet_ids.html

A​​WS 提供商使这成为可能:

data "aws_subnet_ids" "example" {
  vpc_id = var.vpc_id
}

data "aws_subnet" "example" {
  for_each = data.aws_subnet_ids.example.ids
  id       = each.value
}

output "subnet_cidr_blocks" {
  value = [for s in data.aws_subnet.example : s.cidr_block]
}

但是有没有办法用 google_compute_network 和 google_compute_subnetwork 做到这一点? google_compute_subnetwork 支持 self_link 并且 google_compute_network 具有属性 subnetworks_self_links- 我只是不确定如何将它们连接在一起。

好的,我想我明白了

data "google_compute_network" "vpc" {
  name = google_compute_network.default-vpc.name
}

data "google_compute_subnetwork" "subnetworks" {
  for_each = toset(data.google_compute_network.vpc.subnetworks_self_links)
  self_link       = each.value
}

output "ip-cidr-ranges" {
  value = [for s in data.google_compute_subnetwork.default-vpc-subnetworks : s.ip_cidr_range]
}

这似乎可行,但如果有人可以确认我没有做傻事,我将不胜感激。截至目前,我只有 一个 子网。还没有用多个测试过