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