Skip to content

Commit 35daf7c

Browse files
committed
addressed comments #2
1 parent ce42117 commit 35daf7c

File tree

7 files changed

+32
-113
lines changed

7 files changed

+32
-113
lines changed

mmv1/products/storage/AnywhereCache.yaml

+1-3
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,12 @@ examples:
3232
primary_resource_id: 'cache'
3333
vars:
3434
bucket_name: 'bucket-name'
35-
test_vars_overrides:
36-
bucket_name: '"anywhere-cache-bucket" + acctest.RandString(t, 10)'
3735
external_providers: ["time"]
3836
identity:
3937
- bucket
4038
- anywhereCacheId
4139
custom_code:
42-
custom_create: templates/terraform/custom_create/storage_anywhere_cache_custom_create.go.tmpl
40+
post_create: templates/terraform/post_create/storage_anywhere_cache_post_create.go.tmpl
4341
autogen_async: false
4442
timeouts:
4543
insert_minutes: 240

mmv1/templates/terraform/custom_create/storage_anywhere_cache_custom_create.go.tmpl

-98
This file was deleted.

mmv1/templates/terraform/examples/storage_anywhere_cache_basic.tf.tmpl

+1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ resource "google_storage_anywhere_cache" "cache" {
1212
bucket = google_storage_bucket.bucket.name
1313
zone = "us-central1-f"
1414
ttl = "3601s"
15+
depends_on = [time_sleep.destroy_wait_5000_seconds]
1516
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
nameVal, ok := opRes["name"].(string)
2+
if !ok {
3+
return fmt.Errorf("opRes['name'] is not a string: %v", opRes["name"])
4+
}
5+
6+
nameParts := strings.Split(nameVal, "/")
7+
if len(nameParts) != 6 || nameParts[0] != "projects" || nameParts[2] != "buckets" || nameParts[4] != "anywhereCaches" {
8+
return fmt.Errorf("error parsing the anywhereCacheId from %s", nameVal)
9+
}
10+
11+
anywhereCacheID := nameParts[5]
12+
if err := d.Set("anywhere_cache_id", anywhereCacheID); err != nil {
13+
return err
14+
}
15+
16+
// This may have caused the ID to update - update it if so.
17+
id, err = tpgresource.ReplaceVars(d, config, "{{"b/{{bucket}}/anywhereCaches/{{anywhere_cache_id}}"}}")
18+
if err != nil {
19+
return fmt.Errorf("Error constructing id: %s", err)
20+
}
21+
d.SetId(id)

mmv1/third_party/terraform/services/storage/resource_storage_anywhere_cache_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ func TestAccStorageAnywhereCache_basic(t *testing.T) {
1212
t.Parallel()
1313

1414
context := map[string]interface{}{
15-
"bucket_name": "anywhere-cache-bucket" + acctest.RandString(t, 10),
1615
"random_suffix": acctest.RandString(t, 10),
1716
}
1817

@@ -48,7 +47,7 @@ func TestAccStorageAnywhereCache_basic(t *testing.T) {
4847
func testAccStorageAnywhereCache_full(context map[string]interface{}) string {
4948
return acctest.Nprintf(`
5049
resource "google_storage_bucket" "bucket" {
51-
name = "%{bucket_name}"
50+
name = "tf-test-bucket-name%{random_suffix}"
5251
location = "US"
5352
}
5453
@@ -60,16 +59,16 @@ resource "time_sleep" "destroy_wait_5000_seconds" {
6059
resource "google_storage_anywhere_cache" "cache" {
6160
bucket = google_storage_bucket.bucket.name
6261
zone = "us-central1-f"
63-
admission_policy = "admit-on-first-miss"
6462
ttl = "3601s"
63+
depends_on = [time_sleep.destroy_wait_5000_seconds]
6564
}
6665
`, context)
6766
}
6867

6968
func testAccStorageAnywhereCache_update(context map[string]interface{}) string {
7069
return acctest.Nprintf(`
7170
resource "google_storage_bucket" "bucket" {
72-
name = "%{bucket_name}"
71+
name = "tf-test-bucket-name%{random_suffix}"
7372
location = "US"
7473
}
7574
@@ -83,6 +82,7 @@ resource "google_storage_anywhere_cache" "cache" {
8382
zone = "us-central1-f"
8483
admission_policy = "admit-on-second-miss"
8584
ttl = "3620s"
85+
depends_on = [time_sleep.destroy_wait_5000_seconds]
8686
}
8787
`, context)
8888
}

mmv1/third_party/terraform/services/storage/resource_storage_bucket_sweeper.go

+5-7
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,11 @@ func testSweepStorageBucket(region string) error {
131131
continue
132132
}
133133

134-
if strings.HasPrefix(id, "anywhere-cache-bucket") {
135-
readyToDeleteBucket := disableAnywhereCacheIfAny(config, id)
136-
if !readyToDeleteBucket {
137-
log.Printf("[INFO][SWEEPER_LOG] Bucket %s has anywhere caches, requests have been made to backend to disable them, The bucket would be automatically deleted once caches are deleted from bucket", id)
138-
bucketWithCaches++
139-
continue
140-
}
134+
readyToDeleteBucket := disableAnywhereCacheIfAny(config, id)
135+
if !readyToDeleteBucket {
136+
log.Printf("[INFO][SWEEPER_LOG] Bucket %s has anywhere caches, requests have been made to backend to disable them, The bucket would be automatically deleted once caches are deleted from bucket", id)
137+
bucketWithCaches++
138+
continue
141139
}
142140

143141
deleteUrl := fmt.Sprintf("https://storage.googleapis.com/storage/v1/b/%s", id)

mmv1/third_party/terraform/sweeper/gcp_sweeper.go

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ var testResourcePrefixes = []string{
2828
"cluster-", // https://github.com/hashicorp/terraform-provider-google/issues/8924
2929
"k8s-fw-", // firewall rules are getting created and not cleaned up by k8 resources using this prefix
3030
"ext-tf-test", // Cloud Tasks Queues created automatically by tests for `google_firebase_extensions_instance`.
31-
"anywhere-cache-bucket", // GCS bucket with anywhere caches on it.
3231
}
3332

3433
// SharedConfigForRegion returns a common config setup needed for the sweeper

0 commit comments

Comments
 (0)