Skip to content

Commit 7b10347

Browse files
committed
Update delete logic to poll until propagation is complete, and align the YAML configuration with the beta version.
1 parent 61f385b commit 7b10347

5 files changed

Lines changed: 34 additions & 5 deletions

File tree

mmv1/products/compute/GlobalVmExtensionPolicy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
---
1515
name: 'GlobalVmExtensionPolicy'
1616
description: 'A Global VM Extension Policy.'
17+
min_version: 'beta'
1718
base_url: 'projects/{{project}}/global/vmExtensionPolicies'
1819
self_link: 'projects/{{project}}/global/vmExtensionPolicies/{{name}}'
1920
update_verb: 'PATCH'
@@ -52,7 +53,6 @@ samples:
5253
ignore_read_extra:
5354
- 'rollout_operation'
5455

55-
5656
autogen_async: true
5757
async:
5858
actions: ['create', 'delete', 'update']

mmv1/templates/terraform/samples/services/compute/compute_global_vm_extension_policy_basic.tf.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
resource "google_compute_global_vm_extension_policy" "{{$.PrimaryResourceId}}" {
2+
provider = google-beta
23
name = "global-ops-agent-vme-policy-%{random_suffix}"
34
description = "A basic global VM extension policy"
45
priority = 10

mmv1/templates/terraform/samples/services/compute/compute_global_vm_extension_policy_update.tf.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
resource "google_compute_global_vm_extension_policy" "{{$.PrimaryResourceId}}" {
2+
provider = google-beta
23
name = "global-ops-agent-vme-policy-%{random_suffix}"
34
description = "A basic global VM extension policy"
45
priority = 20

mmv1/templates/terraform/samples/services/compute/compute_global_vm_extension_policy_update_rollout.tf.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
resource "google_compute_global_vm_extension_policy" "{{$.PrimaryResourceId}}" {
2+
provider = google-beta
23
name = "global-ops-agent-vme-policy-%{random_suffix}"
34
description = "A basic global VM extension policy"
45
priority = 10
Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,30 @@
1-
// Skip destroy check to avoid eventual consistency issues of global rollouts.
2-
// The global VM extension policy deletion triggers a background purge rollout
3-
// that can take a few minutes to fully propagate across GCE zones.
4-
return nil
1+
config := acctest.GoogleProviderConfig(t)
2+
url, err := tpgresource.ReplaceVarsForTest(config, rs, transport_tpg.BaseUrl(compute.Product, config)+"projects/{{"{{"}}project{{"}}"}}/global/vmExtensionPolicies/{{"{{"}}name{{"}}"}}")
3+
if err != nil {
4+
return err
5+
}
6+
7+
billingProject := ""
8+
if config.BillingProject != "" {
9+
billingProject = config.BillingProject
10+
}
11+
12+
err = resource.Retry(10*time.Minute, func() *resource.RetryError {
13+
_, err = transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
14+
Config: config,
15+
Method: "GET",
16+
Project: billingProject,
17+
RawURL: url,
18+
UserAgent: config.UserAgent,
19+
})
20+
if err == nil {
21+
return resource.RetryableError(fmt.Errorf("GlobalVmExtensionPolicy still exists at %s", url))
22+
}
23+
if transport_tpg.IsGoogleApiErrorWithCode(err, 404) {
24+
return nil
25+
}
26+
return resource.NonRetryableError(err)
27+
})
28+
if err != nil {
29+
return err
30+
}

0 commit comments

Comments
 (0)