@@ -76,6 +76,54 @@ index deadff7071..6310023478 100644
76
76
func (client *AWSClient) S3ConnURICleaningDisabled(ctx context.Context) *s3_sdkv1.S3 {
77
77
config := client.S3Conn(ctx).Config
78
78
config.DisableRestProtocolURICleaning = aws_sdkv2.Bool(true)
79
+ diff --git a/internal/provider/provider.go b/internal/provider/provider.go
80
+ index 9b4ebd5a46..0e7a94e470 100644
81
+ --- a/internal/provider/provider.go
82
+ +++ b/internal/provider/provider.go
83
+ @@ -16,7 +16,6 @@ import (
84
+
85
+ "github.com/hashicorp/terraform-provider-aws/internal/service/ecr"
86
+ "github.com/hashicorp/terraform-provider-aws/internal/service/gamelift"
87
+ - "github.com/hashicorp/terraform-provider-aws/internal/service/s3legacy"
88
+
89
+ "github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
90
+ awsbase "github.com/hashicorp/aws-sdk-go-base/v2"
91
+ @@ -264,8 +263,6 @@ func New(ctx context.Context) (*schema.Provider, error) {
92
+ },
93
+
94
+ ResourcesMap: map[string]*schema.Resource{
95
+ - "aws_s3_bucket_legacy": s3legacy.ResourceBucketLegacy(),
96
+ -
97
+ "aws_gamelift_matchmaking_configuration": gamelift.ResourceMatchMakingConfiguration(),
98
+ "aws_gamelift_matchmaking_rule_set": gamelift.ResourceMatchmakingRuleSet(),
99
+ },
100
+ @@ -278,7 +275,7 @@ func New(ctx context.Context) (*schema.Provider, error) {
101
+ var errs []error
102
+ servicePackageMap := make(map[string]conns.ServicePackage)
103
+
104
+ - for _, sp := range servicePackages(ctx) {
105
+ + for _, sp := range servicePackagesAll(ctx) {
106
+ servicePackageName := sp.ServicePackageName()
107
+ servicePackageMap[servicePackageName] = sp
108
+
109
+ diff --git a/internal/provider/service_packages_all.go b/internal/provider/service_packages_all.go
110
+ new file mode 100644
111
+ index 0000000000..51ca53f883
112
+ --- /dev/null
113
+ +++ b/internal/provider/service_packages_all.go
114
+ @@ -0,0 +1,12 @@
115
+ + package provider
116
+ +
117
+ + import (
118
+ + "context"
119
+ +
120
+ + "github.com/hashicorp/terraform-provider-aws/internal/conns"
121
+ + "github.com/hashicorp/terraform-provider-aws/internal/service/s3legacy"
122
+ + )
123
+ +
124
+ + func servicePackagesAll(ctx context.Context) []conns.ServicePackage {
125
+ + return append(servicePackages(ctx), s3legacy.ServicePackage(ctx))
126
+ + }
79
127
diff --git a/internal/service/s3/service_package_bwcompat.go b/internal/service/s3/service_package_bwcompat.go
80
128
new file mode 100644
81
129
index 0000000000..4278d1e70a
@@ -161,3 +209,87 @@ index 007c2f2dc1..5f64a814be 100644
161
209
}
162
210
163
211
arn := arn.ARN{
212
+ diff --git a/internal/service/s3legacy/service_package.go b/internal/service/s3legacy/service_package.go
213
+ new file mode 100644
214
+ index 0000000000..5d2ea27364
215
+ --- /dev/null
216
+ +++ b/internal/service/s3legacy/service_package.go
217
+ @@ -0,0 +1,78 @@
218
+ + package s3legacy
219
+ +
220
+ + import (
221
+ + "context"
222
+ +
223
+ + "github.com/hashicorp/terraform-provider-aws/internal/conns"
224
+ + "github.com/hashicorp/terraform-provider-aws/internal/types"
225
+ + )
226
+ +
227
+ + type servicePackage struct{}
228
+ +
229
+ + func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*types.ServicePackageFrameworkDataSource {
230
+ + return []*types.ServicePackageFrameworkDataSource{}
231
+ + }
232
+ +
233
+ + func (p *servicePackage) FrameworkResources(ctx context.Context) []*types.ServicePackageFrameworkResource {
234
+ + return []*types.ServicePackageFrameworkResource{}
235
+ + }
236
+ +
237
+ + func (p *servicePackage) SDKDataSources(ctx context.Context) []*types.ServicePackageSDKDataSource {
238
+ + return []*types.ServicePackageSDKDataSource{}
239
+ + }
240
+ +
241
+ + func (p *servicePackage) SDKResources(ctx context.Context) []*types.ServicePackageSDKResource {
242
+ + return []*types.ServicePackageSDKResource{
243
+ + {
244
+ + Factory: ResourceBucketLegacy,
245
+ + TypeName: "aws_s3_bucket_legacy",
246
+ + Name: "BucketLegacy",
247
+ + Tags: &types.ServicePackageResourceTags{
248
+ + IdentifierAttribute: "bucket",
249
+ + ResourceType: "Bucket",
250
+ + },
251
+ + },
252
+ + }
253
+ + }
254
+ +
255
+ + func (p *servicePackage) ServicePackageName() string {
256
+ + return "s3legacy"
257
+ + }
258
+ +
259
+ + func ServicePackage(ctx context.Context) conns.ServicePackage {
260
+ + return &servicePackage{}
261
+ + }
262
+ +
263
+ + // import (
264
+ + // "context"
265
+ +
266
+ + // "github.com/aws/aws-sdk-go-v2/aws"
267
+ + // "github.com/aws/aws-sdk-go-v2/aws/retry"
268
+ + // "github.com/aws/aws-sdk-go-v2/service/s3"
269
+ + // "github.com/hashicorp/aws-sdk-go-base/v2/tfawserr"
270
+ + // "github.com/hashicorp/terraform-provider-aws/internal/conns"
271
+ + // "github.com/hashicorp/terraform-provider-aws/names"
272
+ + // )
273
+ +
274
+ + // NewClient returns a new AWS SDK for Go v2 client for this service package's AWS API.
275
+ + // func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) (*s3.Client, error) {
276
+ + // cfg := *(config["aws_sdkv2_config"].(*aws.Config))
277
+ +
278
+ + // return s3.NewFromConfig(cfg, func(o *s3.Options) {
279
+ + // if endpoint := config["endpoint"].(string); endpoint != "" {
280
+ + // o.BaseEndpoint = aws.String(endpoint)
281
+ + // } else if o.Region == names.USEast1RegionID && config["s3_us_east_1_regional_endpoint"].(string) != "regional" {
282
+ + // // Maintain the AWS SDK for Go v1 default of using the global endpoint in us-east-1.
283
+ + // // See https://github.com/hashicorp/terraform-provider-aws/issues/33028.
284
+ + // o.Region = names.GlobalRegionID
285
+ + // }
286
+ + // o.UsePathStyle = config["s3_use_path_style"].(bool)
287
+ +
288
+ + // o.Retryer = conns.AddIsErrorRetryables(cfg.Retryer().(aws.RetryerV2), retry.IsErrorRetryableFunc(func(err error) aws.Ternary {
289
+ + // if tfawserr.ErrMessageContains(err, errCodeOperationAborted, "A conflicting conditional operation is currently in progress against this resource. Please try again.") {
290
+ + // return aws.TrueTernary
291
+ + // }
292
+ + // return aws.UnknownTernary // Delegate to configured Retryer.
293
+ + // }))
294
+ + // }), nil
295
+ + // }
0 commit comments