1# Auto-generated by generate-config.sh 2terraform { 3 required_providers { 4 google = { 5 source = "hashicorp/google" 6 } 7 } 8} 9provider "google" { 10 project = var.project_id 11 region = var.region 12 zone = var.zone 13} 14locals { 15 # Objects with additional key-value entries may be passed as variables 16 # to modules needing an object with only a subset of those entries. 17 # So this 'data' object is a superset of key-value entries that may be 18 # needed, and we pass it to every module. 19 data = { 20 project_id = var.project_id 21 region = var.region 22 zone = var.zone 23 should_create_container_network = var.should_create_container_network 24 should_create_redis_network = var.should_create_redis_network 25 should_enable_apis_on_apply = var.should_enable_apis_on_apply 26 should_disable_apis_on_destroy = var.should_disable_apis_on_destroy 27 } 28} 29resource "google_project_service" "cloudresourcemanager" { 30 service = "cloudresourcemanager.googleapis.com" 31 project = local.data.project_id 32 count = local.data.should_enable_apis_on_apply ? 1 : 0 33 disable_on_destroy = local.data.should_disable_apis_on_destroy 34} 35resource "google_project_service" "iam" { 36 service = "iam.googleapis.com" 37 project = local.data.project_id 38 count = local.data.should_enable_apis_on_apply ? 1 : 0 39 disable_on_destroy = local.data.should_disable_apis_on_destroy 40} 41resource "google_project_service" "iamcredentials" { 42 service = "iamcredentials.googleapis.com" 43 project = local.data.project_id 44 count = local.data.should_enable_apis_on_apply ? 1 : 0 45 disable_on_destroy = local.data.should_disable_apis_on_destroy 46} 47resource "google_project_service" "serviceusage" { 48 service = "serviceusage.googleapis.com" 49 project = local.data.project_id 50 count = local.data.should_enable_apis_on_apply ? 1 : 0 51 disable_on_destroy = local.data.should_disable_apis_on_destroy 52} 53resource "time_sleep" "for_1m_allowBaseCloudApisToFullyEnable" { 54 create_duration = "1m" 55 depends_on = [ 56 google_project_service.cloudresourcemanager, 57 google_project_service.iam, 58 google_project_service.iamcredentials, 59 google_project_service.serviceusage 60 ] 61 triggers = { 62 when_project_created = local.data.project_id 63 } 64} 65