Skip to content

Commit bd4ed8b

Browse files
authored
Moved some clients from config.go to individual service packages (GoogleCloudPlatform#17276)
1 parent 689b6c8 commit bd4ed8b

22 files changed

Lines changed: 165 additions & 138 deletions

mmv1/provider/terraform_tgc.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ func (tgc TerraformGoogleConversion) CopyCommonFiles(outputFolder string, genera
397397
"converters/google/resources/services/kms/kms_utils.go": "third_party/terraform/services/kms/kms_utils.go",
398398
"converters/google/resources/services/sourcerepo/source_repo_utils.go": "third_party/terraform/services/sourcerepo/source_repo_utils.go",
399399
"converters/google/resources/services/pubsub/pubsub_utils.go": "third_party/terraform/services/pubsub/pubsub_utils.go",
400+
"converters/google/resources/services/pubsub/client.go": "third_party/terraform/services/pubsub/client.go",
400401
"converters/google/resources/services/privateca/privateca_utils.go": "third_party/terraform/services/privateca/privateca_utils.go",
401402
"converters/google/resources/services/bigquery/bigquery_dataset_iam.go": "third_party/tgc/services/bigquery/bigquery_dataset_iam.go",
402403
"converters/google/resources/services/compute/compute_security_policy.go": "third_party/tgc/services/compute/compute_security_policy.go",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package certificatemanager
2+
3+
import (
4+
"log"
5+
6+
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
7+
"google.golang.org/api/certificatemanager/v1"
8+
"google.golang.org/api/option"
9+
)
10+
11+
func NewClient(c *transport_tpg.Config, userAgent string) *certificatemanager.Service {
12+
certificateManagerClientBasePath := transport_tpg.RemoveBasePathVersion(c.CertificateManagerBasePath)
13+
log.Printf("[INFO] Instantiating Certificate Manager client for path %s", certificateManagerClientBasePath)
14+
clientCertificateManager, err := certificatemanager.NewService(c.Context, option.WithHTTPClient(c.Client))
15+
if err != nil {
16+
log.Printf("[WARN] Error creating client certificate manager: %s", err)
17+
return nil
18+
}
19+
clientCertificateManager.UserAgent = userAgent
20+
clientCertificateManager.BasePath = certificateManagerClientBasePath
21+
22+
return clientCertificateManager
23+
}

mmv1/third_party/terraform/services/certificatemanager/data_source_google_certificate_manager_certificates.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func dataSourceGoogleCertificateManagerCertificatesRead(d *schema.ResourceData,
5757
filter := d.Get("filter").(string)
5858

5959
certificates := make([]map[string]interface{}, 0)
60-
certificatesList, err := config.NewCertificateManagerClient(userAgent).Projects.Locations.Certificates.List(fmt.Sprintf("projects/%s/locations/%s", project, region)).Filter(filter).Do()
60+
certificatesList, err := NewClient(config, userAgent).Projects.Locations.Certificates.List(fmt.Sprintf("projects/%s/locations/%s", project, region)).Filter(filter).Do()
6161
if err != nil {
6262
return transport_tpg.HandleNotFoundError(err, d, fmt.Sprintf("Certificates : %s %s", project, region))
6363
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package firebase
2+
{{- if ne $.TargetVersionName "ga" }}
3+
4+
import (
5+
"context"
6+
"log"
7+
"strings"
8+
9+
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
10+
firebase "google.golang.org/api/firebase/v1beta1"
11+
"google.golang.org/api/option"
12+
)
13+
14+
func NewClient(ctx context.Context, c *transport_tpg.Config, userAgent string) *firebase.Service {
15+
firebaseClientBasePath := transport_tpg.RemoveBasePathVersion(c.FirebaseBasePath)
16+
firebaseClientBasePath = strings.ReplaceAll(firebaseClientBasePath, "/firebase/", "")
17+
log.Printf("[INFO] Instantiating Google Cloud firebase client for path %s", firebaseClientBasePath)
18+
clientFirebase, err := firebase.NewService(c.Context, option.WithHTTPClient(c.Client))
19+
if err != nil {
20+
log.Printf("[WARN] Error creating client firebase: %s", err)
21+
return nil
22+
}
23+
clientFirebase.UserAgent = userAgent
24+
clientFirebase.BasePath = firebaseClientBasePath
25+
26+
return clientFirebase
27+
}
28+
{{- end }}

mmv1/third_party/terraform/services/firebase/data_source_google_firebase_admin_sdk_config.go.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func (d *GoogleFirebaseAdminSdkConfigDataSource) Configure(ctx context.Context,
9393
return
9494
}
9595

96-
p, ok := req.ProviderData.(*transport_tpg.Config)
96+
config, ok := req.ProviderData.(*transport_tpg.Config)
9797
if !ok {
9898
resp.Diagnostics.AddError(
9999
"Unexpected Data Source Configure Type",
@@ -102,11 +102,11 @@ func (d *GoogleFirebaseAdminSdkConfigDataSource) Configure(ctx context.Context,
102102
return
103103
}
104104

105-
d.client = p.NewFirebaseClient(ctx, p.UserAgent)
105+
d.client = NewClient(ctx, config, config.UserAgent)
106106
if resp.Diagnostics.HasError() {
107107
return
108108
}
109-
d.providerConfig = p
109+
d.providerConfig = config
110110
}
111111

112112
func (d *GoogleFirebaseAdminSdkConfigDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {

mmv1/third_party/terraform/services/firebase/data_source_google_firebase_android_app_config.go.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func (d *GoogleFirebaseAndroidAppConfigDataSource) Configure(ctx context.Context
9292
return
9393
}
9494

95-
p, ok := req.ProviderData.(*transport_tpg.Config)
95+
config, ok := req.ProviderData.(*transport_tpg.Config)
9696
if !ok {
9797
resp.Diagnostics.AddError(
9898
"Unexpected Data Source Configure Type",
@@ -101,11 +101,11 @@ func (d *GoogleFirebaseAndroidAppConfigDataSource) Configure(ctx context.Context
101101
return
102102
}
103103

104-
d.client = p.NewFirebaseClient(ctx, p.UserAgent)
104+
d.client = NewClient(ctx, config, config.UserAgent)
105105
if resp.Diagnostics.HasError() {
106106
return
107107
}
108-
d.providerConfig = p
108+
d.providerConfig = config
109109
}
110110

111111
func (d *GoogleFirebaseAndroidAppConfigDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {

mmv1/third_party/terraform/services/firebase/data_source_google_firebase_apple_app_config.go.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func (d *GoogleFirebaseAppleAppConfigDataSource) Configure(ctx context.Context,
9292
return
9393
}
9494

95-
p, ok := req.ProviderData.(*transport_tpg.Config)
95+
config, ok := req.ProviderData.(*transport_tpg.Config)
9696
if !ok {
9797
resp.Diagnostics.AddError(
9898
"Unexpected Data Source Configure Type",
@@ -101,11 +101,11 @@ func (d *GoogleFirebaseAppleAppConfigDataSource) Configure(ctx context.Context,
101101
return
102102
}
103103

104-
d.client = p.NewFirebaseClient(ctx, p.UserAgent)
104+
d.client = NewClient(ctx, config, config.UserAgent)
105105
if resp.Diagnostics.HasError() {
106106
return
107107
}
108-
d.providerConfig = p
108+
d.providerConfig = config
109109
}
110110

111111
func (d *GoogleFirebaseAppleAppConfigDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {

mmv1/third_party/terraform/services/firebase/data_source_google_firebase_web_app_config.go.tmpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (d *GoogleFirebaseWebAppConfigDataSource) Configure(ctx context.Context, re
139139
return
140140
}
141141

142-
p, ok := req.ProviderData.(*transport_tpg.Config)
142+
config, ok := req.ProviderData.(*transport_tpg.Config)
143143
if !ok {
144144
resp.Diagnostics.AddError(
145145
"Unexpected Data Source Configure Type",
@@ -148,11 +148,11 @@ func (d *GoogleFirebaseWebAppConfigDataSource) Configure(ctx context.Context, re
148148
return
149149
}
150150

151-
d.client = p.NewFirebaseClient(ctx, p.UserAgent)
151+
d.client = NewClient(ctx, config, config.UserAgent)
152152
if resp.Diagnostics.HasError() {
153153
return
154154
}
155-
d.providerConfig = p
155+
d.providerConfig = config
156156
}
157157

158158
func (d *GoogleFirebaseWebAppConfigDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package pubsub
2+
3+
import (
4+
"log"
5+
6+
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
7+
"google.golang.org/api/option"
8+
pubsub "google.golang.org/api/pubsub/v1"
9+
)
10+
11+
func NewClient(c *transport_tpg.Config, userAgent string) *pubsub.Service {
12+
pubsubClientBasePath := transport_tpg.RemoveBasePathVersion(c.PubsubBasePath)
13+
log.Printf("[INFO] Instantiating Google Pubsub client for path %s", pubsubClientBasePath)
14+
wrappedPubsubClient := transport_tpg.ClientWithAdditionalRetries(c.Client, transport_tpg.PubsubTopicProjectNotReady)
15+
clientPubsub, err := pubsub.NewService(c.Context, option.WithHTTPClient(wrappedPubsubClient))
16+
if err != nil {
17+
log.Printf("[WARN] Error creating client pubsub: %s", err)
18+
return nil
19+
}
20+
clientPubsub.UserAgent = userAgent
21+
clientPubsub.BasePath = pubsubClientBasePath
22+
23+
return clientPubsub
24+
}

mmv1/third_party/terraform/services/pubsub/iam_pubsub_subscription.go.tmpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func (u *PubsubSubscriptionIamUpdater) GetResourceIamPolicy() (*cloudresourceman
6464
return nil, err
6565
}
6666

67-
p, err := u.Config.NewPubsubClient(userAgent).Projects.Subscriptions.GetIamPolicy(u.subscription).Do()
67+
p, err := NewClient(u.Config, userAgent).Projects.Subscriptions.GetIamPolicy(u.subscription).Do()
6868

6969
if err != nil {
7070
return nil, errwrap.Wrapf(fmt.Sprintf("Error retrieving IAM policy for %s: {{"{{"}}err{{"}}"}}", u.DescribeResource()), err)
@@ -89,7 +89,7 @@ func (u *PubsubSubscriptionIamUpdater) SetResourceIamPolicy(policy *cloudresourc
8989
return err
9090
}
9191

92-
_, err = u.Config.NewPubsubClient(userAgent).Projects.Subscriptions.SetIamPolicy(u.subscription, &pubsub.SetIamPolicyRequest{
92+
_, err = NewClient(u.Config, userAgent).Projects.Subscriptions.SetIamPolicy(u.subscription, &pubsub.SetIamPolicyRequest{
9393
Policy: pubsubPolicy,
9494
}).Do()
9595

0 commit comments

Comments
 (0)