variable "project" { description = "Project ID." type = string } variable "region" { description = "Region." type = string } output "private_network_id" { description = "Private network id." value = google_compute_network.private_network.id } output "private_subnetwork_id" { description = "Private subnetwork id." value = google_compute_subnetwork.subnet.id } resource "google_project_service" "servicenetworking" { project = var.project service = "servicenetworking.googleapis.com" disable_dependent_services = true } resource "google_compute_network" "private_network" { project = var.project name = "private-network" auto_create_subnetworks = false depends_on = [ google_project_service.servicenetworking ] } resource "google_compute_subnetwork" "subnet" { project = google_compute_network.private_network.project name = "private-subnetwork" ip_cidr_range = "10.100.0.0/16" region = var.region network = google_compute_network.private_network.id } resource "google_compute_global_address" "private_ip_address" { project = google_compute_network.private_network.project name = "private-ip-address" purpose = "VPC_PEERING" address_type = "INTERNAL" prefix_length = 16 network = google_compute_network.private_network.id } resource "google_service_networking_connection" "private_vpc_connection" { network = google_compute_network.private_network.id service = "servicenetworking.googleapis.com" reserved_peering_ranges = [google_compute_global_address.private_ip_address.name] }