Skip to content

Commit b04c602

Browse files
Add handwritten sweeper for google_data_loss_prevention_discovery_config (#11429) (#19115)
[upstream:b3b07233e34229211bda7d28209047af8e108d1e] Signed-off-by: Modular Magician <[email protected]>
1 parent 479c901 commit b04c602

File tree

2 files changed

+11
-39
lines changed

2 files changed

+11
-39
lines changed

.changelog/11429.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:none
2+
3+
```

google/services/datalossprevention/resource_data_loss_prevention_discovery_config_sweeper.go

+8-39
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,12 @@
11
// Copyright (c) HashiCorp, Inc.
22
// SPDX-License-Identifier: MPL-2.0
3-
4-
// ----------------------------------------------------------------------------
5-
//
6-
// *** AUTO GENERATED CODE *** Type: MMv1 ***
7-
//
8-
// ----------------------------------------------------------------------------
9-
//
10-
// This file is automatically generated by Magic Modules and manual
11-
// changes will be clobbered when the file is regenerated.
12-
//
13-
// Please read more about how to change this file in
14-
// .github/CONTRIBUTING.md.
15-
//
16-
// ----------------------------------------------------------------------------
17-
183
package datalossprevention
194

205
import (
216
"context"
227
"log"
238
"strings"
24-
"testing"
259

26-
"github.com/hashicorp/terraform-provider-google/google/envvar"
2710
"github.com/hashicorp/terraform-provider-google/google/sweeper"
2811
"github.com/hashicorp/terraform-provider-google/google/tpgresource"
2912
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
@@ -50,21 +33,17 @@ func testSweepDataLossPreventionDiscoveryConfig(region string) error {
5033
return err
5134
}
5235

53-
t := &testing.T{}
54-
billingId := envvar.GetTestBillingAccountFromEnv(t)
55-
5636
// Setup variables to replace in list template
5737
d := &tpgresource.ResourceDataMock{
5838
FieldsInSchema: map[string]interface{}{
59-
"project": config.Project,
60-
"region": region,
61-
"location": region,
62-
"zone": "-",
63-
"billing_account": billingId,
39+
"project": config.Project,
40+
"region": region,
41+
"location": region,
42+
"zone": "-",
6443
},
6544
}
6645

67-
listTemplate := strings.Split("https://dlp.googleapis.com/v2/{{parent}}/discoveryConfigs", "?")[0]
46+
listTemplate := strings.Split("https://dlp.googleapis.com/v2/projects/{{project}}/locations/{{location}}/discoveryConfigs", "?")[0]
6847
listUrl, err := tpgresource.ReplaceVars(d, config, listTemplate)
6948
if err != nil {
7049
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -92,23 +71,18 @@ func testSweepDataLossPreventionDiscoveryConfig(region string) error {
9271
rl := resourceList.([]interface{})
9372

9473
log.Printf("[INFO][SWEEPER_LOG] Found %d items in %s list response.", len(rl), resourceName)
95-
// Keep count of items that aren't sweepable for logging.
96-
nonPrefixCount := 0
9774
for _, ri := range rl {
9875
obj := ri.(map[string]interface{})
9976
if obj["name"] == nil {
10077
log.Printf("[INFO][SWEEPER_LOG] %s resource name was nil", resourceName)
10178
return nil
10279
}
10380

81+
// Note that we do not check for a sweepable prefix here.
82+
// We can have at most 1 DiscoveryConfig for a storage type in the same project/location, so ensure we delete everything.
10483
name := tpgresource.GetResourceNameFromSelfLink(obj["name"].(string))
105-
// Skip resources that shouldn't be sweeped
106-
if !sweeper.IsSweepableTestResource(name) {
107-
nonPrefixCount++
108-
continue
109-
}
11084

111-
deleteTemplate := "https://dlp.googleapis.com/v2/{{parent}}/discoveryConfigs/{{name}}"
85+
deleteTemplate := "https://dlp.googleapis.com/v2/projects/{{project}}/locations/{{location}}/discoveryConfigs/{{name}}"
11286
deleteUrl, err := tpgresource.ReplaceVars(d, config, deleteTemplate)
11387
if err != nil {
11488
log.Printf("[INFO][SWEEPER_LOG] error preparing delete url: %s", err)
@@ -130,10 +104,5 @@ func testSweepDataLossPreventionDiscoveryConfig(region string) error {
130104
log.Printf("[INFO][SWEEPER_LOG] Sent delete request for %s resource: %s", resourceName, name)
131105
}
132106
}
133-
134-
if nonPrefixCount > 0 {
135-
log.Printf("[INFO][SWEEPER_LOG] %d items were non-sweepable and skipped.", nonPrefixCount)
136-
}
137-
138107
return nil
139108
}

0 commit comments

Comments
 (0)