xref: /aosp_15_r20/external/google-cloud-java/java-iam-admin/.cloud/main.tf (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
1*55e87721SMatt Gilbrideterraform {
2*55e87721SMatt Gilbride  required_providers {
3*55e87721SMatt Gilbride    google = {
4*55e87721SMatt Gilbride      source = "hashicorp/google"
5*55e87721SMatt Gilbride    }
6*55e87721SMatt Gilbride  }
7*55e87721SMatt Gilbride}
8*55e87721SMatt Gilbrideresource "google_project_service" "iam" {
9*55e87721SMatt Gilbride  service            = "iam.googleapis.com"
10*55e87721SMatt Gilbride  project            = var.inputs.project_id
11*55e87721SMatt Gilbride  count              = var.inputs.should_enable_apis_on_apply ? 1 : 0
12*55e87721SMatt Gilbride  disable_on_destroy = var.inputs.should_disable_apis_on_destroy
13*55e87721SMatt Gilbride}
14*55e87721SMatt Gilbrideresource "random_id" "id" {
15*55e87721SMatt Gilbride  byte_length = 3
16*55e87721SMatt Gilbride}
17*55e87721SMatt Gilbridelocals {
18*55e87721SMatt Gilbride  service_account_id = lower("service-account-id-${random_id.id.hex}")
19*55e87721SMatt Gilbride}
20*55e87721SMatt Gilbrideresource "google_service_account" "service_account" {
21*55e87721SMatt Gilbride  account_id   = local.service_account_id
22*55e87721SMatt Gilbride  display_name = "Service Account"
23*55e87721SMatt Gilbride  depends_on   = [google_project_service.iam]
24*55e87721SMatt Gilbride}
25