Skip to content

Commit bbe69bc

Browse files
authored
chore: add support for tflog (#1219)
1 parent 1b7e08c commit bbe69bc

8 files changed

+36
-25
lines changed

scaleway/helpers_instance.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/dustin/go-humanize"
10+
"github.com/hashicorp/terraform-plugin-log/tflog"
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1112
"github.com/scaleway/scaleway-sdk-go/api/instance/v1"
1213
"github.com/scaleway/scaleway-sdk-go/api/vpc/v1"
@@ -185,18 +186,18 @@ func reachState(ctx context.Context, instanceAPI *instance.API, zone scw.Zone, s
185186
}
186187

187188
// getServerType is a util to get a instance.ServerType by its commercialType
188-
func getServerType(apiInstance *instance.API, zone scw.Zone, commercialType string) *instance.ServerType {
189+
func getServerType(ctx context.Context, apiInstance *instance.API, zone scw.Zone, commercialType string) *instance.ServerType {
189190
serverType := (*instance.ServerType)(nil)
190191

191192
serverTypesRes, err := apiInstance.ListServersTypes(&instance.ListServersTypesRequest{
192193
Zone: zone,
193194
})
194195
if err != nil {
195-
l.Warningf("cannot get server types: %s", err)
196+
tflog.Warn(ctx, fmt.Sprintf("cannot get server types: %s", err))
196197
} else {
197198
serverType = serverTypesRes.Servers[commercialType]
198199
if serverType == nil {
199-
l.Warningf("unrecognized server type: %s", commercialType)
200+
tflog.Warn(ctx, fmt.Sprintf("unrecognized server type: %s", commercialType))
200201
}
201202
}
202203

scaleway/helpers_object.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/aws/aws-sdk-go/aws/session"
1818
"github.com/aws/aws-sdk-go/service/s3"
1919
"github.com/hashicorp/aws-sdk-go-base/tfawserr"
20+
"github.com/hashicorp/terraform-plugin-log/tflog"
2021
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
2122
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
2223
"github.com/scaleway/scaleway-sdk-go/scw"
@@ -169,13 +170,13 @@ func flattenBucketCORS(corsResponse interface{}) []map[string]interface{} {
169170
return corsRules
170171
}
171172

172-
func expandBucketCORS(rawCors []interface{}, bucket string) []*s3.CORSRule {
173+
func expandBucketCORS(ctx context.Context, rawCors []interface{}, bucket string) []*s3.CORSRule {
173174
rules := make([]*s3.CORSRule, 0, len(rawCors))
174175
for _, cors := range rawCors {
175176
corsMap := cors.(map[string]interface{})
176177
r := &s3.CORSRule{}
177178
for k, v := range corsMap {
178-
l.Debugf("S3 bucket: %s, put CORS: %#v, %#v", bucket, k, v)
179+
tflog.Debug(ctx, fmt.Sprintf("S3 bucket: %s, put CORS: %#v, %#v", bucket, k, v))
179180
if k == "max_age_seconds" {
180181
r.MaxAgeSeconds = scw.Int64Ptr(int64(v.(int)))
181182
} else {

scaleway/provider.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"net/http"
77

8+
"github.com/hashicorp/terraform-plugin-log/tflog"
89
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
910
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/plugin"
@@ -148,7 +149,7 @@ func Provider(config *ProviderConfig) plugin.ProviderFunc {
148149
return config.Meta, nil
149150
}
150151

151-
meta, err := buildMeta(&metaConfig{
152+
meta, err := buildMeta(ctx, &metaConfig{
152153
providerSchema: data,
153154
terraformVersion: terraformVersion,
154155
})
@@ -182,11 +183,11 @@ type metaConfig struct {
182183
}
183184

184185
// providerConfigure creates the Meta object containing the SDK client.
185-
func buildMeta(config *metaConfig) (*Meta, error) {
186+
func buildMeta(ctx context.Context, config *metaConfig) (*Meta, error) {
186187
////
187188
// Load Profile
188189
////
189-
profile, err := loadProfile(config.providerSchema)
190+
profile, err := loadProfile(ctx, config.providerSchema)
190191
if err != nil {
191192
return nil, err
192193
}
@@ -227,7 +228,7 @@ func buildMeta(config *metaConfig) (*Meta, error) {
227228
}
228229

229230
//gocyclo:ignore
230-
func loadProfile(d *schema.ResourceData) (*scw.Profile, error) {
231+
func loadProfile(ctx context.Context, d *schema.ResourceData) (*scw.Profile, error) {
231232
config, err := scw.LoadConfig()
232233
// If the config file do not exist, don't return an error as we may find config in ENV or flags.
233234
if _, isNotFoundError := err.(*scw.ConfigFileNotFoundError); isNotFoundError {
@@ -283,12 +284,12 @@ func loadProfile(d *schema.ResourceData) (*scw.Profile, error) {
283284
if profile.DefaultZone != nil && *profile.DefaultZone != "" &&
284285
(profile.DefaultRegion == nil || *profile.DefaultRegion == "") {
285286
zone := scw.Zone(*profile.DefaultZone)
286-
l.Debugf("guess region from %s zone", zone)
287+
tflog.Debug(ctx, fmt.Sprintf("guess region from %s zone", zone))
287288
region, err := zone.Region()
288289
if err == nil {
289290
profile.DefaultRegion = scw.StringPtr(region.String())
290291
} else {
291-
l.Debugf("cannot guess region: %w", err)
292+
tflog.Debug(ctx, fmt.Sprintf("cannot guess region: %s", err.Error()))
292293
}
293294
}
294295
return profile, nil

scaleway/provider_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,13 @@ type TestTools struct {
8585
}
8686

8787
func NewTestTools(t *testing.T) *TestTools {
88+
ctx := context.Background()
8889
// Create a http client with recording capabilities
8990
httpClient, cleanup, err := getHTTPRecoder(t, *UpdateCassettes)
9091
require.NoError(t, err)
9192

9293
// Create meta that will be passed in the provider config
93-
meta, err := buildMeta(&metaConfig{
94+
meta, err := buildMeta(ctx, &metaConfig{
9495
providerSchema: nil,
9596
terraformVersion: "terraform-tests",
9697
httpClient: httpClient,
@@ -111,6 +112,6 @@ func NewTestTools(t *testing.T) *TestTools {
111112
},
112113
},
113114
Cleanup: cleanup,
114-
ctx: context.Background(),
115+
ctx: ctx,
115116
}
116117
}

scaleway/resource_instance_ip_reverse_dns.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package scaleway
22

33
import (
44
"context"
5+
"fmt"
56

7+
"github.com/hashicorp/terraform-plugin-log/tflog"
68
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
79
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
810
"github.com/scaleway/scaleway-sdk-go/api/instance/v1"
@@ -55,7 +57,7 @@ func resourceScalewayInstanceIPReverseDNSCreate(ctx context.Context, d *schema.R
5557

5658
_, ok := d.GetOk("reverse")
5759
if ok {
58-
l.Debugf("updating IP %q reverse to %q\n", d.Id(), d.Get("reverse"))
60+
tflog.Debug(ctx, fmt.Sprintf("updating IP %q reverse to %q\n", d.Id(), d.Get("reverse")))
5961

6062
updateReverseReq := &instance.UpdateIPRequest{
6163
Zone: zone,
@@ -109,7 +111,7 @@ func resourceScalewayInstanceIPReverseDNSUpdate(ctx context.Context, d *schema.R
109111
}
110112

111113
if d.HasChange("reverse") {
112-
l.Debugf("updating IP %q reverse to %q\n", d.Id(), d.Get("reverse"))
114+
tflog.Debug(ctx, fmt.Sprintf("updating IP %q reverse to %q\n", d.Id(), d.Get("reverse")))
113115

114116
updateReverseReq := &instance.UpdateIPRequest{
115117
Zone: zone,

scaleway/resource_instance_server.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"strconv"
1111

1212
"github.com/google/go-cmp/cmp"
13+
"github.com/hashicorp/terraform-plugin-log/tflog"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1415
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1516
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -318,7 +319,7 @@ func resourceScalewayInstanceServerCreate(ctx context.Context, d *schema.Resourc
318319
req.PlacementGroup = expandStringPtr(expandZonedID(placementGroupID).ID)
319320
}
320321

321-
serverType := getServerType(instanceAPI, req.Zone, req.CommercialType)
322+
serverType := getServerType(ctx, instanceAPI, req.Zone, req.CommercialType)
322323
if serverType == nil {
323324
return diag.FromErr(fmt.Errorf("could not find a server type associated with %s", req.CommercialType))
324325
}
@@ -458,7 +459,7 @@ func resourceScalewayInstanceServerCreate(ctx context.Context, d *schema.Resourc
458459
if err != nil {
459460
return diag.FromErr(err)
460461
}
461-
l.Debugf("private network created (ID: %s, status: %s)", pn.PrivateNic.ID, pn.PrivateNic.State)
462+
tflog.Debug(ctx, fmt.Sprintf("private network created (ID: %s, status: %s)", pn.PrivateNic.ID, pn.PrivateNic.State))
462463

463464
_, err = waitForPrivateNIC(ctx, instanceAPI, zone, res.Server.ID, pn.PrivateNic.ID, d.Timeout(schema.TimeoutCreate))
464465
if err != nil {

scaleway/resource_object_bucket.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/aws/aws-sdk-go/aws/awserr"
1010
"github.com/aws/aws-sdk-go/service/s3"
1111
"github.com/hashicorp/aws-sdk-go-base/tfawserr"
12+
"github.com/hashicorp/terraform-plugin-log/tflog"
1213
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1415
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -251,7 +252,7 @@ func resourceScalewayObjectBucketUpdate(ctx context.Context, d *schema.ResourceD
251252
ACL: scw.StringPtr(acl),
252253
})
253254
if err != nil {
254-
l.Errorf("Couldn't update bucket ACL: %s", err)
255+
tflog.Error(ctx, fmt.Sprintf("Couldn't update bucket ACL: %s", err))
255256
return diag.FromErr(fmt.Errorf("couldn't update bucket ACL: %s", err))
256257
}
257258
}
@@ -439,7 +440,7 @@ func resourceScalewayObjectBucketRead(ctx context.Context, d *schema.ResourceDat
439440
})
440441
if err != nil {
441442
if s3err, ok := err.(awserr.Error); ok && s3err.Code() == s3.ErrCodeNoSuchBucket {
442-
l.Errorf("Bucket %q was not found - removing from state!", bucketName)
443+
tflog.Error(ctx, fmt.Sprintf("Bucket %q was not found - removing from state!", bucketName))
443444
d.SetId("")
444445
return nil
445446
}
@@ -624,7 +625,7 @@ func resourceScalewayObjectBucketVersioningUpdate(ctx context.Context, s3conn *s
624625
Bucket: scw.StringPtr(bucketName),
625626
VersioningConfiguration: vc,
626627
}
627-
l.Debugf("S3 put bucket versioning: %#v", i)
628+
tflog.Debug(ctx, fmt.Sprintf("S3 put bucket versioning: %#v", i))
628629

629630
_, err := s3conn.PutBucketVersioningWithContext(ctx, i)
630631
if err != nil {
@@ -640,7 +641,7 @@ func resourceScalewayS3BucketCorsUpdate(ctx context.Context, s3conn *s3.S3, d *s
640641

641642
if len(rawCors) == 0 {
642643
// Delete CORS
643-
l.Debugf("S3 bucket: %s, delete CORS", bucketName)
644+
tflog.Debug(ctx, fmt.Sprintf("S3 bucket: %s, delete CORS", bucketName))
644645

645646
_, err := s3conn.DeleteBucketCorsWithContext(ctx, &s3.DeleteBucketCorsInput{
646647
Bucket: scw.StringPtr(bucketName),
@@ -651,14 +652,14 @@ func resourceScalewayS3BucketCorsUpdate(ctx context.Context, s3conn *s3.S3, d *s
651652
}
652653
} else {
653654
// Put CORS
654-
rules := expandBucketCORS(rawCors, bucketName)
655+
rules := expandBucketCORS(ctx, rawCors, bucketName)
655656
corsInput := &s3.PutBucketCorsInput{
656657
Bucket: scw.StringPtr(bucketName),
657658
CORSConfiguration: &s3.CORSConfiguration{
658659
CORSRules: rules,
659660
},
660661
}
661-
l.Debugf("S3 bucket: %s, put CORS: %#v", bucketName, corsInput)
662+
tflog.Debug(ctx, fmt.Sprintf("S3 bucket: %s, put CORS: %#v", bucketName, corsInput))
662663

663664
_, err := s3conn.PutBucketCorsWithContext(ctx, corsInput)
664665
if err != nil {

scaleway/sweeper_test.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package scaleway
22

33
import (
4+
"context"
45
"testing"
56

67
"github.com/aws/aws-sdk-go/service/s3"
@@ -39,7 +40,8 @@ func sweepRegions(regions []scw.Region, f func(scwClient *scw.Client, region scw
3940
// sharedClientForZone returns a Scaleway client needed for the sweeper
4041
// functions for a given zone
4142
func sharedClientForZone(zone scw.Zone) (*scw.Client, error) {
42-
meta, err := buildMeta(&metaConfig{
43+
ctx := context.Background()
44+
meta, err := buildMeta(ctx, &metaConfig{
4345
terraformVersion: "terraform-tests",
4446
forceZone: zone,
4547
})
@@ -51,7 +53,8 @@ func sharedClientForZone(zone scw.Zone) (*scw.Client, error) {
5153

5254
// sharedS3ClientForRegion returns a common S3 client needed for the sweeper
5355
func sharedS3ClientForRegion(region scw.Region) (*s3.S3, error) {
54-
meta, err := buildMeta(&metaConfig{
56+
ctx := context.Background()
57+
meta, err := buildMeta(ctx, &metaConfig{
5558
terraformVersion: "terraform-tests",
5659
forceZone: region.GetZones()[0],
5760
})

0 commit comments

Comments
 (0)