From 90e664a935c4645314c3aabf1f48836e4547fc68 Mon Sep 17 00:00:00 2001
From: Stephen Lewis <stephenrlewis@google.com>
Date: Tue, 12 Mar 2024 16:42:41 -0700
Subject: [PATCH] Force missing test run

---
 mmv1/products/alloydb/Cluster.yaml            |    3 +
 .../alloydb/resource_alloydb_cluster_test.go  | 1169 -----------------
 2 files changed, 3 insertions(+), 1169 deletions(-)
 delete mode 100644 mmv1/third_party/terraform/services/alloydb/resource_alloydb_cluster_test.go

diff --git a/mmv1/products/alloydb/Cluster.yaml b/mmv1/products/alloydb/Cluster.yaml
index 8d8445405e28..8e2327a9b9b4 100644
--- a/mmv1/products/alloydb/Cluster.yaml
+++ b/mmv1/products/alloydb/Cluster.yaml
@@ -62,11 +62,13 @@ examples:
     primary_resource_id: 'default'
     vars:
       alloydb_cluster_name: 'alloydb-cluster'
+    skip_test: true
   - !ruby/object:Provider::Terraform::Examples
     name: 'alloydb_cluster_full'
     primary_resource_id: 'full'
     vars:
       alloydb_cluster_name: 'alloydb-cluster-full'
+    skip_test: true
   - !ruby/object:Provider::Terraform::Examples
     name: 'alloydb_cluster_restore'
     primary_resource_id: 'source'
@@ -102,6 +104,7 @@ examples:
     test_vars_overrides:
       network_name: 'acctest.BootstrapSharedServiceNetworkingConnection(t, "alloydbinstance-network-config-1")'
     skip_docs: true
+    skip_test: true
 custom_code: !ruby/object:Provider::Terraform::CustomCode
   pre_create: templates/terraform/pre_create/alloydb_cluster.go.erb
   pre_update: templates/terraform/pre_update/alloydb_cluster.go.erb
