1terraform { 2 required_providers { 3 google = { 4 source = "hashicorp/google" 5 } 6 time = { 7 source = "hashicorp/time" 8 } 9 } 10} 11resource "google_project_service" "pubsub" { 12 service = "pubsub.googleapis.com" 13 project = var.inputs.project_id 14 count = var.inputs.should_enable_apis_on_apply ? 1 : 0 15 disable_on_destroy = var.inputs.should_disable_apis_on_destroy 16} 17resource "google_project_service" "cloudscheduler" { 18 service = "cloudscheduler.googleapis.com" 19 project = var.inputs.project_id 20 count = var.inputs.should_enable_apis_on_apply ? 1 : 0 21 disable_on_destroy = var.inputs.should_disable_apis_on_destroy 22} 23resource "google_project_service" "cloudtrace" { 24 service = "cloudtrace.googleapis.com" 25 project = var.inputs.project_id 26 count = var.inputs.should_enable_apis_on_apply ? 1 : 0 27 disable_on_destroy = var.inputs.should_disable_apis_on_destroy 28} 29resource "time_sleep" "for_1m_allowServicesTimeToFullyEnable" { 30 create_duration = "1m" 31 depends_on = [ 32 google_project_service.pubsub, 33 google_project_service.cloudscheduler, 34 google_project_service.cloudtrace 35 ] 36} 37