You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.2 KiB
HCL

variable "project" {
description = "Project ID."
type = string
}
output "private_network_id" {
description = "Private network id."
value = google_compute_network.private_network.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_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]
}