diff --git a/mmv1/third_party/terraform/services/alloydb/resource_alloydb_cluster_test.go b/mmv1/third_party/terraform/services/alloydb/resource_alloydb_cluster_test.go
deleted file mode 100644
index bf1255bc788e..000000000000
--- a/mmv1/third_party/terraform/services/alloydb/resource_alloydb_cluster_test.go
+++ /dev/null
@@ -1,1169 +0,0 @@
-package alloydb_test
-
-import (
-	"testing"
-
-	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
-	"github.com/hashicorp/terraform-provider-google/google/acctest"
-)
-
-func TestAccAlloydbCluster_update(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location", "labels", "terraform_labels"},
-			},
-			{
-				Config: testAccAlloydbCluster_update(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location", "labels", "terraform_labels"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_update(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-
-  labels = {
-	foo = "bar" 
-  }
-
-  lifecycle {
-    prevent_destroy = true
-  }
-}
-
-data "google_project" "project" {
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-// Test if adding automatedBackupPolicy AND initialUser re-creates the cluster.
-// Ideally, cluster shouldn't be re-created. This test will only pass if the cluster
-// isn't re-created but updated in-place.
-func TestAccAlloydbCluster_addAutomatedBackupPolicyAndInitialUser(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-		"hour":          23,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withoutInitialUserAndAutomatedBackupPolicy(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_withInitialUserAndAutomatedBackupPolicy(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-// Test if deleting automatedBackupPolicy AND initialUser re-creates the cluster.
-// Ideally, cluster shouldn't be re-created. This test will only pass if the cluster
-// isn't re-created but updated in-place.
-func TestAccAlloydbCluster_deleteAutomatedBackupPolicyAndInitialUser(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-		"hour":          23,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withInitialUserAndAutomatedBackupPolicy(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_withoutInitialUserAndAutomatedBackupPolicy(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-// Test if automatedBackupPolicy properly handles a startTime of 0 (aka midnight). Calling terraform plan
-// after creating the cluster should not bring anything up.
-func TestAccAlloydbCluster_AutomatedBackupPolicyHandlesMidnight(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-		"hour":          0,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withInitialUserAndAutomatedBackupPolicy(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_withInitialUserAndAutomatedBackupPolicy(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id   = "tf-test-alloydb-cluster%{random_suffix}"
-  location     = "us-central1"
-  network      = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-
-  initial_user {
-    user     = "tf-test-alloydb-cluster%{random_suffix}"
-    password = "tf-test-alloydb-cluster%{random_suffix}"
-  }
-
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-
-    weekly_schedule {
-      days_of_week = ["MONDAY"]
-
-      start_times {
-        hours   = %{hour}
-        minutes = 0
-        seconds = 0
-        nanos   = 0
-      }
-    }
-
-    quantity_based_retention {
-      count = 1
-    }
-
-    labels = {
-      test = "tf-test-alloydb-cluster%{random_suffix}"
-    }
-  }
-  lifecycle {
-    prevent_destroy = true
-  }  
-}
-
-data "google_project" "project" {
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-func testAccAlloydbCluster_withoutInitialUserAndAutomatedBackupPolicy(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  lifecycle {
-    prevent_destroy = true
-  }  
-}
-
-data "google_project" "project" {
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-// The cluster creation should work fine even without a weekly schedule.
-func TestAccAlloydbCluster_missingWeeklySchedule(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_missingWeeklySchedule(context),
-			},
-			{
-				ResourceName:      "google_alloydb_cluster.default",
-				ImportState:       true,
-				ImportStateVerify: true,
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_missingWeeklySchedule(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-    quantity_based_retention {
-	  count = 1
-	}
-    labels = {
-	  test = "tf-test-alloydb-cluster%{random_suffix}"
-	}
-  }
-}
-data "google_project" "project" {}
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-// The cluster creation should succeed with minimal number of arguments.
-func TestAccAlloydbCluster_mandatoryFields(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-// The cluster creation should succeed with maximal number of arguments.
-func TestAccAlloydbCluster_maximumFields(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_alloydbClusterFullExample(context),
-			},
-		},
-	})
-}
-
-// Deletion of time-based retention policy should be an in-place operation
-func TestAccAlloydbCluster_deleteTimeBasedRetentionPolicy(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withTimeBasedRetentionPolicy(context),
-			},
-			{
-				ResourceName:      "google_alloydb_cluster.default",
-				ImportState:       true,
-				ImportStateVerify: true,
-			},
-			{
-				Config: testAccAlloydbCluster_withoutTimeBasedRetentionPolicy(context),
-			},
-			{
-				ResourceName:      "google_alloydb_cluster.default",
-				ImportState:       true,
-				ImportStateVerify: true,
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_withTimeBasedRetentionPolicy(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-
-    weekly_schedule {
-      days_of_week = ["MONDAY"]
-
-      start_times {
-        hours   = 23
-        minutes = 0
-        seconds = 0
-        nanos   = 0
-      }
-    }
-    time_based_retention {
-      retention_period = "4.5s"
-    }
-  }
-  lifecycle {
-    ignore_changes = [
-      automated_backup_policy[0].time_based_retention
-    ]
-    prevent_destroy = true
-  }
-}
-
-data "google_project" "project" { }
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-func testAccAlloydbCluster_withoutTimeBasedRetentionPolicy(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-
-    weekly_schedule {
-      days_of_week = ["MONDAY"]
-
-      start_times {
-        hours   = 23
-        minutes = 0
-        seconds = 0
-        nanos   = 0
-      }
-    }
-  }
-  lifecycle {
-    ignore_changes = [
-      automated_backup_policy[0].time_based_retention
-    ]
-    prevent_destroy = true
-  }
-}
-
-data "google_project" "project" { }
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-func TestAccAlloydbCluster_usingCMEK(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-		"key_name":      "tf-test-key-" + acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_usingCMEK(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_usingCMEK(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  encryption_config {
-    kms_key_name = google_kms_crypto_key.key.id
-  }
-  depends_on = [google_kms_crypto_key_iam_member.crypto_key]
-}
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-data "google_project" "project" {}
-resource "google_kms_key_ring" "keyring" {
-  name     = "%{key_name}"
-  location = "us-central1"
-}  
-resource "google_kms_crypto_key" "key" {
-  name     = "%{key_name}"
-  key_ring = google_kms_key_ring.keyring.id
-}
-resource "google_kms_crypto_key_iam_member" "crypto_key" {
-  crypto_key_id = google_kms_crypto_key.key.id
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-`, context)
-}
-
-func TestAccAlloydbCluster_CMEKInAutomatedBackupIsUpdatable(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-		"key_name":      "tf-test-key-" + acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_usingCMEKInClusterAndAutomatedBackup(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_updateCMEKInAutomatedBackup(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_usingCMEKallowDeletion(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_usingCMEKInClusterAndAutomatedBackup(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  encryption_config {
-    kms_key_name = google_kms_crypto_key.key.id
-  }
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-    encryption_config {
-      kms_key_name = google_kms_crypto_key.key.id
-    }
-    time_based_retention {
-      retention_period = "510s"
-    }
-  }
-  lifecycle {
-	prevent_destroy = true
-  }
-  depends_on = [google_kms_crypto_key_iam_member.crypto_key]
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-
-data "google_project" "project" {}
-
-resource "google_kms_key_ring" "keyring" {
-  name     = "%{key_name}"
-  location = "us-central1"
-}
-
-resource "google_kms_crypto_key" "key" {
-  name     = "%{key_name}"
-  key_ring = google_kms_key_ring.keyring.id
-}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key" {
-  crypto_key_id = google_kms_crypto_key.key.id
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-`, context)
-}
-
-func testAccAlloydbCluster_updateCMEKInAutomatedBackup(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  encryption_config {
-    kms_key_name = google_kms_crypto_key.key.id
-  }
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-    encryption_config {
-      kms_key_name = google_kms_crypto_key.key2.id
-    }
-    time_based_retention {
-      retention_period = "510s"
-    }
-  }
-  lifecycle {
-    prevent_destroy = true
-  }
-  depends_on = [google_kms_crypto_key_iam_member.crypto_key]
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-
-data "google_project" "project" {}
-
-resource "google_kms_key_ring" "keyring" {
-  name     = "%{key_name}"
-  location = "us-central1"
-}
-
-resource "google_kms_crypto_key" "key" {
-  name     = "%{key_name}"
-  key_ring = google_kms_key_ring.keyring.id
-}
-
-resource "google_kms_crypto_key" "key2" {
-  name     = "%{key_name}-2"
-  key_ring = google_kms_key_ring.keyring.id
-}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key" {
-  crypto_key_id = google_kms_crypto_key.key.id
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key2" {
-  crypto_key_id = google_kms_crypto_key.key2.id
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-`, context)
-}
-
-func testAccAlloydbCluster_usingCMEKallowDeletion(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  encryption_config {
-    kms_key_name = google_kms_crypto_key.key.id
-  }
-  automated_backup_policy {
-    location      = "us-central1"
-    backup_window = "1800s"
-    enabled       = true
-    encryption_config {
-      kms_key_name = google_kms_crypto_key.key2.id
-    }
-    time_based_retention {
-      retention_period = "510s"
-    }
-  }
-  depends_on = [google_kms_crypto_key_iam_member.crypto_key]
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-
-data "google_project" "project" {}
-
-resource "google_kms_key_ring" "keyring" {
-  name     = "%{key_name}"
-  location = "us-central1"
-}
-
-resource "google_kms_crypto_key" "key" {
-  name     = "%{key_name}"
-  key_ring = google_kms_key_ring.keyring.id
-}
-
-resource "google_kms_crypto_key" "key2" {
-	name     = "%{key_name}-2"
-	key_ring = google_kms_key_ring.keyring.id
-}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key" {
-  crypto_key_id = google_kms_crypto_key.key.id
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key2" {
-  crypto_key_id = google_kms_crypto_key.key2.id
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-`, context)
-}
-
-// Validates continuous backups defaults to being enabled with 14d retention, even if not explicitly configured.
-func TestAccAlloydbCluster_continuousBackup_enabledByDefault(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withoutContinuousBackupConfig(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-// Continuous backups defaults to being enabled with 14d retention. If the same configuration is set explicitly, terraform plan
-// should return no changes.
-func TestAccAlloydbCluster_continuousBackup_update_noChangeIfDefaultsSet(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix":        acctest.RandString(t, 10),
-		"enabled":              true,
-		"recovery_window_days": 14,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withoutContinuousBackupConfig(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_continuousBackupConfig(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-// This test ensures that if you start with a terraform configuration where continuous backups are explicitly set to the default configuration
-// and then remove continuous backups and call terraform plan, no changes would be found.
-func TestAccAlloydbCluster_continuousBackup_noChangeIfRemoved(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix":        acctest.RandString(t, 10),
-		"enabled":              true,
-		"recovery_window_days": 14,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_continuousBackupConfig(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-		},
-	})
-}
-
-// Ensures changes to the continuous backup config properly applies
-func TestAccAlloydbCluster_continuousBackup_update(t *testing.T) {
-	t.Parallel()
-
-	suffix := acctest.RandString(t, 10)
-	context := map[string]interface{}{
-		"random_suffix":        suffix,
-		"enabled":              true,
-		"recovery_window_days": 15,
-	}
-	context2 := map[string]interface{}{
-		"random_suffix":        suffix,
-		"enabled":              false,
-		"recovery_window_days": 14,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withoutContinuousBackupConfig(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_continuousBackupConfig(context),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "true"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "15"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_continuousBackupConfig(context2),
-				Check: resource.ComposeTestCheckFunc(
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.enabled", "false"),
-					resource.TestCheckResourceAttr("google_alloydb_cluster.default", "continuous_backup_config.0.recovery_window_days", "14"),
-				),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"initial_user", "cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_alloydbClusterBasicExample(context),
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_withoutContinuousBackupConfig(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  lifecycle {
-    prevent_destroy = true
-  }
-}
-
-data "google_project" "project" {
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-func testAccAlloydbCluster_continuousBackupConfig(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-
-  continuous_backup_config {
-    enabled              = %{enabled}
-    recovery_window_days = %{recovery_window_days}
-  }
-  lifecycle {
-    prevent_destroy = true
-  }
-}
-
-data "google_project" "project" {
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-func TestAccAlloydbCluster_continuousBackup_CMEKIsUpdatable(t *testing.T) {
-	t.Parallel()
-
-	suffix := acctest.RandString(t, 10)
-	kms := acctest.BootstrapKMSKeyWithPurposeInLocationAndName(t, "ENCRYPT_DECRYPT", "us-central1", "tf-bootstrap-alloydb-key1")
-	context := map[string]interface{}{
-		"random_suffix": suffix,
-		"key_ring":      kms.KeyRing.Name,
-		"key_name":      kms.CryptoKey.Name,
-	}
-
-	kms2 := acctest.BootstrapKMSKeyWithPurposeInLocationAndName(t, "ENCRYPT_DECRYPT", "us-central1", "tf-bootstrap-alloydb-key2")
-	context2 := map[string]interface{}{
-		"random_suffix": suffix,
-		"key_ring":      kms2.KeyRing.Name,
-		"key_name":      kms2.CryptoKey.Name,
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_usingCMEKInClusterAndContinuousBackup(context),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_usingCMEKInClusterAndContinuousBackup(context2),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-			{
-				Config: testAccAlloydbCluster_continuousBackupUsingCMEKAllowDeletion(context2),
-			},
-			{
-				ResourceName:            "google_alloydb_cluster.default",
-				ImportState:             true,
-				ImportStateVerify:       true,
-				ImportStateVerifyIgnore: []string{"cluster_id", "location"},
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_usingCMEKInClusterAndContinuousBackup(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  continuous_backup_config {
-    enabled       		 = true
-	recovery_window_days = 20
-    encryption_config {
-      kms_key_name = "%{key_name}"
-    }
-  }
-  lifecycle {
-	prevent_destroy = true
-  }
-  depends_on = [google_kms_crypto_key_iam_member.crypto_key]
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-
-data "google_project" "project" {}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key" {
-  crypto_key_id = "%{key_name}"
-  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-  member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-}
-`, context)
-}
-
-func testAccAlloydbCluster_continuousBackupUsingCMEKAllowDeletion(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  continuous_backup_config {
-    enabled       		 = true
-	recovery_window_days = 20
-    encryption_config {
-      kms_key_name = "%{key_name}"
-    }
-  }
-  depends_on = [google_kms_crypto_key_iam_member.crypto_key]
-}
-
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-
-data "google_project" "project" {}
-
-resource "google_kms_crypto_key_iam_member" "crypto_key" {
-	crypto_key_id = "%{key_name}"
-	role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
-	member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-alloydb.iam.gserviceaccount.com"
-  }
-`, context)
-}
-
-// Ensures cluster creation works with networkConfig.
-func TestAccAlloydbCluster_withNetworkConfig(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withNetworkConfig(context),
-			},
-			{
-				ResourceName:      "google_alloydb_cluster.default",
-				ImportState:       true,
-				ImportStateVerify: true,
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_withNetworkConfig(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network_config {
-	network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-  }
-}
-data "google_project" "project" {}
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-`, context)
-}
-
-// Ensures cluster creation works with networkConfig and a specified allocated IP range.
-func TestAccAlloydbCluster_withNetworkConfigAndAllocatedIPRange(t *testing.T) {
-	t.Parallel()
-
-	context := map[string]interface{}{
-		"random_suffix": acctest.RandString(t, 10),
-	}
-
-	acctest.VcrTest(t, resource.TestCase{
-		PreCheck:                 func() { acctest.AccTestPreCheck(t) },
-		ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
-		CheckDestroy:             testAccCheckAlloydbClusterDestroyProducer(t),
-		Steps: []resource.TestStep{
-			{
-				Config: testAccAlloydbCluster_withNetworkConfigAndAllocatedIPRange(context),
-			},
-			{
-				ResourceName:      "google_alloydb_cluster.default",
-				ImportState:       true,
-				ImportStateVerify: true,
-			},
-		},
-	})
-}
-
-func testAccAlloydbCluster_withNetworkConfigAndAllocatedIPRange(context map[string]interface{}) string {
-	return acctest.Nprintf(`
-resource "google_alloydb_cluster" "default" {
-  cluster_id = "tf-test-alloydb-cluster%{random_suffix}"
-  location   = "us-central1"
-  network_config {
-	network    = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
-	allocated_ip_range = google_compute_global_address.private_ip_alloc.name
-  }
-}
-data "google_project" "project" {}
-resource "google_compute_network" "default" {
-  name = "tf-test-alloydb-cluster%{random_suffix}"
-}
-resource "google_compute_global_address" "private_ip_alloc" {
-	name          =  "tf-test-alloydb-cluster%{random_suffix}"
-	address_type  = "INTERNAL"
-	purpose       = "VPC_PEERING"
-	prefix_length = 16
-	network       = google_compute_network.default.id
-  }
-  
-`, context)
-}