Skip to content

Commit 5d94c41

Browse files
committed
Migrated compute subnetworks data source to use transport_tpg.SendRequest
1 parent f719c2f commit 5d94c41

1 file changed

Lines changed: 39 additions & 12 deletions

File tree

mmv1/third_party/terraform/services/compute/data_source_google_compute_subnetworks.go

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,22 +94,49 @@ func dataSourceGoogleComputeSubnetworksRead(d *schema.ResourceData, meta interfa
9494

9595
subnetworks := make([]map[string]interface{}, 0)
9696

97-
subnetworkList, err := NewClient(config, userAgent).Subnetworks.List(project, region).Filter(filter).Do()
97+
baseURL, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/regions/{{region}}/subnetworks")
98+
if err != nil {
99+
return err
100+
}
101+
102+
params := map[string]string{}
103+
if filter != "" {
104+
params["filter"] = filter
105+
}
106+
url, err := transport_tpg.AddQueryParams(baseURL, params)
107+
if err != nil {
108+
return err
109+
}
110+
111+
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
112+
Config: config,
113+
Method: "GET",
114+
Project: project,
115+
RawURL: url,
116+
UserAgent: userAgent,
117+
})
98118
if err != nil {
99119
return transport_tpg.HandleNotFoundError(err, d, fmt.Sprintf("Subnetworks : %s %s", project, region))
100120
}
101121

102-
for _, subnet := range subnetworkList.Items {
103-
subnetworks = append(subnetworks, map[string]interface{}{
104-
"description": subnet.Description,
105-
"ip_cidr_range": subnet.IpCidrRange,
106-
"name": subnet.Name,
107-
"network_self_link": filepath.Base(subnet.Network),
108-
"network": subnet.Network,
109-
"network_name": filepath.Base(subnet.Network),
110-
"private_ip_google_access": subnet.PrivateIpGoogleAccess,
111-
"self_link": subnet.SelfLink,
112-
})
122+
if items, ok := res["items"].([]interface{}); ok {
123+
for _, item := range items {
124+
subnet, ok := item.(map[string]interface{})
125+
if !ok {
126+
continue
127+
}
128+
network, _ := subnet["network"].(string)
129+
subnetworks = append(subnetworks, map[string]interface{}{
130+
"description": subnet["description"],
131+
"ip_cidr_range": subnet["ipCidrRange"],
132+
"name": subnet["name"],
133+
"network_self_link": filepath.Base(network),
134+
"network": subnet["network"],
135+
"network_name": filepath.Base(network),
136+
"private_ip_google_access": subnet["privateIpGoogleAccess"],
137+
"self_link": subnet["selfLink"],
138+
})
139+
}
113140
}
114141

115142
if err := d.Set("subnetworks", subnetworks); err != nil {

0 commit comments

Comments
 (0)