From ba79e1edf4493bbc100a0a1af811ca662a0e3394 Mon Sep 17 00:00:00 2001 From: bokov Date: Thu, 30 Jul 2026 16:19:49 +0200 Subject: [PATCH] compute: migrate google_compute_global_address data source to REST --- ...ta_source_google_compute_global_address.go | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/mmv1/third_party/terraform/services/compute/data_source_google_compute_global_address.go b/mmv1/third_party/terraform/services/compute/data_source_google_compute_global_address.go index 669c1e737166..2b860ffa7ffb 100644 --- a/mmv1/third_party/terraform/services/compute/data_source_google_compute_global_address.go +++ b/mmv1/third_party/terraform/services/compute/data_source_google_compute_global_address.go @@ -92,36 +92,45 @@ func dataSourceGoogleComputeGlobalAddressRead(d *schema.ResourceData, meta inter name := d.Get("name").(string) id := fmt.Sprintf("projects/%s/global/addresses/%s", project, name) - address, err := NewClient(config, userAgent).GlobalAddresses.Get(project, name).Do() + url := fmt.Sprintf("%sprojects/%s/global/addresses/%s", transport_tpg.BaseUrl(Product, config), project, name) + address, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{ + Config: config, + Method: "GET", + Project: project, + RawURL: url, + UserAgent: userAgent, + }) if err != nil { return transport_tpg.HandleDataSourceNotFoundError(err, d, fmt.Sprintf("Global Address Not Found : %s", name), id) } - if err := d.Set("address", address.Address); err != nil { + if err := d.Set("address", address["address"]); err != nil { return fmt.Errorf("Error setting address: %s", err) } - if err := d.Set("address_type", address.AddressType); err != nil { + if err := d.Set("address_type", address["addressType"]); err != nil { return fmt.Errorf("Error setting address_type: %s", err) } - if err := d.Set("network", address.Network); err != nil { + if err := d.Set("network", address["network"]); err != nil { return fmt.Errorf("Error setting network: %s", err) } - if err := d.Set("network_tier", address.NetworkTier); err != nil { + if err := d.Set("network_tier", address["networkTier"]); err != nil { return fmt.Errorf("Error setting network_tier: %s", err) } - if err := d.Set("prefix_length", address.PrefixLength); err != nil { + // prefixLength is a plain JSON number and is absent for addresses without a prefix. + prefixLength, _ := address["prefixLength"].(float64) + if err := d.Set("prefix_length", int(prefixLength)); err != nil { return fmt.Errorf("Error setting prefix_length: %s", err) } - if err := d.Set("purpose", address.Purpose); err != nil { + if err := d.Set("purpose", address["purpose"]); err != nil { return fmt.Errorf("Error setting purpose: %s", err) } - if err := d.Set("subnetwork", address.Subnetwork); err != nil { + if err := d.Set("subnetwork", address["subnetwork"]); err != nil { return fmt.Errorf("Error setting subnetwork: %s", err) } - if err := d.Set("status", address.Status); err != nil { + if err := d.Set("status", address["status"]); err != nil { return fmt.Errorf("Error setting status: %s", err) } - if err := d.Set("self_link", address.SelfLink); err != nil { + if err := d.Set("self_link", address["selfLink"]); err != nil { return fmt.Errorf("Error setting self_link: %s", err) } if err := d.Set("project", project); err != nil {