terraform { required_providers { google = { source = "hashicorp/google" } } } resource "google_project_service" "compute" { service = "compute.googleapis.com" project = var.inputs.project_id count = var.inputs.should_enable_apis_on_apply ? 1 : 0 disable_on_destroy = var.inputs.should_disable_apis_on_destroy } resource "google_project_service" "dataproc" { service = "dataproc.googleapis.com" project = var.inputs.project_id count = var.inputs.should_enable_apis_on_apply ? 1 : 0 disable_on_destroy = var.inputs.should_disable_apis_on_destroy } data "google_compute_default_service_account" "default" { depends_on = [google_project_service.compute, google_project_service.dataproc] } resource "google_project_iam_member" "dataproc_iam" { project = var.inputs.project_id role = "roles/dataproc.worker" member = "serviceAccount:${data.google_compute_default_service_account.default.email}" }