xref: /aosp_15_r20/external/google-cloud-java/java-redis/.cloud/main.tf (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
1terraform {
2  required_providers {
3    google = {
4      source = "hashicorp/google"
5    }
6  }
7}
8resource "google_project_service" "compute" {
9  service            = "compute.googleapis.com"
10  project            = var.inputs.project_id
11  count              = var.inputs.should_enable_apis_on_apply ? 1 : 0
12  disable_on_destroy = var.inputs.should_disable_apis_on_destroy
13}
14resource "google_project_service" "redis" {
15  service            = "redis.googleapis.com"
16  project            = var.inputs.project_id
17  count              = var.inputs.should_enable_apis_on_apply ? 1 : 0
18  disable_on_destroy = var.inputs.should_disable_apis_on_destroy
19}
20locals {
21  redis_vpc_id = "redis-vpc"
22}
23resource "google_compute_network" "redis_vpc" {
24  count      = var.inputs.should_create_redis_network ? 1 : 0
25  name       = local.redis_vpc_id
26  depends_on = [
27    google_project_service.compute,
28    google_project_service.redis
29  ]
30}
31resource "time_sleep" "for_2m_allowRedisVpcToFullyEnable" {
32  count           = var.inputs.should_create_redis_network ? 1 : 0
33  depends_on      = [google_compute_network.redis_vpc]
34  create_duration = "2m"
35}
36data "google_compute_network" "existing_network" {
37  count = var.inputs.should_create_redis_network ? 0 : 1
38  name  = local.redis_vpc_id
39}
40