@@ -9,10 +9,11 @@ import (
9
9
"log"
10
10
"strings"
11
11
12
- "github.com/aws/aws-sdk-go/aws"
13
- "github.com/aws/aws-sdk-go/aws/arn"
14
- "github.com/aws/aws-sdk-go/service/s3control"
15
- "github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr"
12
+ "github.com/aws/aws-sdk-go-v2/aws"
13
+ "github.com/aws/aws-sdk-go-v2/aws/arn"
14
+ "github.com/aws/aws-sdk-go-v2/service/s3control"
15
+ "github.com/aws/aws-sdk-go-v2/service/s3control/types"
16
+ "github.com/hashicorp/aws-sdk-go-base/v2/tfawserr"
16
17
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
17
18
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry"
18
19
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -156,14 +157,13 @@ func resourceAccessPoint() *schema.Resource {
156
157
}
157
158
158
159
func resourceAccessPointCreate (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
159
- conn := meta .(* conns.AWSClient ).S3ControlConn (ctx )
160
+ conn := meta .(* conns.AWSClient ).S3ControlClient (ctx )
160
161
161
162
accountID := meta .(* conns.AWSClient ).AccountID
162
163
if v , ok := d .GetOk ("account_id" ); ok {
163
164
accountID = v .(string )
164
165
}
165
166
name := d .Get ("name" ).(string )
166
-
167
167
input := & s3control.CreateAccessPointInput {
168
168
AccountId : aws .String (accountID ),
169
169
Bucket : aws .String (d .Get ("bucket" ).(string )),
@@ -182,20 +182,18 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta
182
182
input .VpcConfiguration = expandVPCConfiguration (v .([]interface {})[0 ].(map [string ]interface {}))
183
183
}
184
184
185
- output , err := conn .CreateAccessPointWithContext (ctx , input )
185
+ output , err := conn .CreateAccessPoint (ctx , input )
186
186
187
187
if err != nil {
188
188
return diag .Errorf ("creating S3 Access Point (%s): %s" , name , err )
189
189
}
190
190
191
- resourceID , err := AccessPointCreateResourceID (aws .StringValue (output .AccessPointArn ))
192
-
191
+ resourceID , err := AccessPointCreateResourceID (aws .ToString (output .AccessPointArn ))
193
192
if err != nil {
194
193
return diag .FromErr (err )
195
194
}
196
195
197
196
accountID , name , err = AccessPointParseResourceID (resourceID )
198
-
199
197
if err != nil {
200
198
return diag .FromErr (err )
201
199
}
@@ -205,7 +203,7 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta
205
203
if v , ok := d .GetOk ("policy" ); ok && v .(string ) != "" && v .(string ) != "{}" {
206
204
policy , err := structure .NormalizeJsonString (v .(string ))
207
205
if err != nil {
208
- return diag .Errorf ( "policy (%s) is invalid JSON: %s" , v .( string ), err )
206
+ return diag .FromErr ( err )
209
207
}
210
208
211
209
input := & s3control.PutAccessPointPolicyInput {
@@ -214,7 +212,7 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta
214
212
Policy : aws .String (policy ),
215
213
}
216
214
217
- _ , err = conn .PutAccessPointPolicyWithContext (ctx , input )
215
+ _ , err = conn .PutAccessPointPolicy (ctx , input )
218
216
219
217
if err != nil {
220
218
return diag .Errorf ("creating S3 Access Point (%s) policy: %s" , d .Id (), err )
@@ -225,17 +223,14 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta
225
223
}
226
224
227
225
func resourceAccessPointRead (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
228
- conn := meta .(* conns.AWSClient ).S3ControlConn (ctx )
226
+ conn := meta .(* conns.AWSClient ).S3ControlClient (ctx )
229
227
230
228
accountID , name , err := AccessPointParseResourceID (d .Id ())
231
-
232
229
if err != nil {
233
230
return diag .FromErr (err )
234
231
}
235
232
236
- s3OnOutposts := arn .IsARN (name )
237
-
238
- output , err := FindAccessPointByTwoPartKey (ctx , conn , accountID , name )
233
+ output , err := findAccessPointByTwoPartKey (ctx , conn , accountID , name )
239
234
240
235
if ! d .IsNewResource () && tfresource .NotFound (err ) {
241
236
log .Printf ("[WARN] S3 Access Point (%s) not found, removing from state" , d .Id ())
@@ -247,9 +242,10 @@ func resourceAccessPointRead(ctx context.Context, d *schema.ResourceData, meta i
247
242
return diag .Errorf ("reading S3 Access Point (%s): %s" , d .Id (), err )
248
243
}
249
244
245
+ s3OnOutposts := arn .IsARN (name )
246
+
250
247
if s3OnOutposts {
251
248
accessPointARN , err := arn .Parse (name )
252
-
253
249
if err != nil {
254
250
return diag .FromErr (err )
255
251
}
@@ -262,8 +258,8 @@ func resourceAccessPointRead(ctx context.Context, d *schema.ResourceData, meta i
262
258
AccountID : accessPointARN .AccountID ,
263
259
Resource : strings .Replace (
264
260
accessPointARN .Resource ,
265
- fmt .Sprintf ("accesspoint/%s" , aws .StringValue (output .Name )),
266
- fmt .Sprintf ("bucket/%s" , aws .StringValue (output .Bucket )),
261
+ fmt .Sprintf ("accesspoint/%s" , aws .ToString (output .Name )),
262
+ fmt .Sprintf ("bucket/%s" , aws .ToString (output .Bucket )),
267
263
1 ,
268
264
),
269
265
}
@@ -277,7 +273,7 @@ func resourceAccessPointRead(ctx context.Context, d *schema.ResourceData, meta i
277
273
Service : "s3" ,
278
274
Region : meta .(* conns.AWSClient ).Region ,
279
275
AccountID : accountID ,
280
- Resource : fmt .Sprintf ("accesspoint/%s" , aws .StringValue (output .Name )),
276
+ Resource : fmt .Sprintf ("accesspoint/%s" , aws .ToString (output .Name )),
281
277
}
282
278
283
279
d .Set ("arn" , accessPointARN .String ())
@@ -287,8 +283,8 @@ func resourceAccessPointRead(ctx context.Context, d *schema.ResourceData, meta i
287
283
d .Set ("account_id" , accountID )
288
284
d .Set ("alias" , output .Alias )
289
285
d .Set ("bucket_account_id" , output .BucketAccountId )
290
- d .Set ("domain_name" , meta .(* conns.AWSClient ).RegionalHostname (fmt .Sprintf ("%s-%s.s3-accesspoint" , aws .StringValue (output .Name ), accountID )))
291
- d .Set ("endpoints" , aws . StringValueMap ( output .Endpoints ) )
286
+ d .Set ("domain_name" , meta .(* conns.AWSClient ).RegionalHostname (fmt .Sprintf ("%s-%s.s3-accesspoint" , aws .ToString (output .Name ), accountID )))
287
+ d .Set ("endpoints" , output .Endpoints )
292
288
d .Set ("name" , output .Name )
293
289
d .Set ("network_origin" , output .NetworkOrigin )
294
290
if output .PublicAccessBlockConfiguration != nil {
@@ -306,7 +302,7 @@ func resourceAccessPointRead(ctx context.Context, d *schema.ResourceData, meta i
306
302
d .Set ("vpc_configuration" , nil )
307
303
}
308
304
309
- policy , status , err := FindAccessPointPolicyAndStatusByTwoPartKey (ctx , conn , accountID , name )
305
+ policy , status , err := findAccessPointPolicyAndStatusByTwoPartKey (ctx , conn , accountID , name )
310
306
311
307
if err == nil && policy != "" {
312
308
if s3OnOutposts {
@@ -332,10 +328,9 @@ func resourceAccessPointRead(ctx context.Context, d *schema.ResourceData, meta i
332
328
}
333
329
334
330
func resourceAccessPointUpdate (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
335
- conn := meta .(* conns.AWSClient ).S3ControlConn (ctx )
331
+ conn := meta .(* conns.AWSClient ).S3ControlClient (ctx )
336
332
337
333
accountID , name , err := AccessPointParseResourceID (d .Id ())
338
-
339
334
if err != nil {
340
335
return diag .FromErr (err )
341
336
}
@@ -344,7 +339,7 @@ func resourceAccessPointUpdate(ctx context.Context, d *schema.ResourceData, meta
344
339
if v , ok := d .GetOk ("policy" ); ok && v .(string ) != "" && v .(string ) != "{}" {
345
340
policy , err := structure .NormalizeJsonString (v .(string ))
346
341
if err != nil {
347
- return diag .Errorf ( "policy (%s) is invalid JSON: %s" , v .( string ), err )
342
+ return diag .FromErr ( err )
348
343
}
349
344
350
345
input := & s3control.PutAccessPointPolicyInput {
@@ -353,16 +348,18 @@ func resourceAccessPointUpdate(ctx context.Context, d *schema.ResourceData, meta
353
348
Policy : aws .String (policy ),
354
349
}
355
350
356
- _ , err = conn .PutAccessPointPolicyWithContext (ctx , input )
351
+ _ , err = conn .PutAccessPointPolicy (ctx , input )
357
352
358
353
if err != nil {
359
354
return diag .Errorf ("updating S3 Access Point (%s) policy: %s" , d .Id (), err )
360
355
}
361
356
} else {
362
- _ , err := conn . DeleteAccessPointPolicyWithContext ( ctx , & s3control.DeleteAccessPointPolicyInput {
357
+ input := & s3control.DeleteAccessPointPolicyInput {
363
358
AccountId : aws .String (accountID ),
364
359
Name : aws .String (name ),
365
- })
360
+ }
361
+
362
+ _ , err := conn .DeleteAccessPointPolicy (ctx , input )
366
363
367
364
if err != nil {
368
365
return diag .Errorf ("deleting S3 Access Point (%s) policy: %s" , d .Id (), err )
@@ -374,16 +371,15 @@ func resourceAccessPointUpdate(ctx context.Context, d *schema.ResourceData, meta
374
371
}
375
372
376
373
func resourceAccessPointDelete (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
377
- conn := meta .(* conns.AWSClient ).S3ControlConn (ctx )
374
+ conn := meta .(* conns.AWSClient ).S3ControlClient (ctx )
378
375
379
376
accountID , name , err := AccessPointParseResourceID (d .Id ())
380
-
381
377
if err != nil {
382
378
return diag .FromErr (err )
383
379
}
384
380
385
381
log .Printf ("[DEBUG] Deleting S3 Access Point: %s" , d .Id ())
386
- _ , err = conn .DeleteAccessPointWithContext (ctx , & s3control.DeleteAccessPointInput {
382
+ _ , err = conn .DeleteAccessPoint (ctx , & s3control.DeleteAccessPointInput {
387
383
AccountId : aws .String (accountID ),
388
384
Name : aws .String (name ),
389
385
})
@@ -399,13 +395,13 @@ func resourceAccessPointDelete(ctx context.Context, d *schema.ResourceData, meta
399
395
return nil
400
396
}
401
397
402
- func FindAccessPointByTwoPartKey (ctx context.Context , conn * s3control.S3Control , accountID string , name string ) (* s3control.GetAccessPointOutput , error ) {
398
+ func findAccessPointByTwoPartKey (ctx context.Context , conn * s3control.Client , accountID , name string ) (* s3control.GetAccessPointOutput , error ) {
403
399
input := & s3control.GetAccessPointInput {
404
400
AccountId : aws .String (accountID ),
405
401
Name : aws .String (name ),
406
402
}
407
403
408
- output , err := conn .GetAccessPointWithContext (ctx , input )
404
+ output , err := conn .GetAccessPoint (ctx , input )
409
405
410
406
if tfawserr .ErrCodeEquals (err , errCodeNoSuchAccessPoint ) {
411
407
return nil , & retry.NotFoundError {
@@ -468,12 +464,12 @@ func AccessPointParseResourceID(id string) (string, string, error) {
468
464
return "" , "" , fmt .Errorf ("unexpected format for ID (%[1]s), expected account-id%[2]saccess-point-name" , id , accessPointResourceIDSeparator )
469
465
}
470
466
471
- func expandVPCConfiguration (tfMap map [string ]interface {}) * s3control .VpcConfiguration {
467
+ func expandVPCConfiguration (tfMap map [string ]interface {}) * types .VpcConfiguration {
472
468
if tfMap == nil {
473
469
return nil
474
470
}
475
471
476
- apiObject := & s3control .VpcConfiguration {}
472
+ apiObject := & types .VpcConfiguration {}
477
473
478
474
if v , ok := tfMap ["vpc_id" ].(string ); ok {
479
475
apiObject .VpcId = aws .String (v )
@@ -482,15 +478,15 @@ func expandVPCConfiguration(tfMap map[string]interface{}) *s3control.VpcConfigur
482
478
return apiObject
483
479
}
484
480
485
- func flattenVPCConfiguration (apiObject * s3control .VpcConfiguration ) map [string ]interface {} {
481
+ func flattenVPCConfiguration (apiObject * types .VpcConfiguration ) map [string ]interface {} {
486
482
if apiObject == nil {
487
483
return nil
488
484
}
489
485
490
486
tfMap := map [string ]interface {}{}
491
487
492
488
if v := apiObject .VpcId ; v != nil {
493
- tfMap ["vpc_id" ] = aws .StringValue (v )
489
+ tfMap ["vpc_id" ] = aws .ToString (v )
494
490
}
495
491
496
492
return tfMap
0 commit comments