@@ -37,6 +37,8 @@ const (
3737 maxObjectVersionDeletionWorkers = 8
3838
3939 ErrCodeForbidden = "Forbidden"
40+
41+ defaultVersion = "v2.49.0"
4042)
4143
4244type scalewayResolver struct {
@@ -47,9 +49,25 @@ func (r *scalewayResolver) ResolveEndpoint(ctx context.Context, params s3.Endpoi
4749 return s3 .NewDefaultEndpointResolverV2 ().ResolveEndpoint (ctx , params )
4850}
4951
52+ type userAgentRoundTripper struct {
53+ defaultRoundTripper http.RoundTripper
54+ userAgent string
55+ }
56+
57+ var userAgent = fmt .Sprintf ("scaleway-terraform-provider/%s (%s; %s; %s)" , defaultVersion , runtime .Version (), runtime .GOOS , runtime .GOARCH )
58+
59+ func (r * userAgentRoundTripper ) RoundTrip (req * http.Request ) (* http.Response , error ) {
60+ req .Header .Set ("User-Agent" , userAgent )
61+
62+ return r .defaultRoundTripper .RoundTrip (req )
63+ }
64+
5065func newS3Client (ctx context.Context , region , accessKey , secretKey string , httpClient * http.Client ) (* s3.Client , error ) {
5166 endpoint := "https://s3." + region + ".scw.cloud"
52-
67+ httpClient .Transport = & userAgentRoundTripper {
68+ defaultRoundTripper : httpClient .Transport ,
69+ userAgent : userAgent ,
70+ }
5371 cfg , err := config .LoadDefaultConfig (ctx ,
5472 config .WithRegion (region ),
5573 config .WithCredentialsProvider (credentials .NewStaticCredentialsProvider (accessKey , secretKey , "" )),
0 commit comments