Skip to content

Commit aa9b8a3

Browse files
use {product}.googleapis.com endpoints (#3755) (#2396)
* use {product}.googleapis.com endpoints * use actual correct urls * fix zone data source test * fix network peering tests * possibly fix deleting default network Signed-off-by: Modular Magician <[email protected]>
1 parent 2f5d3ae commit aa9b8a3

File tree

58 files changed

+206
-142
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+206
-142
lines changed

.changelog/3755.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
all: updated base urls for compute, dns, storage, and bigquery APIs to their recommended endpoints
3+
```

google-beta/config.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ var AccessContextManagerDefaultBasePath = "https://accesscontextmanager.googleap
245245
var ActiveDirectoryDefaultBasePath = "https://managedidentities.googleapis.com/v1/"
246246
var AppEngineDefaultBasePath = "https://appengine.googleapis.com/v1/"
247247
var ArtifactRegistryDefaultBasePath = "https://artifactregistry.googleapis.com/v1beta1/"
248-
var BigQueryDefaultBasePath = "https://www.googleapis.com/bigquery/v2/"
248+
var BigQueryDefaultBasePath = "https://bigquery.googleapis.com/bigquery/v2/"
249249
var BigqueryConnectionDefaultBasePath = "https://bigqueryconnection.googleapis.com/v1beta1/"
250250
var BigqueryDataTransferDefaultBasePath = "https://bigquerydatatransfer.googleapis.com/v1/"
251251
var BigqueryReservationDefaultBasePath = "https://bigqueryreservation.googleapis.com/v1beta1/"
@@ -260,15 +260,15 @@ var CloudIotDefaultBasePath = "https://cloudiot.googleapis.com/v1/"
260260
var CloudRunDefaultBasePath = "https://{{location}}-run.googleapis.com/"
261261
var CloudSchedulerDefaultBasePath = "https://cloudscheduler.googleapis.com/v1/"
262262
var CloudTasksDefaultBasePath = "https://cloudtasks.googleapis.com/v2/"
263-
var ComputeDefaultBasePath = "https://www.googleapis.com/compute/beta/"
263+
var ComputeDefaultBasePath = "https://compute.googleapis.com/compute/beta/"
264264
var ContainerAnalysisDefaultBasePath = "https://containeranalysis.googleapis.com/v1beta1/"
265265
var DataCatalogDefaultBasePath = "https://datacatalog.googleapis.com/v1/"
266266
var DataFusionDefaultBasePath = "https://datafusion.googleapis.com/v1beta1/"
267267
var DataprocDefaultBasePath = "https://dataproc.googleapis.com/v1beta2/"
268268
var DatastoreDefaultBasePath = "https://datastore.googleapis.com/v1/"
269269
var DeploymentManagerDefaultBasePath = "https://www.googleapis.com/deploymentmanager/v2/"
270270
var DialogflowDefaultBasePath = "https://dialogflow.googleapis.com/v2/"
271-
var DNSDefaultBasePath = "https://www.googleapis.com/dns/v1beta2/"
271+
var DNSDefaultBasePath = "https://dns.googleapis.com/dns/v1beta2/"
272272
var FilestoreDefaultBasePath = "https://file.googleapis.com/v1beta1/"
273273
var FirebaseDefaultBasePath = "https://firebase.googleapis.com/v1beta1/"
274274
var FirestoreDefaultBasePath = "https://firestore.googleapis.com/v1/"
@@ -298,7 +298,7 @@ var ServiceUsageDefaultBasePath = "https://serviceusage.googleapis.com/v1beta1/"
298298
var SourceRepoDefaultBasePath = "https://sourcerepo.googleapis.com/v1/"
299299
var SpannerDefaultBasePath = "https://spanner.googleapis.com/v1/"
300300
var SQLDefaultBasePath = "https://sqladmin.googleapis.com/sql/v1beta4/"
301-
var StorageDefaultBasePath = "https://www.googleapis.com/storage/v1/"
301+
var StorageDefaultBasePath = "https://storage.googleapis.com/storage/v1/"
302302
var TPUDefaultBasePath = "https://tpu.googleapis.com/v1/"
303303
var VPCAccessDefaultBasePath = "https://vpcaccess.googleapis.com/v1/"
304304

google-beta/data_source_google_compute_zones.go

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"log"
66
"sort"
7+
"strings"
78
"time"
89

910
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
@@ -51,30 +52,28 @@ func dataSourceGoogleComputeZonesRead(d *schema.ResourceData, meta interface{})
5152
return err
5253
}
5354

54-
// we want to share exactly the same base path as the compute client or the
55-
// region string may mismatch, giving us no results
56-
// note that the client's BasePath includes a `projects/` suffix, so that'll
57-
// need to be added to the URL below if the source changes
58-
computeClientBasePath := config.clientCompute.BasePath
59-
60-
regionUrl, err := replaceVars(d, config, fmt.Sprintf("%s%s/regions/%s", computeClientBasePath, project, region))
61-
if err != nil {
62-
return err
63-
}
64-
filter := fmt.Sprintf("(region eq %s)", regionUrl)
65-
55+
filter := ""
6656
if s, ok := d.GetOk("status"); ok {
6757
filter += fmt.Sprintf(" (status eq %s)", s)
6858
}
6959

70-
call := config.clientCompute.Zones.List(project).Filter(filter)
60+
zones := []string{}
61+
err = config.clientCompute.Zones.List(project).Filter(filter).Pages(config.context, func(zl *compute.ZoneList) error {
62+
for _, zone := range zl.Items {
63+
// We have no way to guarantee a specific base path for the region, but the built-in API-level filtering
64+
// only lets us query on exact matches, so we do our own filtering here.
65+
if strings.HasSuffix(zone.Region, "/"+region) {
66+
zones = append(zones, zone.Name)
67+
}
68+
}
69+
return nil
70+
})
7171

72-
resp, err := call.Do()
7372
if err != nil {
7473
return err
7574
}
7675

77-
zones := flattenZones(resp.Items)
76+
sort.Strings(zones)
7877
log.Printf("[DEBUG] Received Google Compute Zones: %q", zones)
7978

8079
d.Set("names", zones)
@@ -84,12 +83,3 @@ func dataSourceGoogleComputeZonesRead(d *schema.ResourceData, meta interface{})
8483

8584
return nil
8685
}
87-
88-
func flattenZones(zones []*compute.Zone) []string {
89-
result := make([]string, len(zones))
90-
for i, zone := range zones {
91-
result[i] = zone.Name
92-
}
93-
sort.Strings(result)
94-
return result
95-
}

google-beta/data_source_google_compute_zones_test.go

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"errors"
55
"fmt"
66
"strconv"
7+
"strings"
78
"testing"
89

910
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
@@ -18,7 +19,7 @@ func TestAccComputeZones_basic(t *testing.T) {
1819
Providers: testAccProviders,
1920
Steps: []resource.TestStep{
2021
{
21-
Config: testAccCheckGoogleComputeZonesConfig,
22+
Config: testAccComputeZones_basic,
2223
Check: resource.ComposeTestCheckFunc(
2324
testAccCheckGoogleComputeZonesMeta("data.google_compute_zones.available"),
2425
),
@@ -27,6 +28,24 @@ func TestAccComputeZones_basic(t *testing.T) {
2728
})
2829
}
2930

31+
func TestAccComputeZones_filter(t *testing.T) {
32+
t.Parallel()
33+
region := "us-central1"
34+
35+
vcrTest(t, resource.TestCase{
36+
PreCheck: func() { testAccPreCheck(t) },
37+
Providers: testAccProviders,
38+
Steps: []resource.TestStep{
39+
{
40+
Config: testAccComputeZones_filter(region),
41+
Check: resource.ComposeTestCheckFunc(
42+
testAccCheckGoogleComputeZonesRegion("data.google_compute_zones.available", region),
43+
),
44+
},
45+
},
46+
})
47+
}
48+
3049
func testAccCheckGoogleComputeZonesMeta(n string) resource.TestCheckFunc {
3150
return func(s *terraform.State) error {
3251
rs, ok := s.RootModule().Resources[n]
@@ -67,6 +86,51 @@ func testAccCheckGoogleComputeZonesMeta(n string) resource.TestCheckFunc {
6786
}
6887
}
6988

70-
var testAccCheckGoogleComputeZonesConfig = `
89+
func testAccCheckGoogleComputeZonesRegion(n, region string) resource.TestCheckFunc {
90+
return func(s *terraform.State) error {
91+
rs, ok := s.RootModule().Resources[n]
92+
if !ok {
93+
return fmt.Errorf("Can't find zones data source: %s", n)
94+
}
95+
96+
if rs.Primary.ID == "" {
97+
return errors.New("zones data source ID not set.")
98+
}
99+
100+
count, ok := rs.Primary.Attributes["names.#"]
101+
if !ok {
102+
return errors.New("can't find 'names' attribute")
103+
}
104+
105+
noOfNames, err := strconv.Atoi(count)
106+
if err != nil {
107+
return errors.New("failed to read number of zones")
108+
}
109+
110+
for i := 0; i < noOfNames; i++ {
111+
idx := "names." + strconv.Itoa(i)
112+
v, ok := rs.Primary.Attributes[idx]
113+
if !ok {
114+
return fmt.Errorf("zone list is corrupt (%q not found), this is definitely a bug", idx)
115+
}
116+
if !strings.Contains(v, region) {
117+
return fmt.Errorf("zone name %q does not contain region %q", v, region)
118+
}
119+
}
120+
121+
return nil
122+
}
123+
}
124+
125+
var testAccComputeZones_basic = `
71126
data "google_compute_zones" "available" {}
72127
`
128+
129+
func testAccComputeZones_filter(region string) string {
130+
return fmt.Sprintf(`
131+
data "google_compute_zones" "available" {
132+
region = "%s"
133+
status = "UP"
134+
}
135+
`, region)
136+
}

google-beta/resource_compute_address_sweeper_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func testSweepComputeAddress(region string) error {
6161
},
6262
}
6363

