xref: /aosp_15_r20/external/google-cloud-java/.cloud/helpers/generated-main.template.tf (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
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