1terraform { 2 required_providers { 3 google = { 4 source = "hashicorp/google" 5 } 6 } 7} 8resource "google_project_service" "compute" { 9 service = "compute.googleapis.com" 10 project = var.inputs.project_id 11 count = var.inputs.should_enable_apis_on_apply ? 1 : 0 12 disable_on_destroy = var.inputs.should_disable_apis_on_destroy 13} 14resource "google_project_service" "redis" { 15 service = "redis.googleapis.com" 16 project = var.inputs.project_id 17 count = var.inputs.should_enable_apis_on_apply ? 1 : 0 18 disable_on_destroy = var.inputs.should_disable_apis_on_destroy 19} 20locals { 21 redis_vpc_id = "redis-vpc" 22} 23resource "google_compute_network" "redis_vpc" { 24 count = var.inputs.should_create_redis_network ? 1 : 0 25 name = local.redis_vpc_id 26 depends_on = [ 27 google_project_service.compute, 28 google_project_service.redis 29 ] 30} 31resource "time_sleep" "for_2m_allowRedisVpcToFullyEnable" { 32 count = var.inputs.should_create_redis_network ? 1 : 0 33 depends_on = [google_compute_network.redis_vpc] 34 create_duration = "2m" 35} 36data "google_compute_network" "existing_network" { 37 count = var.inputs.should_create_redis_network ? 0 : 1 38 name = local.redis_vpc_id 39} 40