64-
listTemplate := strings.Split("https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses", "?")[0]
64+
listTemplate := strings.Split("https://compute.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses", "?")[0]
6565
listUrl, err := replaceVars(d, config, listTemplate)
6666
if err != nil {
6767
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -99,7 +99,7 @@ func testSweepComputeAddress(region string) error {
9999
continue
100100
}
101101

102-
deleteTemplate := "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses/{{name}}"
102+
deleteTemplate := "https://compute.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses/{{name}}"
103103
deleteUrl, err := replaceVars(d, config, deleteTemplate)
104104
if err != nil {
105105
log.Printf("[INFO][SWEEPER_LOG] error preparing delete url: %s", err)

google-beta/resource_compute_autoscaler_sweeper_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func testSweepComputeAutoscaler(region string) error {
6161
},
6262
}
6363

64-
listTemplate := strings.Split("https://www.googleapis.com/compute/beta/projects/{{project}}/aggregated/autoscalers", "?")[0]
64+
listTemplate := strings.Split("https://compute.googleapis.com/compute/beta/projects/{{project}}/aggregated/autoscalers", "?")[0]
6565
listUrl, err := replaceVars(d, config, listTemplate)
6666
if err != nil {
6767
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -110,7 +110,7 @@ func testSweepComputeAutoscaler(region string) error {
110110
continue
111111
}
112112

113-
deleteTemplate := "https://www.googleapis.com/compute/beta/projects/{{project}}/zones/{{zone}}/autoscalers/{{name}}"
113+
deleteTemplate := "https://compute.googleapis.com/compute/beta/projects/{{project}}/zones/{{zone}}/autoscalers/{{name}}"
114114
if obj["zone"] == nil {
115115
log.Printf("[INFO][SWEEPER_LOG] %s resource zone was nil", resourceName)
116116
return nil

google-beta/resource_compute_backend_bucket_signed_url_key_sweeper_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func testSweepComputeBackendBucketSignedUrlKey(region string) error {
6161
},
6262
}
6363

64-
listTemplate := strings.Split("https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets/{{backend_bucket}}", "?")[0]
64+
listTemplate := strings.Split("https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets/{{backend_bucket}}", "?")[0]
6565
listUrl, err := replaceVars(d, config, listTemplate)
6666
if err != nil {
6767
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -99,7 +99,7 @@ func testSweepComputeBackendBucketSignedUrlKey(region string) error {
9999
continue
100100
}
101101

102-
deleteTemplate := "https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets/{{backend_bucket}}/deleteSignedUrlKey?keyName={{name}}"
102+
deleteTemplate := "https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets/{{backend_bucket}}/deleteSignedUrlKey?keyName={{name}}"
103103
deleteUrl, err := replaceVars(d, config, deleteTemplate)
104104
if err != nil {
105105
log.Printf("[INFO][SWEEPER_LOG] error preparing delete url: %s", err)

google-beta/resource_compute_backend_bucket_sweeper_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func testSweepComputeBackendBucket(region string) error {
6161
},
6262
}
6363

64-
listTemplate := strings.Split("https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets", "?")[0]
64+
listTemplate := strings.Split("https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets", "?")[0]
6565
listUrl, err := replaceVars(d, config, listTemplate)
6666
if err != nil {
6767
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -99,7 +99,7 @@ func testSweepComputeBackendBucket(region string) error {
9999
continue
100100
}
101101

102-
deleteTemplate := "https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets/{{name}}"
102+
deleteTemplate := "https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendBuckets/{{name}}"
103103
deleteUrl, err := replaceVars(d, config, deleteTemplate)
104104
if err != nil {
105105
log.Printf("[INFO][SWEEPER_LOG] error preparing delete url: %s", err)

google-beta/resource_compute_backend_service_signed_url_key_sweeper_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func testSweepComputeBackendServiceSignedUrlKey(region string) error {
6161
},
6262
}
6363

64-
listTemplate := strings.Split("https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendServices/{{backend_service}}", "?")[0]
64+
listTemplate := strings.Split("https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendServices/{{backend_service}}", "?")[0]
6565
listUrl, err := replaceVars(d, config, listTemplate)
6666
if err != nil {
6767
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -99,7 +99,7 @@ func testSweepComputeBackendServiceSignedUrlKey(region string) error {
9999
continue
100100
}
101101

102-
deleteTemplate := "https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendServices/{{backend_service}}/deleteSignedUrlKey?keyName={{name}}"
102+
deleteTemplate := "https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendServices/{{backend_service}}/deleteSignedUrlKey?keyName={{name}}"
103103
deleteUrl, err := replaceVars(d, config, deleteTemplate)
104104
if err != nil {
105105
log.Printf("[INFO][SWEEPER_LOG] error preparing delete url: %s", err)

google-beta/resource_compute_backend_service_sweeper_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func testSweepComputeBackendService(region string) error {
6161
},
6262
}
6363

64-
listTemplate := strings.Split("https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendServices", "?")[0]
64+
listTemplate := strings.Split("https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendServices", "?")[0]
6565
listUrl, err := replaceVars(d, config, listTemplate)
6666
if err != nil {
6767
log.Printf("[INFO][SWEEPER_LOG] error preparing sweeper list url: %s", err)
@@ -99,7 +99,7 @@ func testSweepComputeBackendService(region string) error {
9999
continue
100100
}
101101

102-
deleteTemplate := "https://www.googleapis.com/compute/beta/projects/{{project}}/global/backendServices/{{name}}"
102+
deleteTemplate := "https://compute.googleapis.com/compute/beta/projects/{{project}}/global/backendServices/{{name}}"
103103
deleteUrl, err := replaceVars(d, config, deleteTemplate)
104104
if err != nil {
105105
log.Printf("[INFO][SWEEPER_LOG] error preparing delete url: %s", err)

0 commit comments

Comments
 (0)