Skip to content

Commit 1c97b1d

Browse files
Move files to the tpgresource package (#7891) (#5612)
* Move TerraformResourceData and field_helpers.go to the tpgresource package * Move regional_utils.go to the tpgresource package * Replace functions * Move ResourceDataMock, ResourceDiffMock and ReplaceVarsForTest to the tpgresource package * Fix DCL imports * Fix imports format * Move utils_test.go back to the google package * Fix comments * Fix the function name ReplaceVars * Rebase the main branch * Fix import path * Move TimoutError to the transport package * Fix comments * Add field_helper.go and regional_utils.go in the tpgresource package to the convertion list * Import tpgresource package for validator files * Rebase main branch * Fix rebasing error Signed-off-by: Modular Magician <[email protected]>
1 parent ce52fd6 commit 1c97b1d

File tree

1,325 files changed

+25784
-24609
lines changed

Some content is hidden

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

1,325 files changed

+25784
-24609
lines changed

.changelog/7891.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:none
2+
3+
```

google-beta/acctest/provider_test_utils.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ func AccTestPreCheck(t *testing.T) {
150150
}
151151
}
152152

153-
// GetTestRegion has the same logic as the provider's getRegion, to be used in tests.
153+
// GetTestRegion has the same logic as the provider's GetRegion, to be used in tests.
154154
func GetTestRegion(is *terraform.InstanceState, config *transport_tpg.Config) (string, error) {
155155
if res, ok := is.Attributes["region"]; ok {
156156
return res, nil
@@ -161,7 +161,7 @@ func GetTestRegion(is *terraform.InstanceState, config *transport_tpg.Config) (s
161161
return "", fmt.Errorf("%q: required field is not set", "region")
162162
}
163163

164-
// GetTestProject has the same logic as the provider's getProject, to be used in tests.
164+
// GetTestProject has the same logic as the provider's GetProject, to be used in tests.
165165
func GetTestProject(is *terraform.InstanceState, config *transport_tpg.Config) (string, error) {
166166
if res, ok := is.Attributes["project"]; ok {
167167
return res, nil

google-beta/acctest/test_utils.go

Lines changed: 0 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -3,113 +3,10 @@ package acctest
33
import (
44
"errors"
55
"fmt"
6-
"reflect"
7-
"time"
86

97
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
10-
"github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource"
118
)
129

13-
type ResourceDataMock struct {
14-
FieldsInSchema map[string]interface{}
15-
FieldsWithHasChange []string
16-
id string
17-
}
18-
19-
func (d *ResourceDataMock) HasChange(key string) bool {
20-
exists := false
21-
for _, val := range d.FieldsWithHasChange {
22-
if key == val {
23-
exists = true
24-
}
25-
}
26-
27-
return exists
28-
}
29-
30-
func (d *ResourceDataMock) Get(key string) interface{} {
31-
v, _ := d.GetOk(key)
32-
return v
33-
}
34-
35-
func (d *ResourceDataMock) GetOk(key string) (interface{}, bool) {
36-
v, ok := d.GetOkExists(key)
37-
if ok && !tpgresource.IsEmptyValue(reflect.ValueOf(v)) {
38-
return v, true
39-
} else {
40-
return v, false
41-
}
42-
}
43-
44-
func (d *ResourceDataMock) GetOkExists(key string) (interface{}, bool) {
45-
for k, v := range d.FieldsInSchema {
46-
if key == k {
47-
return v, true
48-
}
49-
}
50-
51-
return nil, false
52-
}
53-
54-
func (d *ResourceDataMock) Set(key string, value interface{}) error {
55-
d.FieldsInSchema[key] = value
56-
return nil
57-
}
58-
59-
func (d *ResourceDataMock) SetId(v string) {
60-
d.id = v
61-
}
62-
63-
func (d *ResourceDataMock) Id() string {
64-
return d.id
65-
}
66-
67-
func (d *ResourceDataMock) GetProviderMeta(dst interface{}) error {
68-
return nil
69-
}
70-
71-
func (d *ResourceDataMock) Timeout(key string) time.Duration {
72-
return time.Duration(1)
73-
}
74-
75-
type ResourceDiffMock struct {
76-
Before map[string]interface{}
77-
After map[string]interface{}
78-
Cleared map[string]interface{}
79-
IsForceNew bool
80-
}
81-
82-
func (d *ResourceDiffMock) GetChange(key string) (interface{}, interface{}) {
83-
return d.Before[key], d.After[key]
84-
}
85-
86-
func (d *ResourceDiffMock) HasChange(key string) bool {
87-
old, new := d.GetChange(key)
88-
return old != new
89-
}
90-
91-
func (d *ResourceDiffMock) Get(key string) interface{} {
92-
return d.After[key]
93-
}
94-
95-
func (d *ResourceDiffMock) GetOk(key string) (interface{}, bool) {
96-
v, ok := d.After[key]
97-
return v, ok
98-
}
99-
100-
func (d *ResourceDiffMock) Clear(key string) error {
101-
if d.Cleared == nil {
102-
d.Cleared = map[string]interface{}{}
103-
}
104-
d.Cleared[key] = true
105-
return nil
106-
}
107-
108-
func (d *ResourceDiffMock) ForceNew(key string) error {
109-
d.IsForceNew = true
110-
return nil
111-
}
112-
11310
func CheckDataSourceStateMatchesResourceState(dataSourceName, resourceName string) func(*terraform.State) error {
11411
return CheckDataSourceStateMatchesResourceStateWithIgnores(dataSourceName, resourceName, map[string]struct{}{})
11512
}
@@ -157,17 +54,3 @@ func CheckDataSourceStateMatchesResourceStateWithIgnores(dataSourceName, resourc
15754
return nil
15855
}
15956
}
160-
161-
type TimeoutError struct {
162-
timeout bool
163-
}
164-
165-
func (e *TimeoutError) Timeout() bool {
166-
return e.timeout
167-
}
168-
169-
func (e *TimeoutError) Error() string {
170-
return "timeout error"
171-
}
172-
173-
var TimeoutErr = &TimeoutError{timeout: true}

google-beta/acctest/transport_test_utils.go

Lines changed: 0 additions & 57 deletions
This file was deleted.

google-beta/common_operation_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"testing"
66
"time"
77

8-
"github.com/hashicorp/terraform-provider-google-beta/google-beta/acctest"
8+
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
99
)
1010

1111
type TestWaiter struct {
@@ -35,7 +35,7 @@ func (w *TestWaiter) QueryOp() (interface{}, error) {
3535
w.runCount++
3636
if w.runCount == 1 {
3737
return nil, &url.Error{
38-
Err: acctest.TimeoutErr,
38+
Err: transport_tpg.TimeoutErr,
3939
}
4040
}
4141
return "my return value", nil

google-beta/compute_instance_helpers.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ func flattenNetworkInterfaces(d *schema.ResourceData, config *transport_tpg.Conf
260260
var ac []map[string]interface{}
261261
ac, externalIP = flattenAccessConfigs(iface.AccessConfigs)
262262

263-
subnet, err := ParseSubnetworkFieldValue(iface.Subnetwork, d, config)
263+
subnet, err := tpgresource.ParseSubnetworkFieldValue(iface.Subnetwork, d, config)
264264
if err != nil {
265265
return nil, "", "", "", err
266266
}
@@ -326,7 +326,7 @@ func expandIpv6AccessConfigs(configs []interface{}) []*compute.AccessConfig {
326326
return iacs
327327
}
328328

329-
func expandNetworkInterfaces(d TerraformResourceData, config *transport_tpg.Config) ([]*compute.NetworkInterface, error) {
329+
func expandNetworkInterfaces(d tpgresource.TerraformResourceData, config *transport_tpg.Config) ([]*compute.NetworkInterface, error) {
330330
configs := d.Get("network_interface").([]interface{})
331331
ifaces := make([]*compute.NetworkInterface, len(configs))
332332
for i, raw := range configs {
@@ -338,13 +338,13 @@ func expandNetworkInterfaces(d TerraformResourceData, config *transport_tpg.Conf
338338
return nil, fmt.Errorf("exactly one of network or subnetwork must be provided")
339339
}
340340

341-
nf, err := ParseNetworkFieldValue(network, d, config)
341+
nf, err := tpgresource.ParseNetworkFieldValue(network, d, config)
342342
if err != nil {
343343
return nil, fmt.Errorf("cannot determine self_link for network %q: %s", network, err)
344344
}
345345

346346
subnetProjectField := fmt.Sprintf("network_interface.%d.subnetwork_project", i)
347-
sf, err := ParseSubnetworkFieldValueWithProjectField(subnetwork, subnetProjectField, d, config)
347+
sf, err := tpgresource.ParseSubnetworkFieldValueWithProjectField(subnetwork, subnetProjectField, d, config)
348348
if err != nil {
349349
return nil, fmt.Errorf("cannot determine self_link for subnetwork %q: %s", subnetwork, err)
350350
}
@@ -403,7 +403,7 @@ func flattenGuestAccelerators(accelerators []*compute.AcceleratorConfig) []map[s
403403
return acceleratorsSchema
404404
}
405405

406-
func resourceInstanceTags(d TerraformResourceData) *compute.Tags {
406+
func resourceInstanceTags(d tpgresource.TerraformResourceData) *compute.Tags {
407407
// Calculate the tags
408408
var tags *compute.Tags
409409
if v := d.Get("tags"); v != nil {
@@ -420,7 +420,7 @@ func resourceInstanceTags(d TerraformResourceData) *compute.Tags {
420420
return tags
421421
}
422422

423-
func expandShieldedVmConfigs(d TerraformResourceData) *compute.ShieldedInstanceConfig {
423+
func expandShieldedVmConfigs(d tpgresource.TerraformResourceData) *compute.ShieldedInstanceConfig {
424424
if _, ok := d.GetOk("shielded_instance_config"); !ok {
425425
return nil
426426
}
@@ -434,7 +434,7 @@ func expandShieldedVmConfigs(d TerraformResourceData) *compute.ShieldedInstanceC
434434
}
435435
}
436436

437-
func expandConfidentialInstanceConfig(d TerraformResourceData) *compute.ConfidentialInstanceConfig {
437+
func expandConfidentialInstanceConfig(d tpgresource.TerraformResourceData) *compute.ConfidentialInstanceConfig {
438438
if _, ok := d.GetOk("confidential_instance_config"); !ok {
439439
return nil
440440
}
@@ -455,7 +455,7 @@ func flattenConfidentialInstanceConfig(ConfidentialInstanceConfig *compute.Confi
455455
}}
456456
}
457457

458-
func expandAdvancedMachineFeatures(d TerraformResourceData) *compute.AdvancedMachineFeatures {
458+
func expandAdvancedMachineFeatures(d tpgresource.TerraformResourceData) *compute.AdvancedMachineFeatures {
459459
if _, ok := d.GetOk("advanced_machine_features"); !ok {
460460
return nil
461461
}
@@ -491,7 +491,7 @@ func flattenShieldedVmConfig(shieldedVmConfig *compute.ShieldedInstanceConfig) [
491491
}}
492492
}
493493

494-
func expandDisplayDevice(d TerraformResourceData) *compute.DisplayDevice {
494+
func expandDisplayDevice(d tpgresource.TerraformResourceData) *compute.DisplayDevice {
495495
if _, ok := d.GetOk("enable_display"); !ok {
496496
return nil
497497
}
@@ -637,7 +637,7 @@ func flattenReservationAffinity(affinity *compute.ReservationAffinity) []map[str
637637
return []map[string]interface{}{flattened}
638638
}
639639

640-
func expandNetworkPerformanceConfig(d TerraformResourceData, config *transport_tpg.Config) (*compute.NetworkPerformanceConfig, error) {
640+
func expandNetworkPerformanceConfig(d tpgresource.TerraformResourceData, config *transport_tpg.Config) (*compute.NetworkPerformanceConfig, error) {
641641
configs, ok := d.GetOk("network_performance_config")
642642
if !ok {
643643
return nil, nil

google-beta/data_source_access_approval_folder_service_account.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55

66
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
7+
"github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource"
78
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
89
)
910

@@ -30,20 +31,20 @@ func DataSourceAccessApprovalFolderServiceAccount() *schema.Resource {
3031

3132
func dataSourceAccessApprovalFolderServiceAccountRead(d *schema.ResourceData, meta interface{}) error {
3233
config := meta.(*transport_tpg.Config)
33-
userAgent, err := generateUserAgentString(d, config.UserAgent)
34+
userAgent, err := tpgresource.GenerateUserAgentString(d, config.UserAgent)
3435
if err != nil {
3536
return err
3637
}
3738

38-
url, err := ReplaceVars(d, config, "{{AccessApprovalBasePath}}folders/{{folder_id}}/serviceAccount")
39+
url, err := tpgresource.ReplaceVars(d, config, "{{AccessApprovalBasePath}}folders/{{folder_id}}/serviceAccount")
3940
if err != nil {
4041
return err
4142
}
4243

4344
billingProject := ""
4445

4546
// err == nil indicates that the billing_project value was found
46-
if bp, err := getBillingProject(d, config); err == nil {
47+
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
4748
billingProject = bp
4849
}
4950

google-beta/data_source_access_approval_organization_service_account.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55

66
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
7+
"github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource"
78
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
89
)
910

@@ -30,20 +31,20 @@ func DataSourceAccessApprovalOrganizationServiceAccount() *schema.Resource {
3031

3132
func dataSourceAccessApprovalOrganizationServiceAccountRead(d *schema.ResourceData, meta interface{}) error {
3233
config := meta.(*transport_tpg.Config)
33-
userAgent, err := generateUserAgentString(d, config.UserAgent)
34+
userAgent, err := tpgresource.GenerateUserAgentString(d, config.UserAgent)
3435
if err != nil {
3536
return err
3637
}
3738

38-
url, err := ReplaceVars(d, config, "{{AccessApprovalBasePath}}organizations/{{organization_id}}/serviceAccount")
39+
url, err := tpgresource.ReplaceVars(d, config, "{{AccessApprovalBasePath}}organizations/{{organization_id}}/serviceAccount")
3940
if err != nil {
4041
return err
4142
}
4243

4344
billingProject := ""
4445

4546
// err == nil indicates that the billing_project value was found
46-
if bp, err := getBillingProject(d, config); err == nil {
47+
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
4748
billingProject = bp
4849
}
4950

0 commit comments

Comments
 (0)